Шаблоны интеграции | Документация для разработчиков
Модели интеграции
Обновлено: 25 февраля 2026 г
Возможные подходы высокого уровня
| Подход | Настройка номеров | Обязанности поставщика бизнес-решений | Обязанности поставщика услуг телефонной связи | Завершение выполнения деловых обязанностей |
|---|---|---|---|---|
|
BSP сообщений, способный вызывать |
Существующий номер для сообщений продлен для звонков или присвоения нового номера |
BSP для обмена сообщениями повторно использует свое приложение и подписывает его на веб-хуки вызовов. Создание нового приложения, предназначенного специально для вызовов, также работает, но не рекомендуется.Обработка веб-хуков вызовов и координация с инфраструктурой мультимедиа в реальном времени.Выполнение вызовов Graph API, связанных с вызовами, аналогично вызовам Graph API для обмена сообщениями. |
Неприменимо, поскольку в деле участвует только один партнер. |
Включите и используйте звонки.Продолжайте оплачивать счет через BSP, в котором теперь есть пункты, связанные с использованием звонков. |
|
Единый номер, управляемый независимо как системой обмена сообщениями (BSP), так и системой связи (BSP/TP) для вызывающих абонентов |
BSP в обмене сообщениями не вносит никаких изменений |
Обращение к хостинг-провайдерам BSP/TP через их собственный веб-сайт, указывающее на их собственное приложение,приводит к тому, что конечные клиенты обращаются через их хостинг-провайдеров. |
При подключении используйте ES партнера по вызову.Оплачивайте счета поставщику услуг обмена сообщениями (Messaging BSP) как и раньше.За операции, понесенные партнером по вызову, оплачивайте счет партнеру по вызову, если он является поставщиком услуг обмена сообщениями, или Meta, если он не является поставщиком услуг обмена сообщениями. | |
|
Эксклюзивный звонок от независимого поставщика программного обеспечения |
Новый номер для звонков |
Неприменимо, поскольку отсутствует BSP для обмена сообщениями |
Обращение к хостинг-провайдеру программного обеспечения (ISV) и размещение на его веб-сайте встроенной системы регистрации (Embedded Signup, ES) со ссылкой на собственное приложениеприводит к тому, что конечный бизнес использует их ES. Если ISV является поставщиком технологий или партнером, Meta выставляет счета конечному бизнесу напрямую. ISV и конечный бизнес самостоятельно определяют порядок выставления счетов.Если ISV является поставщиком бизнес-услуг (BSP), он может предоставить конечным компаниям свою кредитную линию. |
Внедрение через ES в TP.Если ISV является поставщиком технологий или партнером, оплачивайте Meta напрямую. Для этого конечным компаниям необходимо иметь прямые платежные отношения с Meta. Настройка этих отношений может занять несколько недель.Если ISV является BSP, оплачивайте счет через BSP. |
|
Многоплатформенное решение с использованием Calling ISV, зарегистрированного в качестве поставщика технологических решений (TP). |
Новый номер, предназначенный исключительно для звонков, обслуживается (только) компанией Calling TP. |
BSP и TP работают вместе над созданием/утверждением многопартнерского решения. У BSP и TP есть собственные приложениядля обмена сообщениями, звонков, коммерческих отношений снезависимыми поставщиками программного обеспеченияМожно получать сообщения или звонки, но нельзя отправлять сообщения или звонки, поскольку в многоплатформенном решении можно выбрать только одного из двух партнеров для отправки сообщений/звонков. |
BSP и TP работают вместе над созданием/утверждением многопартнерского решения. У BSP и TP есть собственные приложения:обмен сообщениями, звонки, коммерческие отношения с независимыми поставщиками программного обеспечения, подключениеконечных клиентов с использованием ES, указывающих на созданное решение,отправка/получение сообщений или звонков. |
При посадке с использованием ES на TPBiz получает информацию о TP в ES.Оплачивает счет через BSP. |
Многовариантные диалоги (MSC)
Функция многоканальных диалогов позволяет использовать несколько решений на одном телефонном номере, локализуя обмен сообщениями и звонки в рамках одного чата.
Интеграция с использованием стороннего поставщика услуг связи: детальный дизайн
Следующая логическая архитектура иллюстрирует, как интегрировать функцию звонков WhatsApp Business с использованием стороннего поставщика услуг звонков (3P).
В этом сценарии вы будете использовать стороннего поставщика в фоновом режиме, и этот сторонний поставщик будет невидим для Meta. Эта схема аналогична любой другой SaaS-службе, которую вы можете использовать.
На диаграмме также показано, как эту архитектуру можно дополнительно расширить для интеграции с SIP-инфраструктурой на вашей стороне.
В соответствии с нашими условиями, использование телефонной сети общего пользования (PSTN) запрещено на любом этапе разговора через WhatsApp.
Даже если вы подключаете звонки WA к сети SIP, необходимо убедиться, что они по-прежнему осуществляются исключительно через VoIP и никогда не затрагивают телефонную сеть общего пользования (PSTN). Использование SIP-транка само по себе не запрещено, поскольку технически SIP-транк можно использовать вообще без подключения к PSTN.
(Щелкните правой кнопкой мыши по изображению и выберите «Открыть в новой вкладке», чтобы увеличить его)Одно приложение против нескольких приложений
В этом разделе рассматриваются рекомендации и соображения относительно повторного использования существующего приложения для обмена сообщениями для совершения звонков по сравнению с созданием нового приложения специально для функций API звонков.
Для интеграции с API звонков WhatsApp необходимо вызывать конечные точки Graph API и обрабатывать веб-хуки из Meta. Для этого требуется приложение, и почти всегда у вас уже должно быть приложение, используемое для обмена сообщениями.
Короче говоря, вы можете повторно использовать существующее приложение, которое применяется для встроенной регистрации и для обмена сообщениями.
Повторное использование одного и того же приложения дает следующие преимущества:
Снижение операционных издержек (например, проверка приложений, текущее техническое обслуживание)Упрощенный размер страниц на MetaСовпадение характеристик приложения, используемого для встроенной регистрации, и приложения, используемого для вызова Graph API и получения веб-хуковПовторное использование этого приложения для звонков никак не повлияет на существующую функциональность. Вам просто нужно убедиться, что сервер веб-хуков способен корректно обрабатывать веб-хуки, связанные с «звонками».
Поддержка использования отдельных приложений по-прежнему сохраняется; подробности см. в разделе « Часто задаваемые вопросы по началу работы »
Рекомендации по интеграции медиапотоков
Стек VoIP-звонков WhatsApp Business Calling разработан для совместимости с WebRTC. Однако для обеспечения бесперебойной интеграции с протоколом WhatsApp компания Meta ограничивает поддерживаемые функции. В результате применяются следующие требования и рекомендации.
Обязательные требования
Если какое-либо из обязательных требований не будет выполнено, вызов завершится неудачей. Эта неудача может произойти либо на этапе сигнализации вызова, что приведет к отклонению вызова, либо на этапе декодирования медиапакетов.
Используйте только аудиокодек Opus.Установите тактовую частоту мультимедиа на 48 кГц.Установите частоту тактирования DTMF на 8 кГц.Используйте значение ptime равный 20 мс.Для передачи аудиоданных необходимо использовать один SSRC. Сервер ретрансляции Meta перезаписывает SSRC всех бизнес-аудиопакетов на фиксированный SSRC до того, как эти пакеты достигнут клиента WA. Клиенты WA обрабатывают только один источник звука от своих партнеров. Использование нескольких SSRC приводит к неопределенному поведению. Это включает в себя серьезное повреждение медиафайлов, сбои звука и, вероятно, полный отказ передачи медиафайлов.
Рекомендации
Хотя перечисленные ниже аспекты не являются обязательными, их рекомендуется соблюдать для обеспечения высокого качества и надежности связи.
Процесс ICEНаш стек VoIP — ICE-LITE, поэтому рекомендуется, чтобы стек VoIP поставщиков услуг связи (BSP) был ICE-FULL. (RFC 5245, раздел)2.7Стек VoIP поставщиков баз данных должен инициировать процесс ICE, отправляя проверки подключения STUN.VoIP-стек BSP должен взять на себя роль ICE CONTROLLING, поскольку Meta будет брать на себя только роль CONTROLLED.Используйте обычное выдвижение кандидатов вместо агрессивного. ( RFC 5245 Раздел 8.1.1.2) Дождитесь завершения процесса ICE, прежде чем выдвигать кандидатуру и запускать DTLS.Не меняйте кандидата в середине разговора.ДТЛСДля предотвращения фрагментации пакетов во время передачи используйте ключи ECDH для сертификатов DTLS.BSP должен выступать в качестве DTLS-клиента. (RFC 6347, раздел)4.2Решение проблемы искажения звукаЗадержите воспроизведение звука с SIP-соединения до тех пор, пока не будет установлено медиасоединение с Meta.Интеграция с API предварительного подтверждения поможет уменьшить искажения звука в звонках, инициированных пользователем.
Комментарии отсутствуют
Комментарии отсутствуют