This library helps you easily create a python ' 'server application to get webhooks the WhatsApp API events ' 'using service green-api.com
Project description
whatsapp-api-webhook-server-python
Python библиотека для интеграции с мессенджером WhatsAPP через API сервиса green-api.com. Чтобы воспользоваться библиотекой нужно получить регистрационный токен и id аккаунта в личном кабинете. Есть бесплатный тариф аккаунта разработчика.
API
Документация к REST API находится по ссылке. Библиотека является оберткой к REST API, поэтому документация по ссылке выше применима и к самой библиотеке.
Подготовка среды
На машине должен быть установлен Python 3 последней версии, который можно скачать с официального сайта: python.org
Пример подготовки среды сервера на операционной системе Ubuntu
Ubuntu 20.04 и выше поставляются с предустановленным Python 3. Обновим систему:
sudo apt update
sudo apt -y upgrade
Нужно настроить правила брандмауэра. В Ubuntu брандмауэр UFW установлен по умолчанию, но если по какой-то причине он не установлен, установим:
sudo apt install ufw
Сначала создадим правила брандмауэра по-умолчанию:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Если мы сейчас активируем брандмауэр UFW, все входящие соединения будут запрещены. Чтобы после активации бранмауэра нам было доступно соединение по SSH нужно добавить правила:
sudo ufw allow ssh
Соединения HTTP на порту 80, которые используются веб-серверами без шифрования, с помощью команды:
sudo ufw allow http
Соединения HTTPS на порту 443, которые используются веб-серверами с шифрованием, с помощью команды:
sudo ufw allow https
Если на вашем сервере имеется публичный сетевой интерфейс под названием eth0, вы можете разрешить трафик HTTP (порт 80) для этого интерфейса с помощью следующей команды:
sudo ufw allow in on eth0 to any port 80
Название сетевого интерфейса можно узнать с помощью команды:
ip addr
Активация брандмауэра UFW:
sudo ufw enable
Теперь наш сервер может принимать входящие запросы на указанный нами порт.
Установим систему управления пакетами pip, если он не содержиться в дистрибутиве ОС:
sudo apt install -y python3-pip
Теперь можно устанавливать нашу библиотеку.
Установка библиотеки:
pip3 install whatsapp-api-webhook-server-python
Можно в качестве примера запустить на сервере наш скрипт echo.py, он будет выводить в консоль информацию о полученных вэбхуках:
wget https://raw.githubusercontent.com/green-api/whatsapp-api-webhook-server-python/master/examples/echo.py
python3 echo.py
Запуск сервера
Для использования в ваших решениях достаточно импортировать класс webhooksHandler
import whatsapp_api_webhook_server_python.webhooksHandler as webhooksHandler
Страт сервера:
webhooksHandler.startServer('127.0.0.1', 80, onEvent)
onEvent - метод обработки вебхуков, который определяет разработчик. В методе должно быть три параметра:
- webhooksHandler - экземляр класса библиотеки
- typeWebhook - тип вебхука
- body - тело сообщения
См. пример echo.py
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
Built Distribution
File details
Details for the file whatsapp-api-webhook-server-python-0.0.5.tar.gz
.
File metadata
- Download URL: whatsapp-api-webhook-server-python-0.0.5.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64a36e65838a706d611efab1d398a27c61fcb99ba96ea43850aea38182da385a |
|
MD5 | 2527269994db08b271ca71735f815f92 |
|
BLAKE2b-256 | e5744b3bdaeaeced2a17218bbf7abceeafb96867d592acd0d9fa9b9753fe189d |
File details
Details for the file whatsapp_api_webhook_server_python-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: whatsapp_api_webhook_server_python-0.0.5-py3-none-any.whl
- Upload date:
- Size: 5.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 | 2e634cfc800af107103ad4ee44ed2883d08feb22e07e015392e7708c9d8f8663 |
|
MD5 | 548dcb2eb53c64589db96647cd712a4a |
|
BLAKE2b-256 | afad83f1dc15935d735ae743165d464e2c7f457e5bf58d004bd24a78ac8fd6e9 |