Skip to main content

This library helps you easily create a python ' 'application to connect the WhatsApp API using service green-api.com

Project description

whatsapp-api-client-python

Python application Upload Python Package

Python библиотека для интеграции с мессенджером WhatsAPP через API сервиса green-api.com. Чтобы воспользоваться библиотекой нужно получить регистрационный токен и id аккаунта в личном кабинете. Есть бесплатный тариф аккаунта разработчика.

API

Документация к REST API находится по ссылке. Библиотека является оберткой к REST API, поэтому документация по ссылке выше применима и к самой библиотеке.

Установка

pip install whatsapp-api-client-python

Import

from whatsapp_api_client_python import API

Авторизация

Чтобы отправить сообщение или выполнить другой метод Green-API, аккаунт WhatsApp в приложении телефона должен быть в авторизованном состоянии. Для авторизации аккаунта перейдите в личный кабинет и сканируйте QR-код с использованием приложения WhatsApp.

Примеры

Как инициализировать объект

restApi = API.RestApi('https://api.green-api.com', 
                        ID_INSTANCE, 
                        API_TOKEN_INSTANCE)

Отправка текстового сообщения на номер WhatsApp

result = restApi.sending.sendMessage('79001234567@g.us', 'Message text')

Ссылка на пример: sendText.py

Обратите внимание, что ключи можно получать из переменных среды:

from os import environ

ID_INSTANCE = environ['ID_INSTANCE']
API_TOKEN_INSTANCE = environ['API_TOKEN_INSTANCE']

Отправка картинки по URL

result = restApi.sending.sendFileByUrl('120363025955348359@g.us', 
        'https://www.google.ru/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png', 
        'googlelogo_color_272x92dp.png', 'Google logo')

Ссылка на пример: sendPictureByLink.py

Отправка картинки загрузкой с диска

result = restApi.sending.sendFileByUpload('120363025955348359@g.us', 
        'C:\Games\PicFromDisk.png', 
        'PicFromDisk.png', 'Picture from disk')

Ссылка на пример: sendPictureByUpload.py

Создание группы и отправка сообщения в эту группу

chatIds = [
    "79001234567@c.us"
]
resultCreate = restApi.groups.createGroup('GroupName', 
    chatIds)

if resultCreate.code == 200:
    resultSend = restApi.sending.sendMessage(resultCreate.data['chatId'], 
        'Message text')

Ссылка на пример: createGroupAndSendMessage.py

Получить входящие уведомления

resultReceive = restApi.receiving.receiveNotification()

Ссылка на пример: receiveNotification.py

Полный список методов библиотеки

Метод Описание Документация
account.getSettings Метод предназначен для получения текущих настроек аккаунта GetSettings.md
account.getStateInstance Метод предназначен для получения состояния аккаунта GetStateInstance.md
account.getStatusInstance Метод предназначен для получения состояния сокета соединения инстанса аккаунта с WhatsApp GetStatusInstance.md
account.logout Метод предназначен для разлогинивания аккаунта Logout.md
account.qr Метод предназначен для получения QR-кода QR.md
account.reboot Метод предназначен для перезапуска аккаунта Reboot.md
account.setProfilePicture Метод предназначен для установки аватара аккаунта SetProfilePicture.md
account.setSettings Метод предназначен для установки настроек аккаунта SetSettings.md
account.setSystemProxy Метод предназначен для установки системного прокси. Нужно используйте метод, когда требуется сбросить пользовательские настройки прокси на системные SetSystemProxy.md
groups.addGroupParticipant Метод добавляет участника в групповой чат AddGroupParticipant.md
groups.createGroup Метод добавляет участника в групповой чат CreateGroup.md
groups.getGroupData Метод получает данные группового чата GetGroupData.md
groups.leaveGroup Метод производит выход пользователя текущего аккаунта из группового чата LeaveGroup.md
groups.removeAdmin Метод лишает участника прав администрирования группового чата RemoveAdmin.md
groups.removeGroupParticipant Метод удаляет участника из группового чата RemoveGroupParticipant.md
groups.setGroupAdmin Метод назначает участника группового чата администратором SetGroupAdmin.md
groups.setGroupPicture Метод устанавливает аватар группы SetGroupPicture.md
groups.updateGroupName Метод изменяет наименование группового чата UpdateGroupName.md
journals.getChatHistory Метод возвращает историю сообщений чата GetChatHistory.md
journals.lastIncomingMessages Метод возвращает крайние входящие сообщения аккаунта. По умолчанию возвращаются последние сообщения за 24 часа GetChatHistory.md
journals.lastOutgoingMessages Метод возвращает крайние отправленные сообщения аккаунта. По умолчанию возвращаются последние сообщения за 24 часа LastOutgoingMessages.md
marking.readChat Метод предназначен для отметки сообщений в чате прочитанными. Могут быть отмечены прочитанными все сообщения в чате или только одно заданное сообщение ReadChat.md
device.getDeviceInfo Метод предназначен для получения информации об устройстве (телефоне), на котором запущено приложение WhatsApp Business GetDeviceInfo.md
queues.clearMessagesQueue Метод предназначен для очистки очереди сообщений на отправку ClearMessagesQueue.md
queues.showMessagesQueue Метод предназначен для получения списка сообщений, находящихся в очереди на отправку ShowMessagesQueue.md
receiving.deleteNotification Метод предназначен для удаления входящего уведомления из очереди уведомлений DeleteNotification.md
receiving.receiveNotification Метод предназначен для получения одного входящего уведомления из очереди уведомлений ReceiveNotification.md
sending.sendButtons Метод предназначен для отправки сообщения с кнопками в личный или групповой чат SendButtons.md
sending.sendContact Метод предназначен для отправки сообщения с контактом SendContact.md
sending.sendFileByUpload Метод предназначен для отправки файла, загружаемого через форму SendFileByUpload.md
sending.sendFileByUrl Метод предназначен для отправки файла, загружаемого по ссылке SendFileByUrl.md
sending.sendLink Метод предназначен для отправки сообщения со ссылкой, по которой будут добавлены превью изображения, заголовок и описание SendLink.md
sending.sendListMessage Метод предназначен для отправки сообщения с кнопкой выбора из списка значений в личный или групповой чат SendListMessage.md
sending.sendLocation Метод предназначен для отправки сообщения геолокации SendLocation.md
sending.sendMessage Метод предназначен для отправки текстового сообщения в личный или групповой чат SendMessage.md
sending.sendTemplateButtons Метод предназначен для отправки сообщения с интерактивными кнопками из перечня шаблонов в личный или групповой чат SendTemplateButtons.md
serviceMethods.checkWhatsapp Метод проверяет наличие аккаунта WhatsApp на номере телефона CheckWhatsapp.md
serviceMethods.getAvatar Метод возвращает аватар корреспондента или группового чата GetAvatar.md
serviceMethods.getContactInfo Метод предназначен для получения информации о контакте GetContactInfo.md
serviceMethods.getContacts Метод предназначен для получения списка контактов текущего аккаунта GetContacts.md
serviceMethods.setDisappearingChat Метод предназначен для изменения настроек исчезающих сообщений в чатах. Нужно использовать стандартные настройки приложения: 0 (выключено), 86400 (24 часа), 604800 (7 дней), 7776000 (90 дней) SetDisappearingChat.md
serviceMethods.archiveChat Метод архивирует чат. Архивировать можно чаты, в которых есть хотя бы одно входящее сообщение ArchiveChat.md
serviceMethods.deleteMessage Метод удаляет сообщение из чата DeleteMessage.md
serviceMethods.unarchiveChat Метод разархивирует чат UnarchiveChat.md

Документация по методам сервиса

https://github.com/green-api/docs

Сторонние продукты

  • requests - для http запросов

Лицензия

Лицензировано на условиях MIT. Смотрите файл LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whatsapp-api-client-python-0.0.16a0.tar.gz (15.9 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page