Добавление пользовательских полей к лидам
Описание
В статье описан 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": "01-01-1990"}
]
}
},
// Лид 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 (раздел «Подключение»)