WhatsApp API для Python
waix-python собирает запросы к API v1, передаёт ключ авторизации и возвращает ответы WAIX. Вы работаете с сообщениями и кодами подтверждения из своего приложения.
Подготовьте подключение
Python 3.10 или новее. Клиент использует стандартную библиотеку и содержит аннотации типов. Запросы синхронные: в асинхронном приложении вызывайте их через рабочий поток.
Для сообщений подключите свой номер и создайте API-ключ. Найдите Connection ID в кабинете, одобрите шаблон order_ready с одной переменной или замените пример на свой шаблон.
Установите SDK
Пакет опубликован в PyPI. Русская инструкция, примеры и исходный код доступны в его репозитории.
python -m pip install waix-pythonОтправьте уведомление о заказе
Ключ и Connection ID читаются из переменных окружения на сервере. UUID операции сохраните в базе до вызова SDK. Пример использует шаблон с одной переменной — номером заказа.
import os
import uuid
from waix import Waix
waix = Waix(os.environ['WAIX_API_KEY'])
# Сохраните UUID в записи заказа до отправки.
event_id = str(uuid.uuid4())
result = waix.messages.send({
'connection_id': os.environ['WAIX_CONNECTION_ID'],
'to': '+77071234567', 'type': 'template',
'template': {
'name': 'order_ready', 'language': {'code': 'ru'},
'components': [{'type': 'body', 'parameters': [
{'type': 'text', 'text': '42'}
]}]
}
}, event_id)Обработайте результат
Методы возвращают весь ответ API, включая data и курсор следующей страницы. HTTP 202 означает, что сообщение поставлено в очередь. Статус доставки проверяется по вебхуку или в журнале.
При ошибке доступны status, code, request_id, retry_after. Тайм-аут по умолчанию — 30 секунд. Автоматических повторов нет: при сетевом сбое сохраните исходные параметры и ключ идемпотентности.
OTP и подписи вебхуков
Для OTP создайте отдельный проект и ключ с нужными правами. Доступны отправка, проверка и статус. Начните с sandbox, затем проверьте доступность рабочей отправки в кабинете.
Проверяйте HMAC вебхука на исходных байтах до разбора JSON. SDK учитывает подпись и время запроса. В приложении также сохраняйте ID события, чтобы не обработать повторную доставку дважды.
Исходный код, тесты и релизы ↗Сколько стоит подключение
Для собственного номера оплачивается подписка WAIX в тенге, а сообщения — напрямую Meta с карты в вашем WhatsApp Business Account. Количество номеров и сумму можно рассчитать на странице тарифа. OTP оплачивается отдельным пакетом.
Проверьте интеграцию на своём сценарии
Начните с подключения номера и одного сообщения. Если внедряете WhatsApp клиентам, подайте заявку в партнёрскую программу.
Создать аккаунт →Партнёрская программа