Перейти к основному содержимому

Справочник по API и веб-перехватчикам | Документация для разработчиков

Справочник по API и веб-перехватчикам

Обновлено: 25 ноября 2025 г

Вызов конечных точек API

Настройте или обновите параметры вызовов

Вызовите конечную точку «Обновить настройки номера телефона» и передайте параметры API вызовов, чтобы настроить параметры корпоративного номера телефона, указанного в синтаксисе запроса.
Запрос синтаксис
ПОЧТА /<НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/настройки
Параметры конечной точки
Заполнитель Описание Пример значения
<PHONE_NUMBER_ID>
Целое число
Необходимый
Рабочий телефонный номер, для которого вы обновляете настройки API вызовов.
+12784358810
Запрос тело
{
"звонок": {
«статус»"ВКЛЮЧЕНО",
"call_icon_visibility""ПО УМОЛЧАНИЮ",
"call_hours": {
«статус»"ВКЛЮЧЕНО",
"timezone_id""Америка/Манаус",
"еженедельные_часы_работы": [
        {
"день_недели""ПОНЕДЕЛЬНИК",
"open_time""0400",
"close_time""1020"
        },
        {
"день_недели""ВТОРНИК",
"open_time""0108",
"close_time""1020"
        }
      ],
"расписание_праздников": [
        {
"дата""2026-01-01",
"start_time""0000",
"end_time""2359"
        }
      ]
    },
"callback_permission_status""ВКЛЮЧЕНО",
"глоток": {
«статус»"ВКЛЮЧЕНО | ВЫКЛЮЧЕНО (по умолчанию)",
"серверы": [
        {
"имя хоста": SIP_SERVER_HOSTNAME,
"порт": SIP_SERVER_PORT,
"request_uri_user_params": {
"KEY1""VALUE1",
"KEY2""VALUE2"
          }
        }
      ]
    }
  }
}
Параметры тела
Параметр Описание Пример значения
статус
Нить
Необязательный
Включить или отключить API для звонков для указанного номера телефона компании.
"ВКЛЮЧЕНО"
"НЕПОЛНОЦЕННЫЙ"
call_icon_visibility
Нить
Необязательный
Настройте отображение значка кнопки вызова WhatsApp для пользователей при общении с компанией.
часы звонков
JSON-объект
Необязательный
Позволяет задавать и активировать параметры обработки входящих вызовов в зависимости от вашего часового пояса, рабочего времени и расписания праздников.
Любые ранее настроенные значения в часы звонков будут заменены значениями, переданными в теле запроса этого API-вызова.
callback_permission_status
Нить
Необязательный
Настройте, будет ли пользователю WhatsApp запрашиваться разрешение на совершение звонка после звонка в вашу компанию.
Примечание: Запрос на разрешение вызова инициируется как при пропущенном, так и при установленном соединении.
"ВКЛЮЧЕНО"
"НЕПОЛНОЦЕННЫЙ"
глоток
JSON-объект
Необязательный
Настройте сигнализацию вызовов с помощью протокола инициации сигнала (SIP).
Примечание: При включенном протоколе SIP вы не сможете использовать конечные точки, связанные с вызовами, и не будете получать веб-хуки, связанные с вызовами.
"глоток": {
«статус»"ВКЛЮЧЕНО | ВЫКЛЮЧЕНО (по умолчанию)",
"серверы": [// один сервер на приложение]
     {
"имя хоста": SIP_SERVER_HOSTNAME
"порт": SIP_SERVER_PORT,
"request_uri_user_params": {
"KEY1""VALUE1", // для случаи, подобные TGRP
"KEY2""VALUE2",
       }
     }
   ]
 }
Подробности параметра: Статус вызова
Если статуса установлен в значение «ВКЛЮЧЕНО» , функции вызова для рабочего номера телефона становятся доступны. Приложения WhatsApp будут отображать значок кнопки вызова как в рабочем чате, так и в профиле рабочего чата.
Если статуса присвоено значение «ОТКЛЮЧЕНО» , функции вызова отключаются значок кнопки вызова не отображается ни в деловом чате, ни в профиле делового чата
Обновление статуса будет обновлять значок кнопки вызова в существующих деловых чатах практически в режиме реального времени, если номер телефона компании есть в контактах пользователя WhatsApp.
В противном случае обновления происходят в режиме реального времени для ограниченного числа пользователей, ведущих диалог с компанией, и в конечном итоге распространяются на все остальные диалоги.
Подробности параметра: Видимость значка кнопки вызова
Если для номера компании включены функции Calling API, вы все равно можете выбрать, отображать ли значок кнопки вызова или нет, используя call_icon_visibility . Примечание: отключение видимости значка кнопки вызова не отключает возможность пользователя WhatsApp совершать незапрошенные звонки в вашу компанию.
Для поддерживаемых опций поведение следующее:
ПО УМОЛЧАНИЮ
Значок кнопки «Вызов» будет отображаться в строке меню чата и на странице информации о компании, что позволит пользователям WhatsApp совершать незапрошенные звонки в компанию.
Скриншот, демонстрирующий значок кнопки вызова, отображаемый в строке меню чата WhatsApp и на странице информации о компании
ОТКЛЮЧИТЬ ВСЕ
Значок кнопки вызова скрыт в строке меню чата и на странице информации о компании, а все остальные точки входа вне чата также отключены. Потребители не могут совершать незапрошенные звонки в компанию.
Ваша компания по-прежнему может отправлять интерактивные сообщения или шаблонные сообщения с помощью кнопки призыва к действию (CTA) через Calling API.
Скриншот, демонстрирующий интерфейс чата WhatsApp со скрытым значком кнопки вызова
Разрешения на обратный вызов
Для звонка пользователю WhatsApp требуется явное разрешение от пользователя. Один из способов получить разрешение на звонок — запросить его у пользователя WhatsApp, когда он звонит в вашу компанию.
Вы можете настроить интерфейс разрешений на звонки таким образом, чтобы он автоматически отображался в клиентском приложении WhatsApp при звонке на номер вашей компании. Пользователь может изменить выбранные разрешения в любое время.
Скриншот диалогового окна запроса разрешения на звонок в WhatsApp
Вызов часы
С часы звонков В настройках можно указать часовой пояс, часы работы предприятия и расписание праздников, которые будут применяться ко всем звонкам, инициированным пользователем.
Настройка этого параметра ограничивает звонки только доступными в течение недели часами, которые вы укажете. Звонки, инициированные пользователем, будут недоступны вне установленных вами еженедельных часов и праздничных дней.
В приложении WhatsApp пользователям будет предложена возможность связаться с компанией в чате или запросить обратный звонок, если.. callback_permission_status является ВКЛЮЧЕНОПользователю также будет показан ближайший доступный слот для звонка на экране настроек.
Скриншот, показывающий экран «Время ожидания звонка в WhatsApp недоступно» с возможностью обратного звонка
"call_hours": {
«статус»"ВКЛЮЧЕНО",
"timezone_id""Америка/Манаус",
"еженедельные_часы_работы": [
    {
"день_недели""ПОНЕДЕЛЬНИК",
"open_time""04:00",
"close_time""10:20"
    },
    {
"день_недели""ВТОРНИК",
"open_time""01:08",
"close_time""10:20"
    }
  ],
"расписание_праздников": [
    {
"дата""2026-01-01",
"start_time""00:00",
"end_time""23:59"
    }
  ]
}
Параметр Описание Примерные значения
статус
Нить
Необходимый
Включить или отключить часы работы службы поддержки для предприятия.
Если функция оповещения о времени работы отключена, считается, что предприятие работает круглосуточно, 7 дней в неделю.
"ВКЛЮЧЕНО"
"НЕПОЛНОЦЕННЫЙ"
timezone_id
Нить
Необходимый

Часовой пояс, в котором работает компания.
«Америка/Меномине»
«Азия/Сингапур»
еженедельные_часы_работы
Список объектов JSON
Необходимый

Расписание работы на каждый день недели.
Каждая запись представляет собой JSON-объект, содержащий 3 пары ключ/значение:
день_недели — (Перечисление) [Необходимый]
День недели.
Может принимать одно из семи значений: "ПОНЕДЕЛЬНИК", "ВТОРНИК", "СРЕДА", "ЧЕТВЕРГ", "ПЯТНИЦА", "СУББОТА", "ВОСКРЕСЕНЬЕ"
открытое время
закрытое_время — (Целое число) [Необходимый]
Время открытия и закрытия указано в 24-часовом формате, например "1130" = 11:30 утра
    В день недели допускается не более 2 заявокоткрытое время должно быть до закрытое_времяПовторяющиеся записи не допускаются
    {
    "день_недели""ПОНЕДЕЛЬНИК",
    "open_time""0400",
    "close_time""1020"
    },
    {
    "день_недели":"ВТОРНИК",
    "open_time""0108",
    "close_time""1020"
    }
    ...
    расписание праздников
    Нить
    Необязательный

    Дополнительная возможность изменения еженедельного расписания.
    Можно указать до 20 вариантов переопределения.
    Примечание: Если расписание праздников если в запросе не указана информация, то существующая информация расписание праздников будет удалено и заменено пустым расписанием.
    дата — (Нить) [Необходимый]
    Дата, для которой вы хотите указать значение для переопределения.
    Формат ГГГГ-ММ-ДД.
    открытое время
    закрытое_время — (Целое число) [Необходимый]
    Время открытия и закрытия указывается в 24-часовом формате, например: ”1130” = 11:30 утра
      В день недели допускается не более 2 заявокоткрытое время должно быть до закрытое_времяПовторяющиеся записи не допускаются
      {
      "дата""2026-01-01",
      "start_time""0000",
      "end_time""2359",
      }
      ...
      Ответ об успехе
      
      
      {
      "success"
      : true }
      Ответ с ошибкой
      Возможные ошибки, которые могут возникнуть:
        Ошибки доступа/авторизацииНедействительный статусНеверное расписание для call_hours праздника, указанная в call_hours, уже прошла. параметре call_hours указан недопустимый часовой пояс Параметр weekly_operating_hours в call_hours не может быть пустым.Формат даты в holiday_schedule для call_hours недопустим. графике работы службы поддержки (call_hours) не допускается более 2 записей.Перекрывающиеся графики в call_hours не допускаются.

        Получить настройки звонков по номеру телефона

        Для получения настроек API вызовов для конкретного номера телефона компании, указанного в синтаксисе запроса, воспользуйтесь конечной точкой Get Phone Number Settings.
        Этот конечный пункт может возвращать информацию о других настройках функций Cloud API.
        Запрос синтаксис
        ПОЧТА /<НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/настройки
        Параметры конечной точки
        Параметр Описание Пример значения
        <PHONE_NUMBER_ID>
        Целое число
        Необходимый

        Рабочий телефонный номер, для которого вы получаете настройки API вызовов.
        +12784358810
        Требуются разрешения приложения
        whatsapp_business_management : Для использования API конечными бизнес-клиентами требуется расширенный доступ.
        Ответ тело
        {
        "звонок": {
        «статус»"ВКЛЮЧЕНО",
        "call_icon_visibility""ПО УМОЛЧАНИЮ",
        "call_hours": {
        «статус»"ВКЛЮЧЕНО",
        "timezone_id""Америка/Манаус",
        "еженедельные_часы_работы": [
                {
        "день_недели""ПОНЕДЕЛЬНИК",
        "open_time""0400",
        "close_time""1020"
                },
                {
        "день_недели""ВТОРНИК",
        "open_time""0108",
        "close_time""1020"
                }
              ],
        "расписание_праздников": [
                {
        "дата""2026-01-01",
        "start_time""0000",
        "end_time""2359"
                }
              ]
            },
        "callback_permission_status""ВКЛЮЧЕНО",
        "глоток": {
        «статус»"ВКЛЮЧЕНО | ВЫКЛЮЧЕНО (по умолчанию)",
        "серверы": [
                {
        "имя хоста": SIP_SERVER_HOSTNAME,
        "порт": SIP_SERVER_PORT,
        "request_uri_user_params": {
        "KEY1""VALUE1",
        "KEY2""VALUE2"
                  }
                }
              ]
            }
          }
        }
        Укажите пароль пользователя SIP
        При желании вы можете включить учетные данные пользователя SIP в тело ответа, добавив параметр запроса SIP credentials в POST-запрос:
        ПОЧТА /<НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/настройки?include_sip_credentials=истинный
        В результате будет получен следующий ответ:
        {
        "звонок": {
            ... // другие настройки API для вызова
        "глоток": {
        «статус»"ВКЛЮЧЕНО",
        "серверы": [
                {
        "имя хоста""sip.example.com",
        "sip_user_password""{SIP_USER_PASSWOR}"
                }
              ]
            }
          }
        }
        Подробности ответа
        GET / /settings возвращает настройки API вызовов, а также другую информацию о конфигурации вашего бизнес-номера телефона WhatsApp.
        Ответ с ошибкой
        Возможные ошибки, которые могут возникнуть:
          Ошибки доступа/авторизации

          Предварительное принятие звонка

          При предварительном принятии входящего вызова вы позволяете установить медиасоединение с вызывающим абонентом, прежде чем пытаться передать медиаконтент через это соединение.
          При последующем вызове конечной точки приема вызова передача медиаконтента начинается немедленно, поскольку соединение уже установлено.
          Рекомендуется предварительно принимать звонки, поскольку это способствует более быстрому установлению соединения и позволяет избежать проблем с искажением звука .
          веб-хука Call Connect есть примерно от 30 до 60 секунд, чтобы принять телефонный звонок. Если компания не отвечает, звонок завершается на стороне пользователя WhatsApp с уведомлением «Не отвечено», и вам отправляется веб-хук завершения вызова
          Примечание: Поскольку соединение WebRTC устанавливается до вызова конечной точки Accept Call , убедитесь, что передача медиаданных происходит только после получения ответа 200 OK.
          Если передача медиаконтента начинается слишком рано, звонящий пропустит первые несколько слов разговора. Если передача медиаконтента начинается слишком поздно, звонящий услышит тишину.
          ЗапросТело синтаксиспараметры
          ПОЧТА
          <НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/звонки
          ЗаполнительПараметр Описание Пример значения
          <PHONE_NUMBER_ID>
          Целое число
          Необходимый

          Номер телефона компании, с которого вы используете функции Calling API.
          +12784358810
          Текст запроса
          {"messaging_product":"WhatsApp","call_id":"wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh","действие":"pre_accept","сессия":{"sdp_type":"отвечать","sdp":«<<RFC 8866 SDP> >"}}
          Параметры тела
          Параметр Описание Пример значения
          call_id
          Нить
          Необходимый

          Идентификатор телефонного звонка.
          При входящих звонках вы получаете идентификатор вызова от веб-перехватчика Call Connect, когда звонок инициирует пользователь WhatsApp.
          “wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh”
          действие
          Нить
          Необязательный

          Действие, выполняемое в отношении указанного идентификатора вызова.
          Значения могут быть связаны | предварительное принятие | принятие | отклонение | завершение
          “предварительное_принятие”
          сессия
          JSON-объект
          Необязательный

          Содержит тип протокола описания сессии (SDP) и язык описания.
          Требуется два значения:
          sdp_type — ( Строка ) Обязательный параметр
          «Предложение» обозначает предложение SDP
          sdp — ( Строка ) Обязательный параметр
          Информация SDP устройства на другом конце вызова. SDP должен соответствовать RFC 8866 .
          "сессия":{"sdp_type":"предложение","sdp":«<<RFC 8866 SDP> >"}
          Ответ об успехе
          {"messaging_product":"WhatsApp","успех":истинный}
          Ответ с ошибкой
          Возможные ошибки, которые могут возникнуть:
            Неверный идентификатор вызоваНеверный номер телефонаОшибка, связанная с вашим способом оплатыНеверные данные подключения, например, sdp, iceПринять/отклонить уже находящийся в процессе/завершенный/неудачный вызовОшибки доступа/авторизации

            Принять звонок

            Используйте эту конечную точку для подключения к вызову, указав SDP оператора колл-центра.
            веб-хука Call Connect у вас есть примерно от 30 до 60 секунд, чтобы принять телефонный звонок. Если ваша компания не отвечает, звонок завершается на стороне пользователя WhatsApp с уведомлением «Не отвечено», и вам отправляется веб-хук Terminate
            Запрос синтаксис
            ПОЧТА <НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/звонки
            Заполнитель Описание Пример значения
            <PHONE_NUMBER_ID>
            Целое число
            Необходимый

            Номер телефона компании, с которого вы используете функции Calling API.
            +12784358810
            Текст запроса
            {"messaging_product":"WhatsApp","call_id":"wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh","действие":"принимать","сессия":{"sdp_type":"отвечать","sdp":«<<RFC 8866 SDP> >"},"biz_opaque_callback_data":"random_string"}
            Параметры тела
            Параметр
            Описание
            Пример значения
            call_id
            Нить
            Необходимый

            Идентификатор телефонного звонка.
            При входящих звонках вы получаете идентификатор вызова от Веб-перехватчик вызова Connect когда звонок инициирует пользователь WhatsApp.
            “wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh”
            действие
            Нить
            Необязательный

            Действие, выполняемое в отношении указанного идентификатора вызова.
            Значения могут быть соединять | pre_accept | принимать | отклонять | завершить
            "принимать"
            сессия
            JSON-объект
            Необязательный

            Содержит тип протокола описания сессии (SDP) и язык описания.
            Требуется два значения:
            sdp_type — (Нить) Необходимый
            «Предложение» обозначает предложение SDP
            sdp — (Нить) Необходимый
            Информация SDP устройства на другом конце вызова. SDP должен соответствовать определенным требованиям RFC 8866.
            "сессия":{"sdp_type":"предложение","sdp":«<<RFC 8866 SDP> >"}
            biz_opaque_callback_data
            Нить
            Необязательный

            Произвольная строка, которую можно передать в качестве параметра для целей отслеживания и регистрации.
            Любое приложение, подписанное на поле веб-перехватчика «звонки» в вашем аккаунте WhatsApp Business, может получить эту строку, поскольку она включена в звонки объект в последующем Завершить работу веб-перехватчика полезная нагрузка.
            Cloud API не обрабатывает это поле, а просто возвращает его как часть запроса Завершить работу веб-перехватчика.
            Максимальное количество символов: 512
            “8huas8d80nn”
            Ответ об успехе
            {"messaging_product":"WhatsApp","успех":истинный}
            Ответ с ошибкой
            Возможные ошибки, которые могут возникнуть:
              Неверный идентификатор вызоваНеверный номер телефонаОшибка, связанная с вашим способом оплатыНеверная информация о соединении, например, параметры sdp, ice или другие параметры соединенияПринять/отклонить уже находящийся в процессе/завершенный/неудачный вызовОшибки доступа/авторизацииОтвет SDP, предоставленный в запросе accept, не совпадает с ответом SDP, предоставленным в конечной точке pre-Accept для того же идентификатора вызова.

              Отклонить вызов

              Используйте этот адрес электронной почты, чтобы отклонить вызов.
              веб-хука Call Connect у вас есть примерно от 30 до 60 секунд, чтобы принять телефонный звонок. Если компания не отвечает, звонок завершается на стороне пользователя WhatsApp с уведомлением «Не отвечено», и вам отправляется веб-хук завершения вызова
              ЗапросТело синтаксиспараметры
              ПОЧТА
              <НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/звонки
              ЗаполнительПараметр Описание Пример значения
              <PHONE_NUMBER_ID>
              Целое число
              Необходимый

              Номер телефона компании, с которого вы используете функции Calling API.
              +12784358810
              Текст запроса
              {"messaging_product":"WhatsApp","call_id":"wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh","действие":"отклонять"}
              Параметры тела
              Параметр Описание Пример значения
              call_id
              Нить
              Необходимый

              Идентификатор телефонного звонка.
              При входящих звонках вы получаете идентификатор вызова от веб-перехватчика Call Connect, когда звонок инициирует пользователь WhatsApp.
              “wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh”
              действие
              Нить
              Необязательный

              Действие, выполняемое в отношении указанного идентификатора вызова.
              Значения могут быть связаны | предварительное принятие | принятие | отклонение | завершение
              "отклонять"
              Ответ об успехе
              {"messaging_product":"WhatsApp","успех":истинный}
              Ответ с ошибкой
              Возможные ошибки, которые могут возникнуть:
                Неверный идентификатор вызоваНеверный номер телефонаПринять/отклонить уже находящийся в процессе/завершенный/неудачный вызовОшибки доступа/авторизации

                Инициировать звонок

                Используйте этот конечный пункт для инициирования звонка пользователю WhatsApp, указав номер телефона и предложение WebRTC-звонка.
                Запрос синтаксис
                ПОЧТА <НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/звонки
                Заполнитель Описание Пример значения
                <PHONE_NUMBER_ID>
                Целое число
                Необходимый

                Рабочий телефонный номер, с которого вы совершаете новый звонок.
                +12784358810
                Текст запроса
                {"messaging_product":"WhatsApp","к":"14085551234","действие":"соединять","сессия":{"sdp_type":"предложение","sdp":«<<RFC 8866 SDP> >"},"biz_opaque_callback_data":"0fS5cePMok"}
                Параметры тела
                Параметр
                Описание
                Пример значения
                к
                Целое число
                Необходимый

                Вызываемый номер (звонящий)
                “17863476655”
                действие
                Нить
                Необходимый

                Действие, выполняемое в отношении указанного идентификатора вызова.
                Значения могут быть соединять | pre_accept | принимать | отклонять | завершить
                "соединять"
                сессия
                JSON-объект
                Необязательный

                Содержит тип протокола описания сессии (SDP) и язык описания.
                Требуется два значения:
                sdp_type — (Нить) Необходимый
                «Предложение» обозначает предложение SDP
                sdp — (Нить) Необходимый
                Информация SDP устройства на другом конце вызова. SDP должен соответствовать определенным требованиям RFC 8866.
                "сессия":{"sdp_type":"предложение","sdp":«<<RFC 8866 SDP> >"}
                biz_opaque_callback_data
                Нить
                Необязательный

                Произвольная строка, которую можно передать в качестве параметра для целей отслеживания и регистрации.
                Любое приложение, подписанное на поле веб-перехватчика «звонки» в вашем аккаунте WhatsApp Business, может получить эту строку, поскольку она включена в звонки объект в последующем Вызов завершения веб-перехватчика полезная нагрузка.
                Облачный API не обрабатывает это поле.
                Максимальное количество символов: 512
                “0fS5cePMok”
                Ответ об успехе
                {"messaging_product":"WhatsApp","звонки":[{"идентификатор":"wacid.ABGGFjFVU2AfAgo6V",}]}
                Ответ с ошибкой
                Возможные ошибки, которые могут возникнуть:
                  Неверный номер телефонаОшибки доступа/авторизацииОшибки проверки формата запроса, например, информация о соединении, SDP, ICEОшибки проверки SDP

                  Завершить вызов

                  Используйте эту конечную точку для завершения активного вызова.
                  в медиатракте присутствует RTCP BYE
                  Когда пользователь WhatsApp завершает вызов, вам не нужно звонить на эту конечную точку. После успешного завершения вызова вам будет отправлен веб-хук завершения вызова
                  ЗапросТело синтаксиспараметры
                  ПОЧТА
                  <НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/звонки
                  Параметр Описание Пример значения
                  <PHONE_NUMBER_ID>
                  Целое число
                  Необходимый

                  Рабочий телефонный номер, с которого вы завершаете звонок.
                  18274459827
                  Текст запроса
                  {"messaging_product":"WhatsApp","call_id":"wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh","действие":"завершить"}
                  Параметры тела
                  Параметр Описание Пример значения
                  call_id
                  Нить
                  Необходимый

                  Идентификатор телефонного звонка.
                  При входящих звонках вы получаете идентификатор вызова от веб-перехватчика Call Connect, когда звонок инициирует пользователь WhatsApp.
                  “wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh”
                  действие
                  Нить
                  Необходимый

                  Действие, выполняемое в отношении указанного идентификатора вызова.
                  Значения могут быть связаны | предварительное принятие | принятие | отклонение | завершение
                  «прекратить»
                  Ответ об успехе
                  {"messaging_product":"WhatsApp","успех":истинный}
                  Ответ с ошибкой
                  Возможные ошибки, которые могут возникнуть:
                    Неверный идентификатор вызоваНеверный номер телефонаПользователь WhatsApp уже завершил звонокВызов с отклонением уже выполняетсяОшибки доступа/авторизации

                    Получить текущее состояние разрешения на вызов

                    Используйте этот конечный пункт, чтобы получить состояние разрешений на вызов для корпоративного телефонного номера, к которому привязан один номер телефона пользователя WhatsApp.
                    Запрос синтаксис
                    ПОЛУЧАТЬ /<НОМЕР_ТЕЛЕФОНА_ИДЕНТИФИКАТОР>/call_permissions?user_wa_id=<Идентификатор потребителя в WhatsApp>
                    Параметры запроса
                    Параметр Описание Пример значения
                    <PHONE_NUMBER_ID>
                    Нить
                    Необходимый

                    Номер телефона компании, для которого вы запрашиваете разрешения.
                    +18762639988
                    <CONSUMER_WHATSAPP_ID>
                    Целое число
                    Необходимый

                    Номер телефона пользователя WhatsApp, у которого вы запрашиваете разрешение на совершение звонков.
                    +13057765456
                    Ответ тело
                    {"messaging_product":"WhatsApp","разрешение":{«статус»:"временный","expiration_time":1745343479},«действия»:[{"action_name":"send_call_permission_request","can_perform_action":истинный,«пределы»:[{"период_времени":"PT24H","max_allowed":1,"current_usage":0,},{"период_времени":"P7D","max_allowed":2,"current_usage":1,}]},{"action_name":"start_call","can_perform_action":ЛОЖЬ,«пределы»:[{"период_времени":"PT24H","max_allowed":5,"current_usage":5,"limit_expiration_time":1745622600,}]}}}
                    Параметры отклика
                    Параметр
                    Описание
                    разрешение
                    Объект JSON
                    Объект разрешений содержит два значения:
                    статус (Нить) — Текущий статус разрешения.
                    Может быть любым из следующих вариантов:
                      “no_permission”"временный"
                      срок действия (Целое число) — Время в формате UTC (Unix time), по истечении которого разрешение будет аннулировано.
                      действия
                      Объект JSON
                      Список действий, которые может предпринять телефонный номер компании для разрешения на совершение звонка или для обработки звонка, инициированного компанией.
                      В настоящее время предпринимаются следующие действия:
                      отправить_вызов_запрос_разрешения: Обозначает действие отправки пользователю WhatsApp запроса на разрешение совершения нового вызова.
                      стартовый_вызов: Обозначает действие по установлению нового вызова с пользователем WhatsApp. Установление нового вызова означает, что звонок был успешно принят абонентом.
                      Например, отправить_вызов_запрос_разрешения имея can_perform_action из истинный Это означает, что ваша компания может отправить запрос на разрешение вызова соответствующему пользователю WhatsApp
                      can_perform_action (Логический) —
                      Флаг, указывающий, можно ли выполнить действие сейчас, с учетом всех ограничений.
                      ограничения
                      Объект JSON
                      Список временных ограничений для данного случая action_name.
                      Каждый action_name Имеет одно или несколько ограничений в зависимости от временных рамок.
                      Например, компания может отправить не более 2 запросов на разрешение доступа в течение 24 часов.
                      ограничения Содержит следующие поля:
                      временной период (Нить) — Период времени, в течение которого действует ограничение, представленный в формате ISO 8601.
                      максимально допустимый (Целое число) — Максимальное количество действий, разрешенных в течение указанного периода времени.
                      текущее_использование (Целое число) — Текущее количество действий, предпринятых компанией за указанный период времени.
                      limit_expiration_time (Целое число) — Время в формате UTC (Unix time), в которое истечет лимит.
                      Если текущее_использование Если значение меньше максимально допустимого предела, это поле будет отсутствовать.
                      Ответ с ошибкой
                      Возможные ошибки, которые могут возникнуть:
                        Неверный номер телефонаЕсли номер телефона потребителя недоступен для звонка, API ответит сообщением no_permission .Ошибки доступа/авторизации.Достигнут лимит запросов. Максимально 5 запросов к API в течение 1 секунды.Для корпоративного телефонного номера функция звонков отключена.

                        Звонок API-вебхуки

                        Веб-перехватчик вызова Connect

                        Уведомление через веб-хук отправляется практически в режиме реального времени, когда звонок, инициированный вашей компанией, готов к соединению с пользователем WhatsApp ( Ответ SDP).
                        Крайне важно, что веб-перехватчик содержит информацию, необходимую для установления соединения через WebRTC.
                        После получения веб-перехватчика Call Connect вы можете его применить Ответ SDP Получено в веб-хуке для вашего стека WebRTC с целью инициирования медиасоединения.
                        {"объект":"whatsapp_business_account","вход":[{"идентификатор":"<WHATSAPP_BUSINESS_ACCOUNT_ID> ","изменения":[{"ценить":{"messaging_product":"WhatsApp","метаданные":{"display_phone_number":"16315553601","идентификатор_номера_телефона":"<PHONE_NUMBER_ID> "},"контакты":[{"профиль":{"имя":"<CALLEE_NAME> "},"ва_ид":"16315553602"}],"звонки":[{"идентификатор":"wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh","к":"16315553601","от":"16315553602","событие":"соединять","временная метка":"1671644824","направление":"БИЗНЕС_ИНИЦИИРОВАН","сессия":{"sdp_type":"отвечать","sdp":«<<RFC 8866 SDP> >"}}]},"поле":"звонки"}]}]}
                        Значения веб-перехватчика для "звонки"
                        Заполнитель Описание
                        идентификатор
                        Нить
                        Уникальный идентификатор для вызова
                        к
                        Целое число
                        Вызываемый номер (звонящий)
                        от
                        Целое число
                        Номер звонящего
                        событие
                        Целое число
                        Событие вызова, о котором этот веб-перехватчик уведомляет подписчика
                        метка времени
                        Целое число
                        Временная метка UNIX события веб-перехватчика
                        направление
                        Нить
                        Направление совершаемого звонка.
                        Может содержать либо:
                        ИНИЦИИРОВАННЫЙ БИЗНЕСдля звонков, инициированных вашей компанией.
                        ИНИЦИИРОВАННЫЙ ПОЛЬЗОВАТЕЛЕМдля звонков, инициированных пользователем WhatsApp.
                        сессия
                        JSON-объект
                        Необязательный

                        Содержит тип протокола описания сессии (SDP) и язык описания.
                        Требуется два значения:
                        sdp_type — (Нить) Необходимый
                        «Предложение» обозначает предложение SDP
                        sdp — (Нить) Необходимый
                        Информация SDP устройства на другом конце вызова. SDP должен соответствовать определенным требованиям RFC 8866.
                        контакты
                        JSON-объект
                        Информация о звонящем.
                        Содержит два значения:
                        имя — Имя профиля звонящего в WhatsApp.
                        wa_id — WhatsApp ID вызывающего абонента.

                        веб-перехватчик статуса вызова

                        Этот веб-перехватчик отправляется при следующих событиях вызова:
                          Звонок: Когда устройство пользователя WhatsApp начинает звонитьПринято: Когда пользователь WhatsApp принимает звонокОтклонено: Когда звонок отклоняется пользователем WhatsApp
                          Здесь используется структура веб-хуков, аналогичная структуре веб-хуков статуса, применяемых для сообщений Cloud API.
                          {"объект":"whatsapp_business_account","вход":[{"идентификатор":"<WHATSAPP_BUSINESS_ACCOUNT_ID> ","изменения":[{"ценить":{"messaging_product":"WhatsApp","метаданные":{"display_phone_number":"16315553601","идентификатор_номера_телефона":"<PHONE_NUMBER_ID> ",},"статусы":[{"идентификатор":"wacid.ABGGFjFVU2AfAgo6V","временная метка":"1671644824","тип":"вызов"«статус»:"[ЗВОНОК|ПРИНЯТО|ОТКЛОНЕНО]","recipient_id":"163155536021","biz_opaque_callback_data":"random_string",}]},"поле":"звонки"}]}]}
                          Значения веб-перехватчика для "статусы"
                          Заполнитель Описание
                          идентификатор
                          Нить
                          Уникальный идентификатор для вызова
                          метка времени
                          Целое число
                          Временная метка UNIX события веб-перехватчика
                          recipient_id
                          Целое число
                          Номер телефона пользователя WhatsApp, принимающего звонок
                          статус
                          Целое число
                          Текущий статус вызова.
                          Возможные значения:
                          ЗВОН: Инициированный компанией звонок поступает пользователю
                          ПРИНЯЛ: Инициированный компанией звонок принят пользователем
                          ОТКЛОНЕННЫЙЗвонок, инициированный представителем компании, отклонен пользователем
                          biz_opaque_callback_data
                          Нить
                          Произвольная строка, которую ваша компания передает в вызов для отслеживания и регистрации данных.
                          Возврат возможен только при наличии соответствующего разрешения Инициировать новые запросы API для вызова

                          Вызов завершения веб-перехватчика

                          Уведомление через веб-хук отправляется всякий раз, когда звонок завершается по какой-либо причине, например, когда пользователь WhatsApp кладёт трубку или когда компания звонит по указанному номеру ПОЧТА /<PHONE_NUMBER_ID> /звонки конечная точка с действием завершить или отклонять.
                          {"объект":"whatsapp_business_account","вход":[{"идентификатор":"<WHATSAPP_BUSINESS_ACCOUNT_ID> ","изменения":[{"ценить":{"messaging_product":"WhatsApp","метаданные":{"display_phone_number":"16505553602","идентификатор_номера_телефона":"<PHONE_NUMBER_ID> ",},"звонки":[{"идентификатор":"wacid.ABGGFjFVU2AfAgo6V-Hc5eCgK5Gh","к":"16315553601","от":"16315553602","событие":"завершить""направление":"БИЗНЕС_ИНИЦИИРОВАН","biz_opaque_callback_data":"random_string","временная метка":"1671644824",«статус»:[НЕУСПЕШНЫЙ | ЗАВЕРШЕННЫЙ],"start_time":"1671644824","end_time":"1671644944","продолжительность":120}],"ошибки":[{"код": INT_CODE,"сообщение":"ERROR_TITLE","href":"ERROR_HREF","error_data":{"подробности":"ПОДРОБНОСТИ ОШИБКИ"}}]},"поле":"звонки"}]}]}
                          Значения веб-перехватчика для "звонки"
                          Заполнитель Описание
                          идентификатор
                          Нить
                          Уникальный идентификатор для вызова
                          к
                          Целое число
                          Вызываемый номер (звонящий)
                          от
                          Целое число
                          Номер звонящего
                          событие
                          Целое число
                          Событие вызова, о котором этот веб-перехватчик уведомляет подписчика
                          метка времени
                          Целое число
                          Временная метка UNIX события веб-перехватчика
                          направление
                          Нить
                          Направление совершаемого звонка.
                          Может содержать либо:
                          ИНИЦИИРОВАННЫЙ БИЗНЕСдля звонков, инициированных вашей компанией.
                          ИНИЦИИРОВАННЫЙ ПОЛЬЗОВАТЕЛЕМдля звонков, инициированных пользователем WhatsApp.
                          время начала
                          Целое число
                          Временная метка UNIX, указывающая на начало звонка.
                          Присутствует только тогда, когда на звонок ответил другой абонент.
                          конец_времени
                          Целое число
                          Временная метка UNIX, отражающая момент завершения звонка.
                          Присутствует только тогда, когда на звонок ответил другой абонент.
                          продолжительность
                          Целое число
                          Продолжительность разговора в секундах.
                          Присутствует только тогда, когда на звонок ответил другой абонент.
                          biz_opaque_callback_data
                          Нить
                          Произвольная строка, которую ваша компания передает в вызов для отслеживания и регистрации данных.
                          Возврат возможен только при наличии соответствующего разрешения Новые запросы API вызовов или Принимаем запросы на звонки

                          Пользователь вызывает веб-перехватчик запроса разрешения

                          Этот веб-перехватчик отправляется обратно после запроса у пользователя разрешений на вызов.
                          Веб-перехватчик меняется в зависимости от того, кто из пользователей:
                            принимает или отклоняет запросДает разрешение, отвечая на запрос или позвонив в компанию
                            Пример веб-хука
                            {..."сообщения":[{"от":"{customer_phone_number}","идентификатор":"wamid.sH0kFlaCGg0xcvZbgmg90lHrg2dL","временная метка":"{timestamp}",«контекст»:{"от":"{customer_phone_number}","идентификатор":"wacid.gBGGFlaCmZ9plHrf2Mh-o"},"интерактивный":{"тип":"call_permission_reply","call_permission_reply":{"ответ":"принимать","is_permanent":ЛОЖЬ,"expiration_timestamp":"{timestamp}","response_source":"[user_action|automatic]"}}],...}
                            Пример веб-хука (с постоянными правами доступа)
                            "сообщения":[{"от":"{customer_phone_number}","идентификатор":"wamid.sH0kFlaCGg0xcvZbgmg90lHrg2dL","временная метка":"{timestamp}",«контекст»:{"от":"{customer_phone_number}","идентификатор":"wacid.gBGGFlaCmZ9plHrf2Mh-o"},"интерактивный":{"тип":"call_permission_reply","call_permission_reply":{"ответ":"принимать","is_permanent":ЛОЖЬ,"expiration_timestamp":"{timestamp}","response_source":"[user_action|automatic]"}}],...}
                            Значения веб-перехватчика
                            Заполнитель Описание
                            номер_телефона_клиента
                            Нить
                            Номер телефона клиента
                            контекст.id
                            Нить
                            Может принимать одно из двух значений
                              Идентификатор сообщения запроса на разрешение, отправленного компанией на номер клиента. Показывает, когда пользователь принимает решение о предоставлении разрешения в ответ на запрос на разрешение вызова.Идентификатор пропущенного звонка, совершенного компанией на номер клиента. Отображается, когда в настройках включено разрешение на обратный звонок и пользователь звонит в компанию.
                              ответ
                              Нить
                              Ответ пользователя WhatsApp на сообщение с запросом разрешения на звонок
                              Может быть принимать или отклонять
                              expiration_timestamp
                              Целое число
                              Время в секундах, по истечении которого истекает срок действия разрешения на звонок, если пользователь WhatsApp его одобрил
                              источник ответа
                              Нить
                              Источник этого разрешения
                              Возможные значения для разрешений на совершение вызовов:
                                действие пользователяПользователь одобрил или отклонил разрешениеавтоматический: Автоматическое подтверждение разрешения, поскольку звонок инициирован пользователем WhatsApp

                                Обзор SDP и примеры структур SDP

                                Протокол описания сеанса (SDP) — это текстовый формат, описывающий характеристики мультимедийных сеансов, таких как голосовые и видеозвонки, в приложениях для связи в реальном времени. SDP предоставляет стандартизированный способ передачи информации о медиапотоках сеанса, включая тип медиафайлов, кодеки, протоколы и другие параметры, необходимые для установления и управления сеансом.
                                В контексте WebRTC протокол SDP используется для согласования параметров передачи данных между отправителем и получателем, позволяя им согласовать специфику обмена данными.

                                Примеры структур SDP, инициированные бизнесом

                                Пример структуры предложения SDP
                                v = 0 o =- 3626166318745852955 2 IN IP4 127.0 . 0.1 s =- t = 0 0 a = group : BUNDLE 0 a = extmap - allow - mixed a = msid - semantic : WMS d8b26053 - 4474 - 4eb7 - b3c3 - c93d6c8c9b2e m = audio 9 UDP / TLS / RTP / SAVPF 111 63 9 0 8 110 126 c = IN IP4 0.0 . 0.0 a = rtcp : 9 IN IP4 0.0 . 0.0 a = ice - ufrag : 4g1c a = ice - pwd : qY / Bb + jQzg5ICn6X4fhJQetk a = ice - options : trickle a = fingerprint : sha - 256 35 : 47 : 24 : 24 : 9F : 93 : C4 : 3E : DB : 37 : 7F : BB : ED : F8 : 20 : B5 : AD : AC : DC : 35 : C2 : 7D : 67 : EE : 6C : 35 : 54 : DF : A6 : 00 : 5C : 4A a = setup : actpass a = mid : 0 a = extmap : 1 urn : ietf : params : rtp - hdrext : ssrc - audio - level a = extmap : 2 http : //www.webrtc.org/experiments/rtp-hdrext/abs-send-time a = extmap : 3 http : //www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a = extmap : 4 urn : ietf : params : rtp - hdrext : sdes : mid a = sendrecv a = msid : d8b26053 - 4474 - 4eb7 - b3c3 - c93d6c8c9b2e 5b4d3d96 - ea9b - 44a8 - 87e6 - 11a1ad21a3bc a = rtcp - mux a = rtpmap : 111 opus / 48000 / 2 a = rtcp - fb : 111 transport - cc a = fmtp : 111 minptime = 10 ; useinbandfec = 1 a = rtpmap : 63 red / 48000 / 2 a = fmtp : 63 111 / 111 a = rtpmap : 9 G722 / 8000 a = rtpmap : 0 PCMU / 8000 a = rtpmap : 8 PCMA / 8000 a = rtpmap : 110 telephone - event / 48000 a = rtpmap : 126 telephone - event / 8000 a = ssrc : 2220762577 cname : w / zwpg3jXNiTFTdZ a = ssrc : 2220762577 msid : d8b26053 - 4474 - 4eb7 - b3c3 - c93d6c8c9b2e 5b4d3d96 - ea9b - 44a8 - 87e6 - 11a1ad21a3bc
                                Пример структуры ответа SDP
                                v = 0 o =- 741807839102053725 2 IN IP4 127.0 . 0.1 s =- t = 0 0 a = group : BUNDLE 0 a = extmap - allow - mixed a = msid - semantic : WMS 798a9670 - c0d6 - 47a8 - 925e-5f082ef4d8a0 a = ice - lite m = audio 3482 UDP / TLS / RTP / SAVPF 111 9 0 8 110 126 c = IN IP4 31.13 . 65.130 a = rtcp : 9 IN IP4 0.0 . 0.0 a = кандидат : 2754936280 1 udp 2113937151 31.13 . 65.130 3482 typ host generation 0 network - cost 50 ufrag JHqAXFH4HcAY / 8 a = candidate : 1581496399 1 udp 2113939711 2a03 : 2880 : f211 : d1 : face : b00c : 0 : 699c 3482 typ host generation 0 network - cost 50 ufrag JHqAXFH4HcAY / 8 a = ice - ufrag : JHqAXFH4HcAY / 8 a = ice - pwd : dNNMmR8wUcGezvfBZOO0Qgcwl2m86GP / a = ice - options : trickle a = fingerprint : sha - 256 9C : 97 : 5C : 4C : A9 : BE : 9E : 2F : 06 : 94 : F5 : BB : 38 : 2C : A1 : 29 : B5 : 69 : B8 : FA : 94 : 10 : 56 : 1D : 0B : 5D : 80 : 28 : C1 : FD : F0 : F6 a = setup : active a = mid : 0 a = extmap : 1 urn : ietf : params : rtp - hdrext : ssrc - audio - level a = extmap : 2 http : //www.webrtc.org/experiments/rtp-hdrext/abs-send-time a = extmap : 3 http : //www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a = sendrecv a = rtcp - mux a = rtpmap : 111 opus / 48000 / 2 a = rtcp - fb : 111 transport - cc a = fmtp : 111 minptime = 10 ; useinbandfec = 1 a = rtpmap : 9 G722 / 8000 a = rtpmap : 0 PCMU / 8000 a = rtpmap : 8 PCMA / 8000 a = rtpmap : 110 telephone - event / 48000 a = rtpmap : 126 telephone - event / 8000 a = ssrc : 3407645770 cname : bg8KQDoIk2UJa6sf a = ssrc : 3407645770 msid : 798a9670 - c0d6 - 47a8 - 925e-5f082ef4d8a0 audio #nuxVMf9EAJX a = ssrc : 3407645770 mslabel : 798a9670 - c0d6 - 47a8 - 925e-5f082ef4d8a0 a = ssrc : 3407645770 label : audio #nuxVMf9EAJX

                                Образцы структур SDP, инициированные пользователем

                                Пример структуры предложения SDP
                                v = 0 o =- 7602563789789945080 2 IN IP4 127.0 . 0.1 s =- t = 0 0 a = group : BUNDLE audio a = msid - semantic : WMS 6932bc1c - db1a - 4abe - b437 - 0c4168be8a13 a = ice - lite m = audio 40012 UDP / TLS / RTP / SAVPF 111 126 c = IN IP4 31.13 . 65.60 a = rtcp : 9 IN IP4 0.0 . 0.0 a = candidate : 1972637320 1 udp 2113937151 31.13 . 65.60 40012 typ host generation 0 network - cost 50 ufrag 6k2qP1R6kBfI / 2 a = candidate : 1652262791 1 udp 2113939711 2a03 : 2880 : f211 : cf : face : b00c : 0 : 6443 40012 typ host generation 0 network - cost 50 ufrag 6k2qP1R6kBfI / 2 a = ice - ufrag : 6k2qP1R6kBfI / 2 a = ice - pwd : UApvJw3NcwFRDvIMKdM0vWCdlXah25E9 a = fingerprint : sha - 256 1B : B6 : 6B : 40 : A5 : 0B : 8C : 75 : 0D : 8C : CB : 90 : 2F : 99 : 74 : 1E : 26 : 45 : AE : AF : 45 : C1 : 51 : 60 : 8F : 73 : C9 : 2D : 10 : 6D : 8A : 88 a = setup : actpass a = mid : audio a = extmap : 1 urn : ietf : params : rtp - hdrext : ssrc - audio - level a = extmap : 2 http : //www.webrtc.org/experiments/rtp-hdrext/abs-send-time a = extmap : 3 http : //www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a = sendrecv a = rtcp - mux a = rtpmap : 111 opus / 48000 / 2 a = rtcp - fb : 111 transport - cc a = fmtp : 111 minptime = 10 ; useinbandfec = 1 a = rtpmap : 126 telephone - event / 8000 a = ssrc : 4208138518 cname : gAXq2V9TKltrnapv a = ssrc : 4208138518 msid : 6932bc1c - db1a - 4abe - b437 - 0c4168be8a13 audio #R5wfXFcdmT6 a = ssrc : 4208138518 mslabel : 6932bc1c - db1a - 4abe - b437 - 0c4168be8a13 a = ssrc : 4208138518 label : audio #R5wfXFcdmT6
                                Пример структуры ответа SDP
                                v = 0 o =- 2822644248144643933 2 IN IP4 127.0 . 0.1 s =- t = 0 0 a = group : BUNDLE audio a = msid - semantic : WMS eb909cf0 - 87f0 - 4358 - a4c9 - 7861680d9431 m = audio 9 UDP / TLS / RTP / SAVPF 111 126 c = IN IP4 0.0 . 0.0 a = rtcp : 9 IN IP4 0.0 . 0.0 a = ice - ufrag : X1ho a = ice - pwd : 7fJSbV2N5qWiA5QiDKwK3vuh a = fingerprint : sha - 256 2E : 35 : 9F : 21 : 9E : 63 : 72 : E5 : 42 : 74 : 76 : 2D : B3 : 70 : F7 : CB : 24 : 14 : 9B : 14 : 52 : 71 : 05 : 48 : DA : 4D : 67 : 31 : 09 : 58 : 2A : ED a = setup : active a = mid : audio a = extmap : 1 urn : ietf : params : rtp - hdrext : ssrc - audio - level a = extmap : 2 http : //www.webrtc.org/experiments/rtp-hdrext/abs-send-time a = extmap : 3 http : //www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a = sendrecv a = rtcp - mux a = rtpmap : 111 opus / 48000 / 2 a = rtcp - fb : 111 transport - cc a = fmtp : 111 minptime = 10 ; useinbandfec = 1 a = rtpmap : 126 telephone - event / 8000 a = ssrc : 330833028 cname : EDc1JutBl8rwHQc2 a = ssrc : 330833028 msid : eb909cf0 - 87f0 - 4358 - a4c9 - 7861680d9431 ea478c16 - d9f7 - 493c - 8cec - 19bfac750a36

                                Образец cURL-запросы

                                Новый звонок
                                локон -я -X POST 'https://graph.facebook.com/v14.0/1234567890/calls' \
                                -ЧАС 'Content-Type: application/json' \
                                -ЧАС «Авторизация: Предъявитель EAADUMAze4GIBO1B7B.....»<REPLACE_WITH_YOUR_TOKEN> ' \
                                -д '{ "messaging_product": "whatsapp", "to": "14085550000", "session": { "sdp": "v=0\r\no=- 7669997803033704573 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS 3c28addc-03b7-4170-b5cd-535bfe767e75\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 110 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:6O0H\r\na=ice-pwd:TYCbtfOrBMPpfxFRgSbYnuTI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9F:45:2C:A8:C3:C0:CC:9B:59:4F:D1:02:56:52:FA:36:00:BE:C0:79:87:B3:D9:9C:3E:BF:60:98:25:B4:26:FC\r\na=setup:active\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendrecv\r\na=msid:3c28addc-03b7-4170-b5cd-535bfe767e75 38c455bc-3727-4129-b336-8cd2c6a68486\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2430753100 cname:MPddPt/R2ioP4vCm\r\na=ssrc:2430753100 msid:3c28addc-03b7-4170-b5cd-535bfe767e75 38c455bc-3727-4129-b336-8cd2c6a68486\r\n", "sdp_type": "answer" } }'
                                Завершить вызов
                                локон -я -X POST 'https://graph.facebook.com/v14.0/1234567890/calls' \
                                -ЧАС 'Content-Type: application/json' \
                                -ЧАС «Авторизация: Предъявитель EAADUMAze4GIBO1B7B.....»<REPLACE_WITH_YOUR_TOKEN> ' \
                                -д '{ "messaging_product": "whatsapp", "action": "terminate", "call_id": "wacid.HBgLMTY1MDMxMzM5NzQVAgARGCBFRjNEODRBM0Q3NDZDM0Q0QzI4MzAwQjZBRkZGODM3NhwYCzEyMjQ1NTU0NDg5FQIAAA" }'
                                Принять звонок
                                локон -я -X POST 'https://graph.facebook.com/v14.0/1234567890/calls' \
                                -ЧАС 'Content-Type: application/json' \
                                -ЧАС «Авторизация: Предъявитель EAADUMAze4GIBO1B7B.....»<REPLACE_WITH_YOUR_TOKEN> ' \
                                -д '{ "messaging_product": "whatsapp", "to": "14085550000", "action": "accept", "call_id": "wacid.HBgLMTY1MDMxMzM5NzQVAgASGCA5ODkyMDk2RkM2NUM1QTYwRkM4NjFDQzk0NkQwNDBCRRwYCzEyMjQ1NTU0NDg5FQIAAA==", "session": { "sdp": "v=0\r\no=- 7669997803033704573 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS 3c28addc-03b7-4170-b5cd-535bfe767e75\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 110 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:6O0H\r\na=ice-pwd:TYCbtfOrBMPpfxFRgSbYnuTI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9F:45:2C:A8:C3:C0:CC:9B:59:4F:D1:02:56:52:FA:36:00:BE:C0:79:87:B3:D9:9C:3E:BF:60:98:25:B4:26:FC\r\na=setup:active\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendrecv\r\na=msid:3c28addc-03b7-4170-b5cd-535bfe767e75 38c455bc-3727-4129-b336-8cd2c6a68486\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2430753100 cname:MPddPt/R2ioP4vCm\r\na=ssrc:2430753100 msid:3c28addc-03b7-4170-b5cd-535bfe767e75 38c455bc-3727-4129-b336-8cd2c6a68486\r\n", "sdp_type": "отвечать" } }'
                                Новый вызов (с использованием устаревшего параметра подключения)
                                локон -я -X POST 'https://graph.facebook.com/v14.0/123456789/calls' \
                                -ЧАС 'Content-Type: application/json' \
                                -ЧАС «Авторизация: Предъявитель EAADUMAze4GIBO1B7B.....»<REPLACE_WITH_YOUR_TOKEN> ' \
                                -д '{ "messaging_product": "whatsapp", "to": "14085550000", "connection": { "webrtc": { "sdp": "{\"sdp\":\"v=0\\r\\no=- 6314352886888624490 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=extmap-allow-mixed\\r\\na=msid-semantic: WMS ccd3f422-8d7d-49c9-936c-a152979ee4fa\\r\\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 110 126\\r\\nc=В IP4 0.0.0.0\\r\\na=rtcp:9 В IP4 0.0.0.0\\r\\na=ice-ufrag:/PSS\\r\\na=ice-pwd:buBIz+JlbmakiCT7JdJIq/j0\\r\\na=ice-options:trickle\\r\\na=отпечаток пальца:sha-256 43:08:34:16:67:E3:D9:A2:F5:AA:6A:AE:03:97:C8:D5:B8:F2:4B:40:79:C8:1A:44:53:69:4B:9C:89:88:D7:22\\r\\na=setup:active\\r\\na=mid:0\\r\\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\\r\\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\\r\\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\\r\\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\\r\\na=sendrecv\\r\\na=msid:ccd3f422-8d7d-49c9-936c-a152979ee4fa 4e58b2a9-c864-4752-8f4f-23f9ced35971\\r\\na=rtcp-mux\\r\\na=rtcp-rsize\\r\\na=rtpmap:111 opus/48000/2\\r\\na=rtcp-fb:111 transport-cc\\r\\na=fmtp:111 minptime=10;useinbandfec=1\\r\\na=rtpmap:63 red/48000/2\\r\\na=fmtp:63 111/111\\r\\na=rtpmap:9 G722/8000\\r\\na=rtpmap:0 PCMU/8000\\r\\na=rtpmap:8 PCMA/8000\\r\\na=rtpmap:110 Telephone-event/48000\\r\\na=rtpmap:126 Telephone-event/8000\\r\\na=ssrc:3354317731 cname:zgqSj/r4rlErlW23\\r\\na=ssrc:3354317731 msid:ccd3f422-8d7d-49c9-936c-a152979ee4fa 4e58b2a9-c864-4752-8f4f-23f9ced35971\\r\\n\",\"type\":\"offer\"}" } } }'

                                Пример веб-перехватчика для подключения к вызову

                                Вызов веб-перехватчика
                                {"вход":[{"изменения":[{"поле":"звонки","ценить":{"звонки":[{"сессия":{"sdp_type":"отвечать","sdp":"v=0\r\no=- 8076734947255960322 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS 68a296ba-41cc-41db-8edb-3ddf4dbbb483\r\na=ice-lite\r\nm=audio 3482 UDP/TLS/RTP/SAVPF 111 9 0 8 110 126\r\nc=IN IP4 31.13.65.130\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:2754936280 1 udp 2113937151 31.13.65.130 3482 typ host generation 0 network-cost 50 ufrag kv6Jn8vBmEds/8\r\na=candidate:1581496399 1 udp 2113939711 2a03:2880:f211:d1:face:b00c:0:699c 3482 typ host generation 0 network-cost 50 ufrag kv6Jn8vBmEds/8\r\na=ice-ufrag:kv6Jn8vBmEds/8\r\na=ice-pwd:OhY8sT7v6PJe3bbs0Yx2TC/oPb5oatnK\r\na=ice-options:trickle\r\na=fingerprint:sha-256 46:14:2B:31:B1:9D:AF:15:81:E2:EF:45:B1:2B:96:3D:64:0E:63:F1:CC:9A:BD:88:D6:32:8F:E9:2A:13:3A:38\r\na=setup:active\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:433528572 cname:VBDcSNi/cg1Wg6D3\r\na=ssrc:433528572 msid:68a296ba-41cc-41db-8edb-3ddf4dbbb483 audio#wx3mq6BITjB\r\na=ssrc:433528572 mslabel:68a296ba-41cc-41db-8edb-3ddf4dbbb483\r\na=ssrc:433528572 label:audio#wx3mq6BITjB\r\n"},"от":"15551112222","связь":{"webrtc":{"sdp":"{\"sdp\":\"v=0\\r\\no=- 8076734947255960322 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=extmap-allow-mixed\\r\\na=msid-semantic: WMS 68a296ba-41cc-41db-8edb-3ddf4dbbb483\\r\\na=ice-lite\\r\\nm=audio 3482 UDP/TLS/RTP/SAVPF 111 9 0 8 110 126\\r\\nc=IN IP4 31.13.65.130\\r\\na=rtcp:9 IN IP4 0.0.0.0\\r\\na=candidate:2754936280 1 udp 2113937151 31.13.65.130 3482 typ host generation 0 network-cost 50 ufrag kv6Jn8vBmEds/8\\r\\na=candidate:1581496399 1 udp 2113939711 2a03:2880:f211:d1:face:b00c:0:699c 3482 typ host generation 0 network-cost 50 ufrag kv6Jn8vBmEds/8\\r\\na=ice-ufrag:kv6Jn8vBmEds/8\\r\\na=ice-pwd:OhY8sT7v6PJe3bbs0Yx2TC/oPb5oatnK\\r\\na=ice-options:trickle\\r\\na=fingerprint:sha-256 46:14:2B:31:B1:9D:AF:15:81:E2:EF:45:B1:2B:96:3D:64:0E:63:F1:CC:9A:BD:88:D6:32:8F:E9:2A:13:3A:38\\r\\na=setup:active\\r\\na=mid:0\\r\\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\\r\\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\\r\\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\\r\\na=sendrecv\\r\\na=rtcp-mux\\r\\na=rtpmap:111 opus/48000/2\\r\\na=rtcp-fb:111 transport-cc\\r\\na=fmtp:111 minptime=10;useinbandfec=1\\r\\na=rtpmap:9 G722/8000\\r\\na=rtpmap:0 PCMU/8000\\r\\na=rtpmap:8 PCMA/8000\\r\\na=rtpmap:110 telephone-event/48000\\r\\na=rtpmap:126 telephone-event/8000\\r\\na=ssrc:433528572 cname:VBDcSNi/cg1Wg6D3\\r\\na=ssrc:433528572 msid:68a296ba-41cc-41db-8edb-3ddf4dbbb483 audio#wx3mq6BITjB\\r\\na=ssrc:433528572 mslabel:68a296ba-41cc-41db-8edb-3ddf4dbbb483\\r\\na=ssrc:433528572 label:audio#wx3mq6BITjB\\r\\n\",\"type\":\"answer\"}"}},"идентификатор":"wacid.HBgLMTY1MDMxMzM5NzQVAgARGCAwQTJCRDYwNkEzQUNCQUVCMEFGMzYzRTYxNjMxMDdFMxwYCzE0MDg1NTUyODk5FQIAAA==","к":"16501230000","событие":"соединять","временная метка":"1724467313","направление":"БИЗНЕС_ИНИЦИИРОВАН"}],"метаданные":{"идентификатор_номера_телефона":"105615555715855","display_phone_number":"15551112222"},"messaging_product":"WhatsApp"}}],"идентификатор":"112735964992110"}],"объект":"whatsapp_business_account"}