Сравнение провайдеров
Авторизация WhatsApp
WhatsApp поддерживает QR-сопряжение и сопряжение по номеру телефона через стандартные эндпоинты аутентификации.
qrcode
WhatsApp QR-сопряжение: вызовите /auth/qr/start, чтобы начать сессию устройства. QR-токен приходит через account.auth.required и также доступен для опроса через /auth/qr/check.
- 1. POST /v1/accounts с provider=whatsapp, auth_mode=qrcode. По желанию задайте provider_data.device_os / device_platform / proxy_config, чтобы управлять отображаемой на телефоне сигнатурой устройства.
- 2. POST /v1/accounts/{account_id}/auth/qr/start запускает устройство. Возвращается status=awaiting_qr_scan, но сама строка QR приходит асинхронно.
- 3. Слушайте событие account.auth.required на webhook — auth_payload.qr_code содержит строку, которую UI должен отрисовать как сканируемый QR. Альтернатива — опрос /auth/qr/check.
- 4. После сканирования приходит events.PairSuccess (account.auth.succeeded) с JID устройства, за ним events.Connected (account.started). POST /v1/accounts/{account_id}/runtime/start после этого становится no-op.
provider_data.device_os— Метка ОС устройства, отображаемая на экране «Связанные устройства». По умолчанию MacOS. Нужно задавать вместе с device_platform — допустимые комбинации см. в таблице платформ выше по потоку.provider_data.device_platform— Числовой код платформы устройства (1=CHROME, 2=FIREFOX, 5=SAFARI, 14=IOS_PHONE, 16=ANDROID_PHONE, ...). Действует только в паре с device_os.provider_data.proxy_config— Необязательная конфигурация сетевой маршрутизации для корпоративных развертываний.
code
WhatsApp по номеру телефона: сохраните номер на аккаунте при создании, затем введите на телефоне 8-значный verify_code в «Связанные устройства → Связать по номеру телефона».
- 1. POST /v1/accounts с provider=whatsapp, auth_mode=code и provider_data.phone в формате E.164 (только цифры). Номер сохраняется на аккаунте и автоматически переиспользуется последующими действиями аутентификации.
- 2. POST /v1/accounts/{account_id}/auth/start с пустым телом. Сохранённый номер переиспользуется; в ответе под auth_payload приходит 8-значный verify_code.
- 3. Покажите verify_code пользователю. Телефон принимает его около 3 минут; по истечении этого времени поток нужно перезапустить.
- 4. После сопряжения приходят events.PairSuccess и events.Connected через webhook — как и в QR-потоке.
provider_data.phone— Номер телефона в E.164 (только цифры, например 15551234567). Указывается в provider_data.phone при создании аккаунта; последующие действия аутентификации автоматически переиспользуют его.
Примечания
- QR приходит через webhook-событие account.auth.required, а не синхронно в ответе на /auth/qr/start. Подключите webhook-приёмник до запуска потока.
- Полученный из /auth/start verify_code показывается конечному пользователю и НЕ возвращается обратно в API. WhatsApp ожидает, что пользователь введёт его на телефоне в течение ~3 минут.
- Реакции приходят в виде events.Message + Message.reactionMessage, но платформа отображает их как message.reaction (эмодзи в data.event.reaction, id исходного сообщения в data.message.target_message_id).
- Медиа, превышающее лимиты вышестоящего сервиса (аудио 50 MB / видео 60 MB / документы 50 MB), отдаётся с пустым url и metadata.is_big_file=true.