Получение информации по шаблонам подмены
Описание
Метод API, позволяющий получить данные о шаблонах подмены, настроенных в проекте.
Запрос
POST:
https://api.calltouch.ru/phone-service/v1/api/calltracking/phone-replacement/list
HEADERS:
- Access-Token — API-ключ;
- SiteId — ID ЛК Calltouch.
Пример тела запроса
{
"phoneTemplateOptions": {
"phoneTemplateIds": [123, 345],
"phoneTemplateName": {
"value": "Номер",
"filterMode": "startwith"
},
"phoneTemplateType": "class"
},
"poolOptions": {
"poolName": {
"value": "Номер"
}
}
}
Параметры запроса
Параметры запроса указываются в формате JSON в теле запроса.
Все условия-фильтры во входных параметрах совмещаются по-логическому И.
| Параметр | Формат | Обязательный | Описание |
| phoneTemplateOptions | object | Нет | Объект с фильтрами по шаблонам подмены |
| phoneTemplateOptions.phoneTemplateIds | array | Нет |
Фильтр по id шаблонов подмены.
При указании этого параметра будут выгружены только шаблоны подмены с указанными id. Массив, можно указать несколько id в массиве. Максимум 50 штук. |
| phoneTemplateOptions.phoneTemplateName.value | string | Нет |
Фильтр по названию шаблона подмены.
При указании этого параметра будут выгружены только шаблоны подмены с подходящими названиями. Поиск регистронезависимый. Может быть найдено несколько подходящих шаблонов подмены, тогда отдаем все подходящие.
Максимум 100 символов.
|
|
phoneTemplateOptions.phoneTemplateName.filterMode |
string | Нет |
Режим фильтрации по названию шаблона подмены.
Описание режимов:
|
| phoneTemplateOptions.phoneTemplateType | string | Нет |
Фильтр по типу шаблона подмены.
При указании этого параметра будут выгружены только шаблоны подмены с указанным типом. Возможные значения:
|
| poolOptions.poolName.value | string | Нет |
Фильтр по названию пула.
При указании этого параметра будут выгружены только те сценарии шаблоны подмены, которые настроены на номерах в пулах с подходящими названиями. Поиск регистронезависимый. Может быть найдено несколько пулов с подходящим названием, тогда отдаем шаблоны подмены из всех подходящих пулов.
Максимум 100 символов.
|
| poolOptions.poolName.filterMode | string | Нет |
Режим фильтрации по имени пула.
Описание режимов:
|
Ответ
Пример ответа
{
"data": [
{
"phoneTemplateId": 87634,
"phoneTemplateName": "main_number",
"phoneTemplateType": "id",
"phoneTemplate": "+${pn[0]} (${pn[1]}${pn[2]}${pn[3]}) ${pn[4]}${pn[5]}${pn[6]}-${pn[7]}${pn[8]}-${pn[9]}${pn[10]}",
"autoSelector": "",
"useInAllPools": true,
"subPools": ["Остальные"]
},
{
"phoneTemplateId": 87634,
"phoneTemplateName": "phone_call",
"phoneTemplateType": "class",
"phoneTemplate": "+${pn[0]} (${pn[1]}${pn[2]}${pn[3]}) ${pn[4]}${pn[5]}${pn[6]}-${pn[7]}${pn[8]}-${pn[9]}${pn[10]}",
"autoSelector": "",
"useInAllPools": false,
"poolOptions": {
"poolNames": ["cb"],
"poolIds": [163738]
}
},
{
"phoneTemplateId": 87634,
"phoneTemplateName": "4951133633",
"phoneTemplateType": "matcher",
"phoneTemplate": "(${pn[1]}${pn[2]}${pn[3]}) ${pn[4]}${pn[5]}${pn[6]}-${pn[7]}${pn[8]}-${pn[9]}${pn[10]}",
"autoSelector": "body",
"useInAllPools": true,
"poolOptions": {
"poolNames": [],
"poolIds": []
}
},
{
"phoneTemplateId": 87634,
"phoneTemplateName": "ct_replace",
"phoneTemplateType": "custom_js",
"phoneTemplate": "",
"autoSelector": "",
"useInAllPools": false,
"poolOptions": {
"poolNames": ["cb"],
"poolIds": [163738]
}
},
{
...
}
]
}
Параметры ответа
В каждом из объектов в data[n] в ответе — данные по одному сценарию переадресации.
Параметры в ответе на запрос:
| Параметр | Формат | Описание |
| data[n].phoneTemplateId | integer | ID шаблона подмены |
| data[n].phoneTemplateName | string |
Название шаблона подмены. Отдаем по той же логике, как отдает эндпоинт https://my.calltouch.ru/api/sites/303/phone_pool/template/list в ЛК. |
| data[n].phoneTemplateType | string |
Тип шаблона подмены:
|
| data[n].phoneTemplate | string | Содержимое шаблона подмены. Для типа custom_js передавать пустое значение. |
| data[n].autoSelector | string | Селектор элементов DOM для подмены, используется только для шаблонов типа auto, в остальных случаях пустой. |
| data[n].useInAllPools | boolean | Использование шаблона во всех пулах: true/false |
| data[n].poolOptions.poolNames | array |
Массив string из названий пулов, в которых подключен данный шаблон подмены.
Если шаблон используется во всех пулах (data[n].useInAllPools=true), то отдаем пустой массив. |
| data[n].poolOptions.poolIds | array |
Массив integer из ID пулов, в которых подключен данный шаблон подмены.
Если шаблон используется во всех пулах (data[n].useInAllPools=true), то отдаем пустой массив. |
Типовые ошибки
Ошибки авторизации
Если в запросе указаны некорректные авторизационные данные — то выводится ошибка. Список типовых ответов при запросах с некорректными авторизационными данными, или некорректными данными в теле API запроса вы можете посмотреть в этой статье.
Ошибки валидации
Если в запросе во входных параметрах обнаруживаются ошибки валидации — отвечаем кодом 400 и выводим ошибку, указывающую на проблемное поле, с пояснением, вида:
{
"meta": [],
"data": {
"type": "validationError",
"validationErrorData": {
"violations": [
{
"fieldPath": "Указание на ошибочное поле",
"message": "Описание в чем именно ошибка"
}
]
}
}
}
Список типовых ответов при запросах с некорректными данными в теле API запроса вы можете посмотреть в этой статье.
Система баллов API Calltouch
Система баллов API — механизм, регулирующий нагрузку на сервера Calltouch. Для каждого проекта выдается индивидуальное суточное количество баллов За каждый успешно выполненный запрос списываются баллы. Подробнее читайте в статье: Система баллов API Calltouch.
Количество запросов в секунду к API Calltouch ограничено — не более 5 запросов в секунду с одного IP-адреса. Например, если в 1 секунду с одного IP-адреса поступит 11 API-запросов, то 5 выполнятся сразу, а остальные API-запросы завершатся с ошибкой c кодом 429 (Too Many Requests).
- A/B тестирование (раздел «Подключение»)
- Email-трекинг (раздел «Подключение»)
- Отслеживание офлайн конверсии (раздел «Подключение»)
- Подключение к отслеживанию дополнительных доменов (раздел «Подключение»)
- Подмена номеров на AMP-страницах Google (раздел «Подключение»)