API
SDK · Python

WhatsApp API для Python

waix-python собирает запросы к API v1, передаёт ключ авторизации и возвращает ответы WAIX. Вы работаете с сообщениями и кодами подтверждения из своего приложения.

Подготовьте подключение

Python 3.10 или новее. Клиент использует стандартную библиотеку и содержит аннотации типов. Запросы синхронные: в асинхронном приложении вызывайте их через рабочий поток.

Для сообщений подключите свой номер и создайте API-ключ. Найдите Connection ID в кабинете, одобрите шаблон order_ready с одной переменной или замените пример на свой шаблон.

Установите SDK

Пакет опубликован в PyPI. Русская инструкция, примеры и исходный код доступны в его репозитории.

shell
python -m pip install waix-python

Отправьте уведомление о заказе

Ключ и Connection ID читаются из переменных окружения на сервере. UUID операции сохраните в базе до вызова SDK. Пример использует шаблон с одной переменной — номером заказа.

Python
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 клиентам, подайте заявку в партнёрскую программу.

Создать аккаунт →Партнёрская программа