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 библиотека для интеграции с мессенджером 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file whatsapp-api-client-python-0.0.21.tar.gz
.
File metadata
- Download URL: whatsapp-api-client-python-0.0.21.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ad2084db919807f60c0573918b1a1422b725b7d16b18e2a249906e2986b4fb4 |
|
MD5 | e8ade4de9338181c227afc0749c9f77f |
|
BLAKE2b-256 | 8fb80ff5a9462390b80b123ecf5f626df592be2bb42574b6244a5ce50a5f2630 |
File details
Details for the file whatsapp_api_client_python-0.0.21-py3-none-any.whl
.
File metadata
- Download URL: whatsapp_api_client_python-0.0.21-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36eb70b140ab3804c7cd04de6351cefeee4c9345224d39599c690567654b9bbf |
|
MD5 | b45df05cabaec20621becf4ab59d7d46 |
|
BLAKE2b-256 | 7065f41b9ee10cad60b0718c1fa51158d96133f9812dfe8a66b24ad63b407542 |