Читать 8

Получение информации по шаблонам подмены


Описание

Метод API, позволяющий получить данные о шаблонах подмены, настроенных в проекте.

Запрос

POST:

https://api.calltouch.ru/phone-service/v1/api/calltracking/phone-replacement/list

HEADERS:

  • Access-Token — API-ключ;
  • SiteId — ID ЛК Calltouch.

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

{
    "phoneTemplateOptions": {
        "phoneTemplateIds": [123345],
        "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  Нет   Режим фильтрации по названию шаблона подмены.

Описание режимов:

  • start_with — начинается с;
  • contains — содержит;
  • exact — полное соответствие (по умолчанию если фильтр не задан).
phoneTemplateOptions.phoneTemplateType  string  Нет   Фильтр по типу шаблона подмены.

При указании этого параметра будут выгружены только шаблоны подмены с указанным типом.

Возможные значения:

  • id — Подмена содержимого идентификатора;
  • class —  Подмена содержимого класса;
  • matcher — Автоматическая подмена номера;
  • custom_js — Кастомный JS-код.
 
poolOptions.poolName.value  string  Нет   Фильтр по названию пула. 

При указании этого параметра будут выгружены только те сценарии шаблоны подмены, которые настроены на номерах в пулах с подходящими названиями. Поиск регистронезависимый. 

Может быть найдено несколько пулов с подходящим названием, тогда отдаем шаблоны подмены из всех подходящих пулов. 
Максимум 100 символов.
poolOptions.poolName.filterMode  string  Нет   Режим фильтрации по имени пула.

Описание режимов:

  • start_with — начинается с;
  • contains — содержит;
  • exact — полное соответствие (по умолчанию если фильтр не задан).

Ответ

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

{
  "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  Тип шаблона подмены:
  • id — Подмена содержимого идентификатора;
  • class — Подмена содержимого класса;
  • matcher — Автоматическая подмена номера;
  • custom_js — Кастомный JS-код.
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).


Не нашли решение проблемы?
Заполните форму, и мы вам поможем.