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')

ВАЖНО: Если попытаться создать группу с несуществующим номером WhatsApp может заблокировать номер отправителя. Номер в примере не существует.

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

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

resultReceive = restApi.receiving.receiveNotification()

Список примеров

Описание Модуль
Пример отправки текста sendText.py
Пример отправки картинки по URL sendPictureByLink.py
Пример отправки картинки загрузкой с диска sendPictureByUpload.py
Пример создание группы и отправка сообщения в группу createGroupAndSendMessage.py
Пример получения входящих уведомлений 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 Метод добавляет участника в групповой чат. ВАЖНО: Если попытаться создать группу с несуществующим номером WhatsApp может заблокировать номер отправителя. 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
serviceMethods.setDisappearingChat Метод предназначен для изменения настроек исчезающих сообщений в чатах SetDisappearingChat.md
webhooks.startReceivingNotifications Метод предназначен для запуска получения вебхуков <библиотечный метод>
webhooks.stopReceivingNotifications Метод предназначен для остановки получения вебхуков <библиотечный метод>

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

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

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

  • 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.21.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file whatsapp-api-client-python-0.0.21.tar.gz.

File metadata

File hashes

Hashes for whatsapp-api-client-python-0.0.21.tar.gz
Algorithm Hash digest
SHA256 7ad2084db919807f60c0573918b1a1422b725b7d16b18e2a249906e2986b4fb4
MD5 e8ade4de9338181c227afc0749c9f77f
BLAKE2b-256 8fb80ff5a9462390b80b123ecf5f626df592be2bb42574b6244a5ce50a5f2630

See more details on using hashes here.

File details

Details for the file whatsapp_api_client_python-0.0.21-py3-none-any.whl.

File metadata

File hashes

Hashes for whatsapp_api_client_python-0.0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 36eb70b140ab3804c7cd04de6351cefeee4c9345224d39599c690567654b9bbf
MD5 b45df05cabaec20621becf4ab59d7d46
BLAKE2b-256 7065f41b9ee10cad60b0718c1fa51158d96133f9812dfe8a66b24ad63b407542

See more details on using hashes here.

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