Skip to main content

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 application Upload Python Package

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

File hashes

Hashes for whatsapp-api-webhook-server-python-0.0.5.tar.gz
Algorithm Hash digest
SHA256 64a36e65838a706d611efab1d398a27c61fcb99ba96ea43850aea38182da385a
MD5 2527269994db08b271ca71735f815f92
BLAKE2b-256 e5744b3bdaeaeced2a17218bbf7abceeafb96867d592acd0d9fa9b9753fe189d

See more details on using hashes here.

File details

Details for the file whatsapp_api_webhook_server_python-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for whatsapp_api_webhook_server_python-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2e634cfc800af107103ad4ee44ed2883d08feb22e07e015392e7708c9d8f8663
MD5 548dcb2eb53c64589db96647cd712a4a
BLAKE2b-256 afad83f1dc15935d735ae743165d464e2c7f457e5bf58d004bd24a78ac8fd6e9

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