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
Hashes for whatsapp-api-client-python-0.0.20.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ceea5ea46ec4b4926f84c86d06d9efe4a496341e89e682830aeb792f1972651 |
|
MD5 | dacc25c662ee70711c8eab5a818053bc |
|
BLAKE2b-256 | d3842531cc758c36dc44a9ffa3f2daaabe1ac7899343d1ff16e7dca8acb33c65 |
Hashes for whatsapp_api_client_python-0.0.20-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08ed5994176fa7ef0a6c41a7f2a2e7d769c17dac065d8c9c1abb96860be1ea04 |
|
MD5 | 6bbafe3df7915a7dfc0f16c0004e71e6 |
|
BLAKE2b-256 | 2d6ab43c073b8785c89b04ea19a78029009b874e5f97346d105c6f9ec61b588e |