Читать 7

Добавление менеджеров к лидам


Описание

В статье описан API метод добавления менеджеров к лидам.

Запрос

POST:

https://api.calltouch.ru/lead-service/v1/api/manager/lead/add   

HTTP-заголовки:

  • Access-Token – API-ключ
  • SiteId – ID ЛК Calltouch

Тело запроса в формате JSON.

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

{
    "leads": [

     // Лид 1

        {
            "matching": [
                {
                    "type": "request",
                    "requestParams": {
                        "requestId": 1,
                        "tags": ["тег1", "тег2"],
                        "tagsLogic": "and"
                    }
                },
                {
                    "type": "call",
                    "callParams": {
                        "callId": 2
                    }
                },
                {
                    "type": "requestContact",
                    "requestContactParams": {
                        "emails": ["name@server.com"],
                        "phones": ["79157771122", "+7 (915) 888-11-22"],
                        "date": "01-10-2020 12:00:00",
                        "requestTypeToMatch": "nearestUniq",
                        "searchDepth": 120
                    },
                },
                {
                    "type": "callContact",
                    "callContactParams": {
                        "phones": ["84953338877"],
                        "date": "01-10-2020 12:00:00",
                        "tags": ["тег1","тег2"],
                        "tagsLogic": "and",
                        "callTypeToMatch": "nearestUniqLead",
                        "searchDepth": 120
                        },
                },
{ "type": "leadContact", "leadContactParams": { "emails": ["name@server.com"], "phones": ["79157771122", "+7 (915) 888-11-22"], "md5Phones": ["4fec00b25336e719d4a0b255ea5aa0f5"], "searchAmongPhonesInText": false, "date": "Дата и время лида", "tags": ["тег1","тег2"], "tagsLogic": "and", "leadTypeToMatch": "nearest", "searchDepth": 262800 }
            ],
         "addManagers": {
             "overwrite": false,
             "managers":
                 [
                     {"manager""Иван Иванов"}
                 ]
           }
        },

     // Лид N

        ...
    ]
}

Параметры запроса

Параметр Формат Обязательный Описание
leads array Да Массив лидов. Можно перечислить до 100 лидов за 1 запрос. Обязательно.
leads.matching object Да Здесь задается приоритет использования разных типов матчинга, по которым мы будем пытаться найти лид для тегирования. Чем выше находится строка с типом матчинга, тем больший приоритет она имеет. Если матчинга завершится на каком-либо типе, остальные типы ниже будут проигнорированы. Одинаковые типы матчинга могут повторяться, но общее кол-во типов не должно превышать 20 строк.

leads.matching

.type

string
Обязательно нужно указать хотя бы 1 тип матчинга в приоритете.
Тип матчинга. Возможные значения:
  • call — поиск звонка по ID
  • request — поиск заявки по ID
  • callContact — поиск звонка по номеру телефона / дате
  • requestContact — поиск заявки по номеру телефона / почте / дате
  • leadContact — поиск лида по номеру телефона / почте / дате.
Подробное описание полей в объекте matching в этой статье.

leads.addManagers object Нет Добавление менеджеров к лиду.
leads.addManagers.tags array Нет Указание менеджера которого нужно добавить. Если указанный менеджер уже есть в ЛК, новый не создается, а используются существующий. Обязательно, максимум 1 менеджер.

Формат:

"managers": [
    { "manager": "Менеджер" }
]

leads.addManagers.overwrite boolean Нет Перезаписывать ли существующего менеджера у лида или нет.
  • false — при наличии у лида менеджера он не перезапишется;
  • true — при наличии у лида менеджера он перезапишется.

Ответ

Процесс добавления менеджеров запускается сразу же после отправки запроса, после чего сразу же возвращается и ответ.

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

{
    "meta": [],
    "data": {
        "leads": [{
            "matchedType""call",
            "callInfo": {
                "callId": 12692441,
                "callReferenceId": "test321",
                "sipCallId": null
            },
            "requestInfo": null,
            "isManagerAdded": true,
            "error": null
        }]
    }
}

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

Параметр Формат Описание
data.leads.matchedType string Тип матчинга из параметра matching API-запроса по которому нашелся лид. Если ни один из переданных типов не нашел лид, то передается null.
data.leads.callInfo object Если матчинг сработал на звонок, то блок callInfo не пустой.
data.leads.callInfo.callId string ID звонка в Calltouch.
data.leads.callInfo.callReferenceId string Внешний ID звонка, если отсутствует то отдается null.
data.leads.callInfo.sipCallId string ID звонка с АТС, если отсутствует то отдается null.
data.leads.requestInfo object Если матчинг сработал на заявку, то блок requestInfo не пустой.
data.leads.requestInfo.requestId string ID заявки в Calltouch.
data.leads.requestInfo.requestNumber string Внешний ID заявки.
data.leads.isManagerAdded boolean Флаг указывающий, что у лида были добавлены менеджеры. Возможные значения: true или false.
data.leads.error string Отображаются причины ошибки добавления менеджера. Если ошибок нет то —  null.

Типовые ошибки

Если в запросе обнаруживаются ошибки валидации, то тегирование не выполняется и выводится ошибка. 

{
    "meta": [],
    "data": {
        "type": "validationError",
        "apiErrorData": null,
        "validationErrorData": {
            "violations": [{
                "fieldPath": "leads[0].addManagers.managers",
"message": "This value should not be blank." }] } } }

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

Система баллов API Calltouch

Система баллов API — механизм, регулирующий нагрузку на сервера Calltouch. Для каждого проекта выдается индивидуальное суточное количество баллов За каждый успешно выполненный запрос списываются баллы. Подробнее читайте в статье: Система баллов API Calltouch.

Количество запросов в секунду к API Calltouch ограничено — не более 5 запросов в секунду с одного IP-адреса. Например, если в 1 секунду с одного IP-адреса поступит 11 API-запросов, то 5 выполнятся сразу, а остальные API-запросы завершатся с ошибкой c кодом 429 (Too Many Requests).

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