Получение информации по шаблонам подмены
Описание
Метод 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 (раздел «Подключение»)