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

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

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.19.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for whatsapp-api-client-python-0.0.19.tar.gz
Algorithm Hash digest
SHA256 fc72cf1567f804aa7e3fbbf4f738d3c7d89d261584b2bc88cc7d71dd16e5a8f6
MD5 ab23537b609fce3155e9208edd55eee2
BLAKE2b-256 982b2958e445649f771dd90c759bdbcbc59bb43ec38103bc99208355426c819e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whatsapp_api_client_python-0.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 6d9037f4272aebf6af0060f6662e028bcaa0c4c66e57618eac92c0507d38cd24
MD5 e3d11c346d2abebce51b374ade61f255
BLAKE2b-256 75626f3635789c2a611b68f28546688ac393aa4eb135dac522d4d83589576f81

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