Выгрузка журнала заявок через API
Назначение
API — это программный интерфейс для внешних программных продуктов. Рассматриваемый в данном разделе API интерфейс позволяет получить статистику о заявках, которая может быть проанализирована другими системами, и на основе которой клиенты сервиса могут сделать свои выводы и прогнозы, интегрировать данные в CRM, или другие сервисы.
API-метод для выгрузки заявок
Посмотреть создавшиеся заявки можно не только в интерфейсе Calltouch, но и получить их выгрузку в формате JSON через API.
Запрос
Поддерживаемый метод отправки: GET.
Формат результатов выборки: JSONMapObject
API-запрос:
https://api.calltouch.ru/calls-service/RestAPI/requests
Параметры запроса
Параметр | Обязательный | Описание |
clientApiId | Да |
API токен. Получить его можно в разделе:
Интеграции /
Отправка данных во внешние системы / API и Webhooks / API.
|
siteId | Да |
ID личного кабинета. Получить его можно в разделе: Интеграции / Отправка данных во внешние системы / API и Webhooks / API. |
dateFrom |
Да |
Начальная дата создания заявок, с которой они будут выгружены. Формат mm/dd/yyyy. |
dateTo | Да | Конечная дата создания заявок, до которой они будут выгружены. Формат mm/dd/yyyy. |
timeFrom | Нет | Время начала периода выгрузки в формате hh:mm:ss. |
timeTo | Нет | Время конца периода выгрузки в формате hh:mm:ss. |
attribution | Нет |
Модель атрибуции заявок. Возможные значения:
По умолчанию, если параметр не указан - заявки выгружаются согласно модели атрибуции, настроенной в ЛК. Более подробно о моделях атрибуции Вы можете узнать в соответствующей статье. |
requestNumber |
Нет | Внешний ID заявки, которую необходимо выгрузить. Для выгрузки нескольких заявок допустимо вводить несколько значений, разделенный запятой. При выгрузке заявок по их ID - параметры dateFrom и dateTo указывать не обязательно. |
requestId | Нет |
ID заявки в Calltouch, которую необходимо выгрузить. Для выгрузки нескольких заявок допустимо вводить несколько значений, разделенный запятой. При выгрузке заявок по их ID - параметры dateFrom и dateTo указывать не обязательно. |
subject | Нет | В качестве его значения можно указать название формы, для выгрузки только тех заявок, которые были сделаны с этой формы. Поиск среди заявок происходит по названию формы, которое "начинается с" указанного значения в параметре subject. |
keywords | Нет | В качестве его значения можно указать ключевой запрос, по которому пользователь совершил переход на отслеживаемый сайт и оставил заявку - в этом случае Поиск среди заявок происходит по ключевому запросу, который "содержит" указанное значение в параметре keywords. |
city | Нет | В качестве его значения можно указать название города, для выгрузки только тех заявок, которые были сделаны пользователем из этого города. Поиск среди заявок происходит по названию города, которое "полностью совпадает" с указанным значением в параметре city. Название городов указываются в формате базы данных Sypex Geo. |
source | Нет | В качестве его значения можно указать название источника, для выгрузки только тех заявок, которые были сделаны пользователем при переходе на сайт с этого источника. Поиск среди заявок происходит по названию источника, которое "полностью совпадает" с указанным значением в параметре source. |
medium | Нет | В качестве его значения можно указать название канала, для выгрузки только тех заявок, которые были сделаны пользователем при переходе на сайт с этого канала. Поиск среди заявок происходит по названию канала, которое "полностью совпадает" с указанным значением в параметре medium. |
bindTo | Нет |
Флаг выгрузки заявок с привязкой к разным метрикам. Возможные значения:
|
ani.value | Нет |
В качестве его значения можно указать телефонный номер, для выгрузки только тех заявок, в которых был указан этот телефонный номер. |
ani.filterMode | Нет |
Режим фильтрации предыдущего параметра по номеру телефона, оставленного в заявке. Описание режимов смотри ниже. |
email.value | Нет |
В качестве его значения можно указать электронную почту, для выгрузки только тех заявок, в которых была указана эта электронная почта. |
email.filterMode | Нет |
Режим фильтрации предыдущего параметра по электронной почте, оставленной в заявке. Описание режимов смотри ниже. |
withMapVisits | Нет |
Флаг истории посещений посетителя, оставившего заявку. Формат: withMapVisits=true - включить в ответ историю посещений, withMapVisits=false или отсутствие параметра - не включать. |
withRequestTags | Нет |
Флаг выгрузки тегов, которые были присвоены заявкам. Формат:
|
withYandexDirect | Нет |
Флаг выгрузки данных по рекламным кампаниям Яндекс.Директ. Если входной параметр withYandexDirect = true, то в выгрузке присутствует выходной параметр yandexDirect, если withYandexDirect = false или не указан, то выходной параметр yandexDirect отсутствует. |
withGoogleAdwords | Нет | Флаг выгрузки данных по рекламным кампаниям Google AdWords. Если входной параметр withGoogleAdwords = true, то в выгрузке присутствует выходной параметр googleAdWords, если withGoogleAdwords = false или не указан, то выходной параметр googleAdWords отсутствует. |
withAttrs | Нет |
Флаг выгрузки сторонних параметров, переданных заранее в статистику Calltouch. Возможные значения: 1. Флаг withAttrs=false или не указан, по умолчанию. Сторонние параметры не выгружаются, значение выходного параметра attrs=null. 2. Флаг withAttrs=true. Сторонние параметры выгружаются в выходной параметр attrs. Если их нет, то значение выходного параметра attrs=null. |
withMapVisits |
Нет | Флаг истории посещений посетителя, оставившего заявку. Формат: withMapVisits=true - включить в ответ историю посещений, withMapVisits=false или отсутствие параметра - не включать. |
manager | Нет | В качестве его значения можно указать ФИО менеджера, для выгрузки только тех заявок, которым был присвоен этот менеджер с помощью API-метода присвоения менеджеров к лидам. |
withWidgetInfo | Нет |
Флаг выгрузки данных (ФИО, email, номер телефона, кастомные поля), оставленных в соц. сетях VK, Facebook, TikTok, а также виджета Умной заявки
Формат:
|
withCustomFields | Нет |
Флаг выгрузки данных по пользовательским полям. Формат:
Если параметр не указан - по умолчанию false Данные будут доступны в выходном параметре customFields. |
withDcm | Нет |
Флаг выгрузки данных по интеграции с DoubleClick Campaign Manager. Возможные значения:
По каждой заявки может быть несколько отправок в DCM, в соответствии с настройками интеграции. Поэтому в ответе будет массив данных, каждая отправка будет в отдельном элементе массива. В ответ на запрос к API попадает последняя попытка отправки на момент обращения к нашему API. |
Режимы фильтрации
Выборку некоторых параметров выше, имя которых параметр.filterMode, можно дополнительно отфильтровать:
- startwith — начинается с
- contains — содержит
- exact — полное соответствие (по умолчанию если фильтр не задан)
Примеры GET-запросов на выгрузку заявок
- Выгрузка нескольких заявок
Запрос далее выгрузит заявки, созданные за период с 28 марта по 4 апреля 2019 года:
https://api.calltouch.ru/calls-service/RestAPI/requests/?clientApiId=mD4rd.Nc5JINXrWEDLIi7/jvY/3CR64etYH40DggYFpCo&dateFrom=03/28/2019&dateTo=04/04/2019&withMapVisits=true
- Выгрузка одной заявки
Запрос далее выгрузит заявку с идентификатором 79825254:
https://api.calltouch.ru/calls-service/RestAPI/requests/?clientApiId=GllU3tbwhrTkA1Chryud4xIT48WE8FPeNyrGQQswIb3nr&requestId=79825254
Ответ
Пример ответа
После успешной отправки API-запроса на выгрузку заявок, возвращается следующий JSON-ответ:
[
{
"date": 1554382259240,
"comments": [
{
"commentId": 7319,
"requestId": 145507,
"comment": "Колин комментарий",
"partyId": 19688,
"partyName": "API"
}
],
"requestType": "CLIENT_ORDER",
"dateStr": "04/04/2019 15:50:59",
"manager": "Вася",
"session": {
"keywords": "(not set)",
"city": "moscow",
"ip": "95.163.114.76/32",
"browser": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36",
"source": "(direct)",
"medium": "(none)",
"ref": "",
"url": "https://alftest.ru/calltouch/supertest/",
"utmSource": "<не указано>",
"utmMedium": "<не указано>",
"utmTerm": "<не указано>",
"utmContent": "<не указано>",
"utmCampaign": "<не указано>",
"guaClientId": null,
"yaClientId": null,
"sessionId": 16441053,
"additionalTags": [],
"attribution": 1,
"attrs": null
},
"subject": "Заявка на звонок",
"uniqTargetRequest": true, "requestUrl": "https://test.ru/123",
"mapVisits": [
{
"utmSource": "<не указано>",
"sessionDate": "03/04/2019 16:02:51",
"city": "moscow",
"ip": "95.163.114.76/32",
"utmTerm": "<не указано>",
"utmContent": "<не указано>",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36",
"sessionId": 15952760,
"source": "(direct)",
"medium": "(none)",
"utmCampaign": "<не указано>",
"url": "https://alftest.ru/calltouch/supertest/",
"ref": "",
"additionalTags": [],
"utmMedium": "<не указано>",
"guaClientId": null,
"keyword": "(not set)"
},
{
"utmSource": "<не указано>",
"sessionDate": "04/04/2019 15:50:34",
"city": "moscow",
"ip": "95.163.114.76/32",
"utmTerm": "<не указано>",
"utmContent": "<не указано>",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36",
"sessionId": 16441053,
"source": "(direct)",
"medium": "(none)",
"utmCampaign": "<не указано>",
"url": "https://alftest.ru/calltouch/supertest/",
"ref": "",
"additionalTags": [],
"utmMedium": "<не указано>",
"guaClientId": null,
"keyword": "(not set)"
}
],
"uniqueRequest": true, "widgetInfo: { "fields": [ { "name": "Имя", "value": "Андрей" }, { "name": "Номер телефона", "value": "+7 (977) 684-11-08", "type": "phone", "title": null } ] }, "RequestTags": [ { "category": "", "type": "AUTO-CT", "names": [ "Тег заявки" ] } ],
"requestNumber": "145507",
"requestId": 145507,
"client": {
"fio": "Коля",
"clientId": 640236,
"phones": [
{
"phoneNumber": "79991234567",
"phoneType": "OTHER"
}
],
"contacts": [
{
"contactType": "EMAIL",
"contactValue": "kolya@yandex.ru"
}
]
},
"orders": [
{
"orderId": 119901,
"callId": null,
"dateCreated": 1554382620000,
"status": "PENDING",
"realSum": "2800.0000",
"offered": null,
"sent": "04.04.2019",
"sum": "2800.0000",
"isMarked": null,
"commentsCount": 0,
"currentAmount": 2800,
"orderNumber": "119901",
"orderSum": "2800.0000",
"orderStatus": "PENDING",
"orderComments": "",
"session": {
"keywords": "(not set)",
"city": "moscow",
"ip": "95.163.114.76/32",
"browser": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36", "device": "desktop", "os": "Windows", "browserName": "Chrome",
"source": "(direct)",
"medium": "(none)",
"ref": "",
"url": "https://alftest.ru/calltouch/supertest/",
"utmSource": "<не указано>",
"utmMedium": "<не указано>",
"utmTerm": "<не указано>",
"utmContent": "<не указано>",
"utmCampaign": "<не указано>",
"guaClientId": null,
"yaClientId": null,
"sessionId": 16441053,
"additionalTags": [],
"attribution": 1,
"attrs": null
}
}
],
"targetRequest": true,
"status": "NOT_SET",
"order": {
"orderId": 119901,
"callId": null,
"dateCreated": 1554382620000,
"status": "PENDING",
"realSum": "2800.0000",
"offered": null,
"sent": "04.04.2019",
"sum": "2800.0000",
"isMarked": null,
"commentsCount": 0,
"currentAmount": 2800,
"orderNumber": "119901",
"orderSum": "2800.0000",
"orderStatus": "PENDING",
"orderComments": "",
"session": {
"keywords": "(not set)",
"city": "moscow",
"ip": "95.163.114.76/32",
"browser": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36",
"source": "(direct)",
"medium": "(none)",
"ref": "",
"url": "https://alftest.ru/calltouch/supertest/",
"utmSource": "<не указано>",
"utmMedium": "<не указано>",
"utmTerm": "<не указано>",
"utmContent": "<не указано>",
"utmCampaign": "<не указано>",
"guaClientId": null,
"yaClientId": null,
"sessionId": 16441053,
"additionalTags": [],
"attribution": 1,
"attrs": null
}
}
}, ... { ... } ]
JSON-объекты:
Объект | Описание |
date | Дата и время создания заявки в формате Unix Timestamp в миллисекундах. |
comments |
Комментарии к заявкам. Возможные значения:
Где вложенные объекты элемента массива:
Обратите внимание, в конце комментария comment может присутствовать символ \n. Он означает перенос строки, не забудьте учесть это при парсинге параметров. |
requestNumber | Уникальный идентификатор заявки на Вашем сайте, который Вы отправили в запросе. Если Вы не отправляли данный параметр, в ответе будет содержаться уникальный идентификатор заявки в Calltouch (он же будет и в объекте Дата и время создания заявки в формате dd/mm/yyyy hh:mm:ss. далее). |
dateStr | Дата и время создания заявки в формате dd/mm/yyyy hh:mm:ss. |
manager | ФИО менеджера, который был присвоен заявке с помощью API-метода присвоения менеджеров к лидам. Если у заявки нет менеджера, передается значение null. |
session |
Объект будет содержать вложенные объекты с описанием посещения, за которым закрепилась заявка. Описание вложенных объектов:
Если Вы не отправляли идентификатор сессии Calltouch в запросе, объект будет равен значению null. |
requestId | Уникальный идентификатор заявки в Calltouch. |
subject | Название формы на Вашем сайте, которое Вы отправили в запросе. |
requestUrl |
URL страницы, с которой была отправлена заявка |
uniqTargetRequest |
Уникально-целевая заявка. Может принимать следующие значения:
|
uniqueRequest |
Уникальная заявка. Может принимать следующие значения:
|
siteId | ID сайта |
client |
Объект будет содержать вложенные объекты с описанием клиента, данные по которому Вы отправили в запросе. Описание вложенных объектов:
|
targetRequest |
Целевая заявка. Может принимать следующие значения:
|
orders |
Массив всех сделок, связанных с заявкой. Для каждой сделки будет содержать вложенные объекты с описанием сделки, связанной с заявкой, если таковые были созданы (см. статью Управление сделками через API). Описание вложенных объектов:
Если Вы не отправляли идентификатор сессии Calltouch в запросе, массив будет пустой. |
mapVisits |
История посещений. Параметр присутствует в случае, если указан входной параметр истории посещений withMapVisits=true. Результат будет содержать все посещения пользователя оставившего заявку на сайте,
|
yandexDirect |
Если источник звонка или заявки рекламная кампания Яндекс.Директ, между Calltouch и Яндекс.Директ включена интеграция, то в данном параметре выводится следующая информация:
"yandexDirect": { "campaignId": 32515134, "adGroupId": 325245212134, "adId": 2546356252, "criteriaId": 254251323 } Пример ответа, когда у звонка или заявки нет этих данных (не настроена интеграция, либо данные еще не собрались): "yandexDirect": null |
googleAdWords |
Если источник звонка или заявки рекламная кампания Google AdWords, между Calltouch и Google AdWords включена интеграция, то в данном параметре выводится следующая информация:
"googleAdWords": { "campaignId": 35635656, "adGroupId": 134524245, "creativeId": 23134141, "criteriaId": 4324553542 } Пример ответа, когда у звонка или заявки нет этих данных (не настроена интеграция, либо данные еще не собрались):
"googleAdWords": null |
attrs |
Сторонние параметры, переданные заранее в статистику Calltouch. Выгружаются, если во входных параметрах был передан флаг withAttrs=true. Возможные значения:
attrs: {"param1":"value1","param2":"value2"} |
dcm |
Данные по отправке заявки с DoubleClick Campaign Manager. Формат ответа: 1. Если входной параметр withDcm (см. выше) не задан или false, то:
"dcm": null "dcm": [] "dcm": [ Где:
|
widgetInfo |
Данные по кастомным полям заявки из виджета. Выгружаются только для заявок через виджеты, если был передан входной параметр withWidgetInfo=true Формат ответа: [ |
customFields |
Данные по пользовательским полям в звонках. Будут в ответе если был передан входной параметр withCustomFields=true. Формат ответа: [ |
ctClientId |
Идентификатор посетителя Calltouch. Он представляет из себя значение нашей куки _ct. Если в звонке значение отсутствует (у лида нет сессии, например, звонок на статический номер), то в значении будет null. |
ctClientId |
Идентификатор посетителя Calltouch. Он представляет из себя значение нашей куки _ct. Если в звонке значение отсутствует (у лида нет сессии, например, звонок на статический номер), то в значении будет null. |
RequestTags[i].names
|
Теги заявок, присутствуют в случае, если указан входной параметр withRequestTags=true. Параметр содержит следующие данные:
category — устаревший параметр, оставлен в API для обратной совместимости и в ЛК нигде не используется. Теги нужно парсить из RequestTags[i].names. Если там встречается запятая – это разделить тегов и их там несколько. |
- JSON-объекты, не описанные выше, но присутствующие в ответе — являются устаревшими, их следует игнорировать в ответе.
- Выгрузка данных осуществляется в соответствии с ограничениями по сегментам у пользователя-владельца токена. Если пользователь имеет ограниченный доступ к ряду сегментов, то в ответе будут присутствовать только те заявки, которые входят в сегменты, доступные пользователю.
- Данные из Яндекс.Директ и Google AdWords подгружаются в Calltouch на следующий день после фиксирования звонка или заявки. Если данные обновляются на стороне Яндекс.Директ или Google AdWords (они могут обновиться 4 раза в месяц), то они будут изменены и в 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 (раздел «Подключение»)