Callback
Источник запросов
Callback будут приходить с IP-адресов 185.175.44.211 и 46.148.235.62, которые необходимо включить в ACL на стороне веб-сервера клиента для обеспечения корректного взаимодействия.
Формат взаимодействия
Обратные вызовы (callback) выполняются по протоколу HTTP. В зависимости от версии callback, данные передаются либо в заголовках запроса, либо в его теле в формате JSON.
Настройка и выбор callback происходит в услуге HTTP.
V1
Используется в приложениях.
Метод: любой.
Параметры передаются в заголовке запроса:
https://XXXXX/api/1/nvp/public/3602/XXXX?type=endCallback&reference=XXX&state=5&error=19&duration=0&text=1+9+5+1+&appKey=XXXXXX
| Параметры | Описание |
|---|---|
| type | Тип callback запроса (startCallback/endCallback) |
| reference | Пользовательский параметр с которым будет вызван callback по результатам выполнения приложения |
| state | Результат выполнения приложения |
| error | Код ошибки, либо 0 — в случае успешного выполнения |
| duration | Длительность вызова |
| text | Переменные из сценария |
| appKey | API ключ приложения |
V2
Используется только для FlashCall.
Метод: любой, кроме GET.
Данные передаются в теле запроса.
{
"requestId":"ХХХХХ",
"appKey":"ХХХХХ",
"sourceAddr":"",
"number":"7ХХХХХХХХХХ",
"vars":"text=3+7+1+4+0+1+",
"status":"REJECTED",
"timestamp":"1722314308954"
}
| Параметр | Описание |
|---|---|
| requestId | Уникальный идентификатор запроса на стороне партнера |
| appKey | API ключ приложения |
| sourseAddr | Имя отправителя Поле не должно содержать кириллицы |
| number | Номер телефона в формате e.164 |
| vars | Переменные в сценарии |
| status | Статусы, которые присваиваются в соответствии с таблицей статусов |
| timestamp | Время изменения статуса в формате unixtime |
V4
Используется в приложениях.
Метод: независимо от настроек в интерфейсе, всегда POST.
Параметры и переменные сценария передаются в теле запроса в формате JSON.
{
"reference": "123",
"type": "endCallback",
"state": "2",
"error": "0",
"duration": "4",
"appKey":"ХХХХХ",
"sourceAddr":"ХХХХХ",
"destAddr": "ХХХХХ",
"a": "1111",
"c": "444",
"b+": "2222",
"timestamp":"1722314308954"
}
| Параметры | Описание |
|---|---|
| reference | Пользовательский параметр с которым будет вызван callback по результатам выполнения приложения |
| type | Тип callback запроса (startCallback/endCallback) |
| state | Результат выполнения приложения |
| error | Код ошибки, либо 0 — в случае успешного выполнения |
| duration | Длительность вызова |
| appKey | API ключ приложения |
| sourceAddr | Исходящий номер Поле не должно содержать кириллицы |
| destAddr | Номер телефона получателя |
| a, c, b+ | Переменные из сценария |
| timestamp | Время изменения статуса в формате unixtime |
Описание state
| Состояние | Описание |
|---|---|
| state=0 | Начальное состояние |
| state=1 | Передано в обработку |
| state=2 | Успешно |
| state=5 | Не успешно |
| state=6 | В работе |
| state=8 | Внутренняя ошибка |
| state=10 | Отложено |
Описание ошибок
Результат выполнения callback`ов может содержать ошибки. Чтобы узнать больше об ошибках, которые могли возникнуть у вас, нажмите здесь.