Получение информации по сценариям переадресации
Описание
С помощью данного API метода можно получать информацию о настроенных в проекте сценариях переадресации.
Запрос
POST:
https://api.calltouch.ru/phone-service/v1/api/calltracking/call-redirect/list
HEADERS:
- Access-Token — API-ключ;
- SiteId — ID ЛК Calltouch.
Пример тела запроса
Тело запроса в формате JSON.
{
"redirectOptions": {
"redirectIds": [123, 345],
"redirectName": {
"value": "Номер",
"filterMode": "star_twith"
},
"redirectStatus": "active"
},
"poolOptions": {
"poolName": {
"value": "Остальные"
}
},
"phoneNumbers": ["79001112233", "79005554433"]
}
Параметры запроса
| Параметр | Формат | Обязательный | Описание |
| redirectOptions | object | Нет | Объект с фильтрами по настоенной на номерах переадресации. |
| redirectOptions.redirectIds | array | Нет |
Фильтр по id сценария переадресации.
При указании этого параметра будут выгружены только те номера, у которых настроена переадресации по сценариям с указанными id.
Массив, можно указать несколько id сценариев переадресации в массиве. Максимум 50 штук. |
| redirectOptions.redirectName.value | string | Нет |
Фильтр по имени сценария переадресации.
При указании этого параметра будут выгружены только сценарии переадресации с подходящими названиями. Поиск регистронезависимый. Может быть найдено несколько подходящих сценариев переадресации, тогда отдаем все подходящие сценарии. Максимум 100 символов. |
| redirectOptions.redirectName.filterMode | string |
Нет |
Режим фильтрации по имени сценария, описание режимов:
|
| redirectOptions.redirectStatus | string | Нет |
Фильтр по статусу сценария переадресации.
При указании этого параметра будут выгружены только сценарии с искомым статусом. Возможные значения:
|
| poolOptions.poolName.value | string | Нет |
Фильтр по названию пула.
При указании этого параметра будут выгружены только те сценарии переадресации, которые настроены на номерах в пулах с подходящими названиями. Поиск регистронезависимый. Может быть найдено несколько пулов с подходящим названием, тогда отдаем сценарии переадресации из всех подходящих пулов. Максимум 100 символов. |
| poolOptions.poolName.filterMode | string | Нет |
Режим фильтрации по имени пула, в котором используется сценарий переадресации, описание режимов:
|
| phoneNumbers | array | Нет |
Фильтр по подменным номерам, по которым нужно получить сценарии переадресации.
Формат "79123456789". Массив, можно указать несколько номеров в массиве. Максимум 300 номеров. |
Ответ
Пример ответа
{
"data": [
{
"redirectId": 79105,
"redirectName": "Транк",
"redirectType": "sipTrunk",
"redirectStatus": "active",
"isComplex": false,
"redirectParams": {
"uri": "sip2264.sitnet.ru",
"login": "login",
"password": "pa55word",
"ignoreEarlyMedia": true,
"reservePhone": {
"enabled": true,
"phoneNumber": "79115554433",
"callTimeout": 60
}
},
"poolOptions": {
"poolNames": [
"cb"
],
"poolIds": [
163738
]
},
"phoneNumbers": [
"74996268830"
]
},
{
"redirectId": 79106,
"redirectName": "Номер +79001328426",
"redirectType": "phone",
"redirectStatus": "active",
"isComplex": false,
"redirectParams": {
"phoneNumber": "79001328426",
"ignoreEarlyMedia": true,
"reservePhone": {
"enabled": false,
"phoneNumber": "",
"callTimeout": null
}
},
"poolOptions": {
"poolNames": [
"Остальные",
"Визитка"
],
"poolIds": [
123456,
123321
]
},
"phoneNumbers": [
"74996268831",
"74996268832",
"74996268833",
"74996268834",
"74996268835"
]
},
{
"redirectId": 79107,
"redirectName": "SIP URI",
"redirectType": "sipUri",
"redirectStatus": "active",
"isComplex": false,
"redirectParams": {
"login": "00074994449182",
"server": "vpbx400285819.mangosip.ru",
"port": "5060",
"ignoreEarlyMedia": false,
"reservePhone": {
"enabled": false,
"phoneNumber": "",
"callTimeout": null
}
},
"poolOptions": {},
"phoneNumbers": []
},
{
"redirectId": 79108,
"redirectName": "Распределение по времени",
"redirectType": "timeOfDay",
"redirectStatus": "active",
"isComplex": true,
"redirectParams": {},
"poolOptions": {},
"phoneNumbers": []
},
{
...
}
]
}
Параметры ответа
| Параметр | Формат | Описание |
| data[n].redirectId | integer | ID сценария переадресации. |
| data[n].redirectName | string | Имя сценария переадресации. |
| data[n].redirectType | string |
Тип сценария:
|
| data[n].redirectStatus | string |
Статус сценария:
|
| data[n].isComplex | boolean | Сложный сценарий: true/false |
| data[n].redirectParams | object |
Подробности настроек сценария, содержание будет отличаться в зависимости от типа сценария (redirectType):
|
| data[n].redirectParams.phoneNumber | string | Используется только если "type": "phone", содержит номер телефона переадресации, формат "79123456789". |
| data[n].redirectParams.login | string | Используется только если "type": "sipUri", содержит логин от SIP URI. |
| data[n].redirectParams.server | string | Используется только если "type": "sipUri", содержит сервер (IP/домен) от SIP URI. |
| data[n].redirectParams.port | string | Используется только если "type": "sipUri", содержит порт SIP URI. |
| data[n].redirectParams.uri | string | Используется только если "type": "sipTrunk", содержит адрес сервера транка в Телемире (sipXXXX.sitnet.ru). |
| data[n].redirectParams.login | string | Используется только если "type": "sipTrunk", содержит логин от SIP транка. |
| data[n].redirectParams.password | string | Используется только если "type": "sipTrunk", содержит пароль от SIP транка. |
| data[n].redirectParams.ignoreEarlyMedia | boolean |
Используется, если "type": "phone", "sipUri" или "sipTrunk". Настройка "Игнорировать оповещения", может принимать значения true/false. |
| data[n].redirectParams.reservePhone | object |
Используется, если "type": "phone", "sipUri" или "sipTrunk". Cодержит настройки резервного номера. |
| data[n].redirectParams.reservePhone.enabled | boolean |
Используется, если "type": "phone", "sipUri" или "sipTrunk". Настройка "используется резервный номер телефона", может принимать значения true/false. |
| data[n].redirectParams.reservePhone.phoneNumber | string |
Используется, если "type": "phone", "sipUri" или "sipTrunk". Cодержит резервный номер телефона. |
| data[n].redirectParams.reservePhone.callTimeout | integer |
Используется, если "type": "phone", "sipUri" или "sipTrunk". Количество секунд до звонка на резервный номер. Может быть null. |
| data[n].poolOptions.poolNames | array | Массив string из названий пулов, в которых подключен данный сценарий. |
| data[n].poolOptions.poolIds | array | Массив string из ID пулов, в которых подключен данный сценарий. |
| data[n].phoneNumbers | array | Массив string из номеров, которым назначен данный сценарий. |
Типовые ошибки
Ошибки авторизации
Если в запросе указаны некорректные авторизационные данные — то выводится ошибка. Список типовых ответов при запросах с некорректными авторизационными данными, или некорректными данными в теле API запроса вы можете посмотреть в этой статье.
Ошибки валидации
Если в запросе во входных параметрах обнаруживаются ошибки валидации — отвечаем кодом 400 и выводим ошибку, указывающую на проблемное поле, с пояснением, вида:
{
"meta": [],
"data": {
"type": "validationError",
"validationErrorData": {
"violations": [
{
"fieldPath": "Указание на ошибочное поле",
"message": "Описание в чем именно ошибка"
}
]
}
}
}
Список типовых ответов при запросах с некорректными данными в теле API запроса вы можете посмотреть в этой статье.
Система баллов API
Система баллов API — механизм, регулирующий нагрузку на сервера Calltouch. Для каждого проекта выдается индивидуальное суточное количество баллов. За каждый успешно выполненный запрос списываются баллы. Подробнее читайте в статье: Система баллов API Calltouch
Количество запросов в секунду к API Calltouch ограничено — не более 5 запросов в секунду с одного IP-адреса. Например, если в 1 секунду с одного IP-адреса поступит 11 API-запросов, то 5 выполнятся сразу, а остальные API-запросы завершатся с ошибкой c кодом 429 (Too Many Requests).
- A/B тестирование (раздел «Подключение»)
- Email-трекинг (раздел «Подключение»)
- Отслеживание офлайн конверсии (раздел «Подключение»)
- Подключение к отслеживанию дополнительных доменов (раздел «Подключение»)
- Подмена номеров на AMP-страницах Google (раздел «Подключение»)