Добавление пользовательских полей к лидам
Описание
В статье описан API-метод добавления пользовательских полей к лидам.
Запрос
POST:
https://api.calltouch.ru/lead-service/v1/api/customfield/lead/add
HTTP-заголовки:
- Access-Token — API-ключ
- SiteId — ID ЛК Calltouch
Тело запроса в формате JSON.
Пример тела запроса
{ "leads": [ // Лид 1 { "matching": [ { "type": "request", "requestParams": { "requestId": 1, "tags": ["тег1", "тег2"], "tagsLogic": "and" } }, { "type": "leadContact", "leadContactParams": { "emails": ["name@server.com"], "phones": ["79157771122", "+7 (915) 888-11-22"], "searchAmongPhonesInText": false, "date": "Дата и время лида", "tags": ["тег1","тег2"], "tagsLogic": "and", "leadTypeToMatch": "nearest", "searchDepth": 262800 }, { "type": "requestContact", "requestContactParams": { "emails": ["name@server.com"], "phones": ["79157771122", "+7 (915) 888-11-22"], "md5Phones": ["4fec00b25336e719d4a0b255ea5aa0f5"], "date": "Дата и время заявки", "requestTypeToMatch": "nearestUniq", "searchDepth": 262800 } } ], "addCustomFields": { "overwrite": false, "customFields": [ {"field": "test_field", "value": "test value"}, {"field": "name", "value": 123.4}, {"field": "birthday", "value": "1990-01-01"} ] } }, // Лид N ... ] }
Параметры запроса
Параметр | Формат | Обязательный | Описание |
leads | array | Да | Массив лидов. Можно перечислить до 100 лидов за 1 запрос. Добавление пользовательских полей происходит в режиме онлайн, результат можно получить сразу же. Обязательно. |
leads.matching | object | Да |
Здесь задается приоритет использования разных типов матчинга, по которым мы будем пытаться найти лид для добавления пользовательского поля. Чем выше находится строка с типом матчинга, тем больший приоритет она имеет. Если матчинга завершится на каком-либо типе, остальные типы ниже будут проигнорированы. Одинаковые типы матчинга могут повторяться, но общее кол-во типов не должно превышать 20 строк. |
leads.matching .type |
string |
Обязательно нужно указать хотя бы 1 тип матчинга в приоритете. |
Тип матчинга. Возможные значения:
|
leads.addCustomFields | object | Нет |
Добавление пользовательских полей к лиду.
|
leads.addCustomFields .customFields |
array | Нет |
Указание какие именно пользовательские поля надо добавить. Пользовательское поле с переданным в API названием должно быть создано в ЛК заранее. Формат:
customFields: [ Максимум 20 полей.
|
leads.addCustomFields .overwrite |
boolean | Нет |
Перезаписывать ли существующее значение пользовательского поля у лида или нет. Возможные значения:
|
Ответ
Процесс добавления пользовательских полей запускается сразу же после отправки запроса, после чего сразу же возвращается и ответ.
Пример ответа
{ "meta": [], "data": { "leads": [ { "matchedType": "request", "callInfo": null, "requestInfo": { "requestId": 1257513, "requestNumber": "1257513" }, "isCustomFieldsAdded": true "error": null } ] } }
Параметры ответа
Параметр | Формат |
Описание |
data.leads.isCustonFieldsAdded | boolean |
Флаг успешного добавления пользовательских полей к лиду. Возможные значения:
|
data.leads.callInfo | object | Если пользовательское поле добавилось к звонку, то блок callInfo не пустой. |
data.leads.callInfo.callId | string | ID звонка в Calltouch |
data.leads.callInfo.callReferenceId | string | ID звонка из API-метода импорта звонков, может быть null |
data.leads.callInfo.sipCallId | string | ID звонка с АТС |
data.leads.requestInfo | object | Если пользовательское поле добавилось к заявке, то блок requestInfo не пустой |
data.leads.requestInfo.requestId | string | ID заявки в Calltouch |
data.leads.requestInfo.requestNumber | string | ID заявки, переданный из формы сайта |
data.leads.error | string | Отображется причина ошибки добавления пользовательского поля |
Типовые ошибки
Если в запросе обнаруживаются ошибки валидации, то добавление пользовательского поля не выполняется и выводится ошибка.
{ "meta": [], "data": { "type": "validationError", "apiErrorData": null, "validationErrorData": { "violations": [{ "fieldPath": "leads[0].addCustomFields.customFields", "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).
- A/B тестирование (раздел «Подключение»)
- Email-трекинг (раздел «Подключение»)
- Отслеживание офлайн конверсии (раздел «Подключение»)
- Подключение к отслеживанию дополнительных доменов (раздел «Подключение»)
- Подмена номеров на AMP-страницах Google (раздел «Подключение»)