Что проверить после завершения WhatsApp Embedded Signup
Завершённое окно WhatsApp Embedded Signup подтверждает только окончание браузерного сценария. До активации арендатора свяжите результат с серверной сессией, проверьте token, выберите нужный WhatsApp Business Account (WABA), подтвердите права системного пользователя и состояние номера, подпишите приложение на WABA и получите один реальный webhook. Каждый пункт должен быть отдельным приёмочным условием.
Главное
FINISH_WHATSAPP_BUSINESS_APP_ONBOARDINGозначает завершение окна Coexistence, но не всех серверных шагов.- Официальная коллекция Meta требует получить общие WABA, настроить системного пользователя, зарегистрировать номер там, где это применимо, и подписать приложение на webhook WABA.
- Нельзя автоматически брать первый WABA из списка: он должен точно соответствовать текущему бизнесу и арендатору.
- Подключение кредитной линии нужно только в модели partner-paid, а не для любой интеграции.
- Готовность подтверждает реальный webhook, который попал в правильного арендатора, прошёл проверку и получил ответ.
Чек-лист после Embedded Signup
Официальная коллекция Embedded Signup Meta отделяет браузерный процесс от Graph API: получение общих WABA, добавление или проверка системных пользователей, регистрация номера, подписка приложения и, при оплате партнёром, подключение кредитной линии.
Это другой интент, чем у чек-листа миграции Embedded Signup v4. Миграция проверяет конфигурацию запуска и сохранение Coexistence; эта статья начинается после finish event и определяет доказательства для статуса «Подключено».
| Условие | Что сохранить | Риск при ошибке |
|---|---|---|
| Сессия | tenant ID, одноразовый state, configuration ID, время | Результат попадёт другому арендатору |
| Token | app, scopes, срок действия | token есть, но прав на WABA нет |
| WABA | точный WABA ID и business context | первый элемент может быть чужим |
| System user | ID и необходимая task | окно закончено, а Graph API не работает |
| Номер | phone-number ID и registration/Coexistence state | asset есть, messaging не готов |
| Подписка | WABA присутствует в subscribed_apps | Meta получает сообщение, webhook не приходит |
| Доставка | event, tenant routing, проверка и ответ | есть конфигурация, но нет E2E-доказательства |
Выполняйте проверки по порядку
1. Свяжите результат с серверной сессией
До открытия окна Meta создайте на сервере одноразовую сессию с арендатором, оператором, configuration ID и типом onboarding. Принимайте результат один раз и отклоняйте просроченный или несовпадающий state. Не помещайте token в браузерные логи, аналитику или отчёты об ошибках.
Для Coexistence сохраните официальный event FINISH_WHATSAPP_BUSINESS_APP_ONBOARDING. Другие варианты Embedded Signup обрабатывайте по их текущему контракту, а не по одному тексту или числу версии.
2. Проверьте token до использования asset ID
Через Meta token debugging убедитесь, что token принадлежит вашему app и имеет нужные разрешения. Непустой token ещё не означает авторизацию. Храните на сервере только минимальные метаданные для аудита и обновления, не сам token в логах.
3. Однозначно выберите WABA
Получите shared/client WABA, доступные business, и сопоставьте точный WABA ID с текущей сессией. В multi-tenant системе нельзя зависеть от порядка массива. При отсутствии точного совпадения оставьте verification_required, не подключайте другой asset автоматически.
4. Проверьте системного пользователя и путь номера
Запрос GET /{waba-id}/assigned_users из официальной коллекции проверяет system user; отдельно проверьте необходимую task. В стандартном Cloud API может требоваться регистрация номера. Coexistence использует номер из WhatsApp Business app, поэтому проверяйте текущее состояние, а не регистрируйте его повторно. Нужна ли эта официальная модель, помогает решить руководство по Coexistence.
5. Подпишите WABA и докажите доставку
Вызовите POST /{waba-id}/subscribed_apps с серверными credentials и перечитайте состояние. Подписка и готовность номера — разные состояния и могут завершиться независимо.
Затем отправьте контролируемое тестовое сообщение и потребуйте реальный webhook с tenant lookup, проверкой payload, дедупликацией и acknowledgement. Для UnifyPort следуйте доставке и проверке подписи webhook: проверяйте raw body, X-Device-Timestamp, X-Device-Signature и signing_secret endpoint.
Где подходит UnifyPort
UnifyPort не выполняет Meta Embedded Signup, не выдаёт права WABA, не регистрирует номер Cloud API, не подключает кредитную линию и не сохраняет Coexistence. Для Solution Partner или Tech Provider с этими требованиями нужен официальный процесс.
UnifyPort решает более узкую задачу: подключает обычный аккаунт WhatsApp и нормализует поддерживаемые входящие сообщения как message.received. Если нужен inbound queue, а не provisioning клиентских WABA, сравните три пути WhatsApp inbound и откройте руководство авторизации WhatsApp.
Ограничения и компромиссы
Чек-лист не подтверждает eligibility бизнеса Meta, App Review, display name, качество номера или compliance. Это отдельные состояния платформы. Успешный тестовый tenant не доказывает работу всех клиентских конфигураций.
Неофициальный интерфейс не выдаёт официальные Cloud API assets и не заменяет Embedded Signup для multi-tenant SaaS. И наоборот, завершённое окно не доказывает правильность tenant mapping, retry, webhook receiver или billing boundary. Храните «окно завершено» и «операционно готов» как разные состояния.
FAQ
Что означает FINISH_WHATSAPP_BUSINESS_APP_ONBOARDING?
Окно WhatsApp Business app onboarding достигло официального finish state. Сервер всё ещё должен проверить сессию, assets, права, подписку и доставку.
Достаточно ли token Embedded Signup?
Нет. Проверьте token, точный WABA, system user, путь номера и подписку webhook.
Всем ли нужна кредитная линия?
Нет. Она нужна, когда партнёр платит Meta и выставляет счёт клиенту.
Нужно ли заново регистрировать номер Coexistence?
Нет. Проверяйте его официальное состояние и синхронизацию вместо повторной стандартной регистрации.
Какой сигнал является финальным?
Минимум один контролируемый webhook должен попасть в правильный tenant и пройти проверку и ответ в receiver, близком к production.
Следующий шаг
Реализуйте условия из официальной коллекции Meta до активации арендатора. Если нужен только inbound обычного аккаунта, оцените авторизацию WhatsApp в UnifyPort.
Источники
Официальные источники проверены 2026-08-05: