API метод выгрузки отчета по сквозной аналитике
Предназначение API-методов
С помощью API-методов ниже можно выгрузить статистику по любым метрикам Calltouch, доступных в отчете: "Сквозная аналитика":
Статистику через API можно получить в любом порядке уровней вложенности:
.png)
Доступны стандартные уровни: Канал, Источник, Кампания, Объявление, Ключевое слово, Дата (Дни, Недели, Месяцы).
Статистику по API можно отфильтровать по любым значениям канала, источника, кампании, объявления и ключевого слова. Фильтрация осуществляется по логическому условию «равно».
За один API-запрос можно сформировать статистику не более, чем за 90 дней.
Если необходимо получить статистику более, чем за 90 дней, можно последовательно отправить несколько API-запросов, разбив их на периоды.
Описание API-методов
Для скачивания описанной выше статистики по различным метрикам, необходимо последовательно выполнить 3 API-запроса:
-
Отправить запрос на формирование выгрузки, в ответ он вернет ID формирующийся выгрузки.
-
Дождаться пока выгрузка будет сформирована. Проверить ее готовность можно отдельным запросом, на входе которого указывается полученный ID формирующийся выгрузки в ответе первого запроса.
-
Как только выгрузка будет сформирована, скачать ее отдельным API-запросом.
Вся выгружаемая статистика базируется на основе отчета по Сквозной аналитике. Если вы хотите сравнить полученную статистику по API со статистикой в ЛК, используйте именно этот отчет.
Для авторизации в API используется стандартный токен и ID личного кабинета Calltouch, получить который можно в разделе:
Интеграции /
Отправка данных во внешние системы / API и Webhooks / API.
Получение по API статистики из групповых личных кабинетов недоступно. В случае такого кейса, необходимо получать статистику из отдельных личных кабинетов, входящих в групповой личный кабинет.
За каждый API-запрос списывается определенное количество API-баллов, доступных для вашей учетной записи. Количество списываемых баллов будет указана для каждого запроса далее в разделе «цена».
Будьте внимательны при проектировании интеграции — если лимит API-баллов будет исчерпан, вы не сможете обращаться к API в течение суток. Подробнее читайте в статье: Система баллов API Calltouch.
Далее описан формат всех трех API-запросов.
API-метод формирования выгрузки статистики по различным метрикам
Цена выполнения запроса: 100 баллов
POST https://api.calltouch.ru/report-service/RestAPI/api/costs-export/create
Headers:
- Access-Token: API-токен Calltouch
- Site-Id: ID личного кабинета Calltouch
Формат тела запроса: JSON
Пример тела запроса:
{ "dateFrom": "2021-04-01", "dateTo": "2021-04-03", "format": "json",
"attribution": 0, "metrics": [76,77,18,112,113,111], "dimensions": ["medium", "source", "campaign", "content", "term", "days"], "filters": [ { "parameter": "source", "operator": "equals", "value": "yandex" }, { "parameter": "medium", "operator": "equals", "value": "cpc" }, { "parameter": "term", "operator": "equals", "value": "calltouch" } ] }
Пример тела ответа:
{
"meta": [],
"data": {
"exportId": 120146
}
}
Описание параметров:
Параметр | Обязательно | Формат | Описание | Пример |
Запрос | ||||
dateFrom | Да | yyyy-mm-dd | Дата начала периода | 2022-09-02 |
dateTo | Да | yyyy-mm-dd | Дата конца периода | 2022-09-02 |
format | Нет | Строка | Формат выгрузки. Возможные значения: json или csv. Если параметр не передан, то по умолчанию json | csv |
attribution | Да | Число |
Модель аттрибуции:
|
1 |
metrics | Да | Массив | ID выгружаемых метрик, см. таблицу ниже «ID метрик и их названий в личном кабинете Calltouch». Первыми двумя метриками обязательно передавать бюджет (id=76) и клики (id=77) и именно в таком порядке: 76,77,...остальные id метрик. | 76,77,18,112,113,111 |
dimensions | Да | Массив |
Уровни вложенности:
|
"medium", "source", "campaign", "content", "term", "days" |
filters.parameter | Нет | Массив |
Можно выгрузить статистику, подходящую под определенный фильтр. Возможные значения:
|
source |
filters.operator | Нет | Массив | Логическое условие фильтра. Всегда «равно». | equals |
filters.value | Нет | Массив | Фильтруемое значение | yandex |
Ответ | ||||
data.exportId | - | Число | ID формирующийся выгрузки. По нему двумя отдельными API-запросами можно будет получить статус выгрузки и саму выгрузку, как только она будет готова. | 120146 |
ID метрик и их названий в личном кабинете Calltouch:
ID метрики | Название в отчете личного кабинета |
Площадки | |
76 | Бюджет |
75 | Показы |
77 | Клики |
22 | CTR |
23 | CPC |
108 | % в лиды |
Поведение | |
143 | Среднее время до уникального звонка |
145 | Среднее время до уникальной заявки |
147 | Среднее время на сайте |
148 | Отказы |
120 | Средняя длительность звонков |
Лиды | |
2 | Все звонки |
3 | Уникальные звонки |
4 | Повторные звонки |
121 | Неудачные звонки |
5 | Целевые звонки |
6 | Уникально-целевые звонки |
197 | Спам-звонки |
7 | Все заявки |
37 | Уникальные заявки |
38 | Повторные заявки |
187 | Неудачные заявки |
39 | Целевые заявки |
40 | Уникально-целевые заявки |
8 | Все обратные звонки |
9 | Уникальные обратные звонки |
164 | Неудачные обратные звонки |
10 | Целевые обратные звонки |
11 | Уникально-целевые обратные звонки |
198 | Спам-обратные звонки |
18 | Все лиды |
19 | Уникальные лиды |
190 | Неудачные лиды |
20 | Целевые лиды |
21 | Уникально-целевые лиды |
214 | Все чаты |
215 | Уникальные чаты |
216 | Повторные чаты |
217 | Неудачные чаты |
218 | Целевые чаты |
219 | Уникально-целевые чаты |
Сделки | |
112 | Всего сделок |
109 | % в сделки |
110 | Средний чек |
113 | Выручка |
111 | ROI |
201 | Маржинальность |
Электронная торговля |
|
125 | Просмотры товаров |
181 | Добавлен в корзину |
182 | Выручка по добавленным в корзину |
183 | Маржа по добавленным в корзину |
184 | Удалён из корзины |
185 | Выручка по удалённым из корзины |
186 | Маржа по удалённым из корзины |
126 | Товаров в корзине |
127 | Выручка по корзине |
128 | Маржа по корзине |
140 | Заказ оформлен |
131 | Количество заказанных товаров |
129 | Выручка по заказам |
130 | Маржа по заказам |
141 | Оплата |
134 | Количество оплаченных товаров |
132 | Выручка по оплатам |
133 | Маржа по оплатам |
Как получить ID пользовательских метрик, целей и плановых метрик
В личном кабинете перейдите в меню:
Настройки /
Отчеты / Пользовательские метрики. Напротив каждой метрики указан ID.
Также вы можете скопировать список ID из кода. В браузере необходимо зайти в отчет «Сквозная аналитика», открыть инструменты разработчика, перейти на вкладку Network, отфильтровать результаты по слову settings и перезагрузить страницу. Список ID пользовательских метрик будет доступен в объекте data.metric_data.metric_types[5]:
ID целей и плановых метрик находятся там же в объектах data.metric_data.metric_types[6] и data.metric_data.metric_types[7] соответственно.
API-запрос на получение статуса формирования выгрузки
Цена выполнения запроса: 1 балл
POST https://api.calltouch.ru/report-service/RestAPI/api/costs-export/status
Headers:
- Access-Token: API-токен Calltouch
- Site-Id: ID личного кабинета Calltouch
Формат тела запроса: JSON
Пример тела запроса:
{
"exportIds": [120146,120141,120135]
}
Пример ответа:
{
"meta": [],
"data": [
{
"exportId": 120146,
"status": "success",
"format": "csv","parts": 1
},
{
"exportId": 120135,
"status": "error",
"format": "json","parts": 0
},
{
"exportId": 120141,
"status": "in progress",
"format": "json","parts": 0
}
]
}
Описание параметров:
Параметр | Обязательно | Формат | Описание | Пример |
Запрос | ||||
exportIds | Да | Массив | ID's формирующихся выгрузок, полученные в ответе на первый API-запрос. Можно указать несколько, минимум один. | 120146,120141,120135 |
Ответ | ||||
data.exportId | - | Число | ID формирующийся выгрузки | 120146 |
data.format | - | Строка | В каком из форматов происходит выгрузка отчета, json или csv | json |
data.status | - | Строка |
Статус формирующийся выгрузки:
|
success |
data.parts | - | Число | Кол-во частей выгрузки. В случае, если сформированная выгрузка содержит более 1000 строк (не JSON-строк, а строк статистики), она будет поделена на части по 1000 выгрузок. Каждую часть выгрузки необходимо забирать отдельным API-запросом. Актуальное значение появляется после успешного статуса success. | 1 |
API-запрос скачивания сформированной выгрузки
Цена выполнения запроса: 1 балл
POST https://api.calltouch.ru/report-service/RestAPI/api/costs-export/download
Headers:
- Access-Token: API-токен Calltouch
- Site-Id: ID личного кабинета Calltouch
Формат тела запроса: JSON
Пример тела запроса:
{ "exportId": 120146, "partNumber": 1 }
Пример ответа в формате JSON:
{
"meta": {
"pagination": {
"current_page": 1,
"items_per_page": 3
},
"series": [
[
"(none)"
],
[
"cpc"
],
[
"organic"
]
],
"dimensions": [
{
"alias": "medium",
"name": "Канал"
}
],
"columns": [
{
"id": 76,
"name": "Бюджет",
"type": "currency"
},
{
"id": 77,
"name": "Клики",
"type": "plain"
},
{
"id": 18,
"name": "Все лиды",
"type": "plain"
},
{
"id": 18,
"name": "Все лиды %",
"type": "percent"
},
{
"id": 18,
"name": "Все лиды цена",
"type": "currency"
},
{
"id": 112,
"name": "Всего сделок",
"type": "plain"
},
{
"id": 113,
"name": "Выручка",
"type": "currency"
},
{
"id": 111,
"name": "ROI",
"type": "percent"
}
]
},
"data": {
"metrics": [
[
0,
8,
1,
0.125,
0,
0,
0,
0
],
[
0,
0,
3,
0,
0,
0,
0,
0
],
[
0,
0,
2,
0,
0,
0,
0,
0
]
]
}
}
Описание параметров:
Параметр | Обязательно | Формат | Описание | Пример |
Запрос | ||||
exportId | Да | Число | ID успешно сформированной выгрузки. | 120146 |
partNumber | Да | Число | Номер части сформированной выгрузки, если выгрузка была автоматически поделена на части. | 1 |
Ответ | ||||
meta.pagination.current_page |
|
Число | Текущая часть выгрузки, если выгрузка была автоматически поделена на части. | 1 |
meta.pagination.items_per_page |
|
|
Всего строк на странице | 3 |
meta.series |
|
Массив | Значения выбранных уровней вложенности в заданном порядке. Условно — это строки отчета. | [ "(none)" ], [ "cpc" ], [ "organic" ] |
meta.dimensions |
|
Массив | Значения уровней вложенности в выгрузке, в заданном порядке. | [ { "alias": "medium", "name": "Канал" } ] |
meta.columns.id |
|
Число | ID выбранных метрик. Условно — это заголовки столбцов отчета. | { "id": 76, "name": "Бюджет", "type": "currency" }, { "id": 77, "name": "Клики", "type": "plain" }, |
meta.columns.name |
|
Текст | Названия выбранных метрик | |
meta.columns.type |
|
Текст | Тип выбранной метрики: plain — число percent – процент currency — валюта | |
data.metrics |
|
Массив | Значения выбранных метрик. Условно – это столбцы отчета. | [ 0, 8, 1, 0.125, 0, 0, 0, 0 ], |
Пример ответа в формате CSV:
"12.05.2023 - 12.05.2023 Отчет по Расходам"
Канал;Источник;Бюджет;Клики;"Все лиды";"Все лиды %";"Все лиды цена"
(none);(direct);0;8;1;0.125;0
"<не заполнено>";"<не заполнено>";0;0;2;0;0
Итого;;0;8;3;0.375;0
Параметр | Обязательно | Формат | Описание | Пример |
Запрос | ||||
exportId | Да | Число | ID успешно сформированной выгрузки. | 120146 |
partNumber | Да | Число | Номер части сформированной выгрузки, если выгрузка была автоматически поделена на части. | 1 |
Ответ | ||||
1 строка |
— |
— |
Название отчета и даты выгрузки | "12.05.2023 - 12.05.2023 Отчет по Расходам" |
2 строка | — |
— |
Названия столбцов | Канал;Источник;Бюджет;Клики;"Все лиды";"Все лиды %";"Все лиды цена" |
Последняя строка | — |
— |
Итоговая сумма по всем строкам в отчете | Итого;;0;8;3;0.375;0 |
Остальные строки |
— |
— |
Таблица значений запрошенных метрик в разрезе запрошенных уровней вложенности | (none);(direct);0;8;1;0.125;0 "<не заполнено>";"<не заполнено>";0;0;2;0;0 |
- A/B тестирование (раздел «Подключение»)
- Email-трекинг (раздел «Подключение»)
- Отслеживание офлайн конверсии (раздел «Подключение»)
- Подключение к отслеживанию дополнительных доменов (раздел «Подключение»)
- Подмена номеров на AMP-страницах Google (раздел «Подключение»)