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

Включение звонков для подписи WhatsApp

Обновлено: 16 декабря 2025

Для включения возможности осуществлять звонки с имеющейся подписи WhatsApp используется метод api/channel-profile/whatsapp/{sender}/settings/set.

Вызов метода

Чтобы включить звонки для подписи WhatsApp, отправьте POST-запрос на URL-адрес https://app.edna.ru/api/channel-profile/whatsapp/{sender}/settings/set, где {sender} — название подписи.

подсказка

Чтобы узнать название подписи, выполните запрос списка каналов — название будет указано в параметре subject.

File IconПолучение списка каналов

Формат запроса

{
"callbackUrl": "string",
"calling": {
"status": "string",
"callIconVisibility": "string",
"callbackPermissionStatus": "string",
"callHours": {
"status": "string",
"timezoneId": "string",
"weeklyOperatingHours": [
{
"dayOfWeek": "string",
"openTime": "string",
"closeTime": "string"
},
{
"dayOfWeek": "string",
"openTime": "string",
"closeTime": "string"
}
],
"holidaySchedule": [
{
"date": "string",
"openTime": "string",
"closeTime": "string"
}
]
},
"sip": {
"status": "string",
"servers": [
{
"hostname": "string",
"port": "string",
"requestUriUserParams": {
"KEY1": "string",
"KEY2": "string",
"KEY3": "string"
}
}
]
},
"srtpKeyExchangeProtocol": "string"
}
}

Пример запроса

{
"callbackUrl": "https://emulator.edna.dte/test/wa-calling",
"calling": {
"status": "ENABLED",
"callIconVisibility": "DEFAULT",
"callbackPermissionStatus": "ENABLED",
"callHours": {
"status": "ENABLED",
"timezoneId": "Europe/Moscow",
"weeklyOperatingHours": [
{
"dayOfWeek": "MONDAY",
"openTime": "1030",
"closeTime": "1900"
},
{
"dayOfWeek": "TUESDAY",
"openTime": "1030",
"closeTime": "1900"
},
{
"dayOfWeek": "WEDNESDAY",
"openTime": "1030",
"closeTime": "1900"
},
{
"dayOfWeek": "THURSDAY",
"openTime": "1030",
"closeTime": "1900"
},
{
"dayOfWeek": "FRIDAY",
"openTime": "1030",
"closeTime": "1900"
},
{
"dayOfWeek": "SATURDAY",
"openTime": "1100",
"closeTime": "1630"
},
{
"dayOfWeek": "SUNDAY",
"openTime": "1100",
"closeTime": "1630"
}

],
"holidaySchedule": [
{
"date": "2026-01-01",
"openTime": "1200",
"closeTime": "1700"
},
{
"date": "2026-02-01",
"openTime": "1200",
"closeTime": "1700"
}
]
},
"sip":{
"status":"ENABLED",
"servers":[
{
"hostname":"sip.com",
"port":"5061",
"requestUriUserParams":{
"call_type":"wa",
"tgrp": "wacall"
}
}
]
},
"srtpKeyExchangeProtocol":"SDES"
}
}

Параметры запроса

ПараметрТип данныхХарактерОписание
callbackUrlstringОбязательныйURL, на который приходит вебхук с информацией о настройке звонков для подписи.
Поддерживается только протокол HTTPS.
Максимальная длина — 500 символов.
callingobjectОбязательныйНастройка звонков для подписи.
calling.statusstringНеобязательныйСтатус, в котором указывается настройка включения или отключения звонков для подписи.
Возможные значения:
-ENABLED — включить звонки для подписи;
-DISABLED — отключить звонки для подписи.
calling.callIconVisibilitystringНеобязательныйНастройка отображения иконки кнопки вызова WhatsApp для получателей при общении с компанией. Отображается, если звонки включены для подписи.
Возможные значения:
- DEFAULT — включить отображение иконки кнопки вызова, значение по умолчанию;
- DISABLE_ALL — отключить отображение иконки кнопки вызова. developers.facebook.com
calling.​callbackPermissionStatusstringНеобязательныйНастройка, которая отправляет получателю запрос на разрешение об исходящих звонках со стороны компании после входящего звонка получателя. Запрос на разрешение отображается как при пропущенном, так и при успешном звонке.
Возможные значения:
- ENABLED — включить получателю отображение запроса на разрешение о звонках со стороны компании;
- DISABLED — отключить получателю отображение запроса на разрешение о звонках со стороны компании.
Для звонка получателю требуется явное разрешение от получателя на получение звонков. developers.facebook.com
calling.callHoursobjectНеобязательныйНастройка, позволяющая указать часовой пояс и график работы. Получатель сможет совершать входящие звонки в компанию только в указанные часы работы. developers.facebook.com
calling.callHours.statusstringОбязательный, если параметр calling.callHours не пустойСтатус включения настройки графика работы компании.
Возможные значения:
- ENABLED — включить настройку графика работы компании;
- DISABLED — отключить настройку графика работы компании.
Если настройка графика работы компании отключена — компания считается открытой 24 часа в сутки, 7 дней в неделю.
calling.callHours.timezoneIdstringОбязательный, если параметр calling.callHours не пустойЧасовой пояс, в котором работает компания. developers.facebook.com
calling.callHours.​​weeklyOperatingHoursarray of objectsОбязательный, если параметр calling.callHours не пустойГрафик работы компании по дням недели.
calling.callHours.​weeklyOperatingHours.dayOfWeekstringОбязательный, если параметр calling.callHours.​weeklyOperatingHours не пустойДень недели.
Возможные значения:
- MONDAY — понедельник;
- TUESDAY — вторник;
- WEDNESDAY — среда;
- THURSDAY — четверг;
- FRIDAY — пятница;
- SATURDAY — суббота;
- SUNDAY — воскресенье.
calling.callHours.​weeklyOperatingHours.openTimestringОбязательный, если параметр calling.callHours.​weeklyOperatingHours не пустойВремя открытия компании по графику работы в формате 24-часов. Например, 1130 = 11:30 AM.
- Допускается максимум 2 записи в один день недели.
- openTime должно быть раньше closeTime.
- Перекрывающиеся записи не допускаются.
calling.callHours.​weeklyOperatingHours.closeTimestringОбязательный, если параметр calling.callHours.​weeklyOperatingHours не пустойВремя закрытия компании по графику работы в формате 24-часов. Например, 1130 = 11:30 AM.
- Допускается максимум 2 записи в один день недели.
- openTime должно быть раньше closeTime.
- Перекрывающиеся записи не допускаются.
calling.callHours.​holidaySchedulearray of objectsНеобязательныйНеобязательная настройка для изменения стандартного графика работы компании на период праздников, выходных или отпуска. Поддерживается до 20 изменений стандартного графика работы в одном запросе. Если параметр не передан в запросе, ранее настроенное значение будет очищено - получателю будет отображаться стандартный график работы компании без изменений.
calling.callHours.​holidaySchedule.datestringОбязательный, если параметр calling.callHours.​holidaySchedule не пустойДата в формате YYYY-MM-DD, для которой вы хотите указать изменения стандартного графика работы компании.
calling.callHours.​holidaySchedule.openTimestringОбязательный, если параметр calling.callHours.​holidaySchedule не пустойВремя открытия компании в период изменения стандартного графика работы в формате 24-часов. Например, 1130 = 11:30 AM.
- Допускается максимум 2 записи в один день недели.
- openTime должно быть раньше closeTime.
- Перекрывающиеся записи не допускаются.
calling.callHours.​​holidaySchedule.closeTimestringОбязательный, если параметр calling.callHours.​holidaySchedule не пустойВремя закрытия компании в период изменения стандартного графика работы в формате 24-часов. Например, 1130 = 11:30 AM.
- Допускается максимум 2 записи в один день недели.
- openTime должно быть раньше closeTime.
- Перекрывающиеся записи не допускаются.
calling.sipobjectНеобязательныйНастройка сигнализации звонков через протокол установления сеанса — SIP. Если SIP включен, вы не сможете использовать API-методы и вебхуки, связанные с звонками. developers.facebook.com
calling.sip.statusstringНеобязательныйСтатус включения настройки сигнализации звонков через SIP для данной подписи.
Возможные значения:
- ENABLED — включить настройку сигнализации звонков через SIP;
- DISABLED — отключить настройку сигнализации звонков через SIP, значение по умолчанию.
При статусе ENABLED для подписи будет использоваться только протокол SIP для сигнализации звонка, API не будет работать.
Если в статусе установить DISABLED, значения в параметре calling.sip.servers не сбрасываются. Если вы снова включите SIP для той же подписи, ранее настроенные значения будут активны.
calling.sip.serversarray of objectsНеобязательныйНастройка маршрутизации SIP-сервера.
Для одного приложения может быть настроен только один SIP-сервер.
Для одной подписи может быть настроено несколько SIP-серверов, т.к. подпись может быть использована в нескольких приложениях.
Чтобы удалить ранее настроенный SIP-сервер, передайте в этом параметре пустой массив. Если вы увидите, что некоторые серверы остались после удаления, эти серверы могут принадлежать другим приложениям, поэтому вам необходимо использовать соответствующие токены доступа, чтобы очистить их.
calling.sip.servers.hostnamestringОбязательный, если параметр calling.sip.servers не пустойИмя хоста SIP-сервера.
Запросы должны использовать TLS.
calling.sip.servers.portstringОбязательный, если параметр calling.sip.servers не пустойПорт SIP-сервера, который будет принимать запросы. Запросы должны использовать TLS.
Порт по умолчанию — 5061.
calling.sip.servers.​requestUriUserParamsobjectНеобязательныйЛюбые дополнительные параметры, которые вы хотите передать в пользовательскую часть URI-запроса, используемого в SIP INVITE на ваш SIP-сервер.
Максимальный размер ключа/значения — 128 символов.
Примером использования могут быть Trunk Groups (RFC 4904):
-sip:+1234567890@sip.example.com;
-tgrp=wacall;
-trunk-context=byoc.example.com. datatracker.ietf.org developers.facebook.com
calling.​srtpKeyExchangeProtocolstringНеобязательныйНастройка использования протокола обмена ключами SRTP.
Возможные значения:
- SDES — простой текстовый ключ, определяется в SDP, отправляется по SIP или по API. Может помочь сократить время установления звонка;
- DTLS — обмен зашифрованными ключами, соответствующий отраслевым стандартам. Рекомендуется к использованию. Значение по умолчанию.

Формат ответа

{
"requestId": "string"
}

Пример ответа

{
"requestId": "e49f9a4c89c902902a24b0a2c7ccc7bb"
}

Параметры ответа

ПараметрТип данныхОписание
requestIdstringВнутренний идентификатор запроса.

         


осторожно

* Деятельность компании Meta запрещена на территории Российской Федерации.