Интеграция по API Calltracking.ru 2.0.

Calltracking API — инструмент для разработчиков, позволяющий получить доступ к статистике обращений ваших проектов и построить выборки нужных данных. Запросы к API имеют похожую логику API Google Analytics, что упрощает задачу разработчикам, знакомым с этой системой.

Авторизация, методы авторизации

Перед отправкой запросов к API нужно подтвердить право видеть запрашиваемую статистику — пройти аутентификацию.

Самый простой способ — указать свой логин и пароль. Для этого на сервер нужно отправить запрос следующего вида:

https://calltracking.ru/api_upgrade/login.php?login=ваш_логин&password=ваш_пароль

В случае успешной аутентификации в ответе придёт объект следующего вида:

{
    "status":"ok",
    "data":"calltracking-f4d91f112р623e92523faf8a3130476a-n-946096c94052aa22df39fa189a3fa96dffe1b2df",
    "error_code":"0",
    "error_text":""
}

Поле data — токен, который надо передавать при последующих запросах к API. В случае неуспешной аутентификации ответ будет иметь следующий вид:

{
    "status":"error",
    "data":"",
    "error_code":"3",
    "error_text":"Bad login or password"
}

Время жизни токена — 1 месяц. Токен можно получать перед каждым запросом к API, но он меняться не будет, потому его можно сохранить и пользоваться пока он не устареет.

По запросу время жизни токена можно увеличить максимум до 5 лет. Но он все равно утратит свою актуальность, если будут происходить крупные изменения, связанные с доступами — например, когда отключают какой-либо аккаунт или проект, который связан с полученным токеном.

Формирование запроса и примеры

Получив токен, можно приступать к формированию запроса. Обязательными параметрами для запроса будут:

  • id проекта
  • даты (интервал)
  • размерности
  • метрики
  • количество записей
  • токен, полученный при авторизации

Вот примеры запросов:

https://calltracking.ru/api_upgrade/get_data.php?project=7&start-date=2023-04-01&end-date=2023-04-01&dimensions=ct:date&metrics=ct:calls&max-results=1000&auth=calltracking-df662429312bd3b280dab8ccb4856a26-3-f9c9f27dd15e3254c480c8d39a7badd978c23a06

Метрики

После авторизации можно приступать к формированию самого запроса к API. Первым обязательным параметром запроса являются метрики обращений. Метрика — это определенная характеристика одной группы обращений. Результатом ответа API будут значения всех выбранных метрик по выбранным группам обращений. Ниже перечень всех доступных метрик:

ПоказательОписание
ct:entity_nameТип обращения (звонок/email/чат/обратный звонок)
ct:datetimeЧисленный показатель звонков
ct:entity_countЧисленный показатель звонков
ct:entity_count_uniqueЧисленный показатель звонков
ct:entity_count_repeatedЧисленный показатель звонков
ct:tagnameЧисленный показатель звонков
ct:callsЧисленный показатель звонков
ct:caller_history_listingИстория посещения страниц звонящим
ct:caller_history_listing_fullИстория посещения страниц звонящим с указанием изменения реквизитов источника
ct:dsource_entityUTM-метка источника звонка
ct:dmedium_entityUTM-метка канала звонка
ct:dcampaign_entityUTM-метка кампании звонка
ct:dterm_entityUTM-метка ключевого слова звонка
ct:dcontent_entityUTM-метка содержания звонка
ct:statusСтатус звонка (отвечен/не отвечен/занято/сбой соединения)
ct:categoryКатегория звонка (онлайн/оффлайн/отказной/отложенный/статический)
ct:recordlinkСсылка на запись разговора
ct:sourceИсточник звонка
ct:dstПодменный номер, на который поступил звонок
ct:srcНомер звонящего
ct:rdstРеальный номер, на который переадресован звонок
ct:city_codeКод реального номера, на который переадресован звонок
ct:count_unique_callsКоличество уникальных звонков
ct:tagОтмеченные теги тонального тегирования
ct:tagtextОтмеченные названия тегов тонального тегирования
ct:is_uniqueПризнак уникальности звонка
ct:call_idid звонка
ct:uniqueidНазвание файла записи звонка
ct:import_call_idid звонка той системы, откуда он был импортирован
ct:call_regionРегион, откуда поступил звонок
ct:client_landingПосадочная страница клиента
ct:landingПосадочная страница звонка
ct:cidGoogle client id
ct:hangupcodeКод завершения вызова
ct:user_agentuseragent посетителя
ct:visitorsКоличество посетителей (из аналитики)
ct:hoursЧасы поступления звонков
ct:costСтоимость объявлений (контекстная реклама), которые привели к звонкам
ct:calls_percentДоля звонков текущей группы от общего числа звонков
ct:call_unique_percentДоля уникальных звонков текущей группы от общего числа звонков
ct:metric_valueid посетителя, совершившего звонок, в Яндекс.Метрике
ct:client_nameИмя клиента
ct:client_phoneТелефон клиента
ct:client_emailEmail клиента
ct:transcribation_textПолный текст разговора
cs:tagger_comment_valКомментарий тегератора
cs:target_callsКоличество целевых звонков
cs:not_target_callsКоличество нецелевых звонков
cs:effective_callПоказатель эффективности для данной выборки
cs:example_metrikАбсолютно любые теги из системы речевой аналитики

Размерности

В сочетании с метриками в API используются размерности. Размерность — это характеристика / группа, по которой вы хотите анализировать данные. Можно использовать несколько размерностей одновременно, разделяя их запятыми.
При использовании нескольких размерностей обретает важность параметр view-type

view-type=grouped покажет данные по размерностям вложенным списком
view-type=list покажет данные по размерностям плоским списком

Ниже — перечень всех доступных размерностей:

РазмерностьОписание
ct:datetimeДата и время совершения звонка в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС. С использованием этой размерности обычно получают индивидуальные звонки. Исключение — одновременные звонки
ct:dateДата совершения звонка в формате ГГГГ-ММ-ДД.
ct:sourceНазвание источника звонка
ct:callerНомер звонящего. С использованием этой размерности обычно получают индивидуальные звонки. Исключение — повторные звонки
ct:virtual_numberВиртуальный номер, на который поступил звонок
ct:recipientРеальный номер принимающий звонок
ct:recordlinkСсылка на mp3-запись звонка
ct:calltagМетка звонка
ct:dsourceТолько для динамического коллтрекинга: определившийся источник
ct:dmediumТолько для динамического коллтрекинга: определившийся канал
ct:dcampaignТолько для динамического коллтрекинга: определившаяся кампания
ct:dtermТолько для динамического коллтрекинга: определившийся запрос
ct:dcontentТолько для динамического коллтрекинга: определившееся содержание
ct:cidТолько для динамического коллтрекинга: google client id звонящего
ct:statusСостояние звонка. Может принимать варианты:
ANSWERED — разговор был совершён
NO ANSWER — трубку не подняли
BUSY — сигнал занято
FAILED — ошибка в работе промежуточного оборудования
ct:categoryКатегория звонка. Может принимать варианты:
static — звонок по статическому источнику
offline — оффлайн звонок. Звонящий был не на сайте во время совершения звонка
online — онлайн звонок
bounce — отказной звонок, т.е. несколько посетителей одновременно видели номер во время совершения звонка
deferred — отложенный звонок. Реквизиты звонящего скопированы из звонка, совершенного ранее
ct:uniqueidid звонка, полученного от АТС Calltracking.ru
ct:call_idid звонка в системе Calltracking.ru
ct:import_call_idid звонка, импортированного из внешней системы
ct:day_weekДень недели
ct:bundleNameНазвание связки
ct:calltagtextТекстовая расшифровка тега
ct:dynamic_campaign_nameНазвание кампании в контекстной системе
ct:dclientsid сессий посетителей, которые совершили звонок
ct:city_codeКод региона звонящего
ct:call_regionРегион звонящего
ct:hoursЧас суток совершения звонка
ct:monthМесяц совершения звонка
ct:landingПосадочная страница
ct:domainДоменное имя сайта, откуда пришел звонок
ct:projectid проекта
cs:tagger_commentsКомментарий тегератора
cs:managers_callscoringМенеджер принимавший звонки
cs:all_statusВсе заведенные статусы (чекбоксы) системы речевой аналитики
cs:all_propertiesВсе заведенные свойства (радиокнопки) системы речевой аналитики
cs:example_dimensionАбсолютно любые теги из системы речевой аналитики

Фильтры

Фильтруемые размерностиДоступные операторыПример
ct:duration=, !=, <, >, >=, <=ct:duration>=30
В выборке останутся только звонки общей длительностью более 30 секунд
ct:answer_time=, !=, <, >, >=, <=ct:answer_time<5
В выборке останутся только звонки, время ожидания ответа которых менее 5 секунд
ct:caller=, !=ct:caller=4951234567
Останутся только звонки с номера (495) 123-45-67
ct:status=, !=ct:status!=ANSWERED
Останутся все звонки, кроме отмеченных
ct:calltag=, !=ct:calltag=1
Останутся только звонки с цифровой меткой 1
ct:recordlink=, !=ct:recordlink=/shareRecords/2016-05-03/1462264350.975416.mp3
Будет найдена точно указанная запись разговора
ct:dsource,
ct:dmedium,
ct:dcampaign,
ct:dterm,
ct:dcontent
=, !=ct:dcampaign=gazonokosilki
Останутся только звонки с кампании gazonokosilki
ct:call_comment=, !=ct:call_comment!=звонок от спаммера
Будут исключены звонки с указанными комментариями
ct:dynamic_campaign_name=, !=ct:dynamic_campaign_name=ВЧ запросы
Останется только кампания высокочастотных запросов
ct:uniqueid=, !=ct:uniqueid=1681752054.8532683
Будет найден только один звонок
ct:import_call_id=, !=ct:import_call_id!=1234567
Из выдачи будет исключен один импортированный звонок
ct:tagname=, !=ct:tagname=целевой
Останутся только звонки, протегированные как целевые
ct:source_id=, !=ct:source_id=423847
В выдаче останется только выбранный источник
ct:disposition=, !=ct:disposition=ANSWERED
Останутся только отвеченные звонки
ct:category=, !=ct:category!=bounce
В выдаче останутся все звонки, кроме отказных
ct:call_region=, !=ct:call_region=Республика Татарстан
Останется только выбранный регион
ct:is_hands_tagged=, !=ct:is_hands_tagged=y
Выбраны только прослушанные тегератором звонки

Scope

Разновидностью фильтра является Scope.

На данный момент во всех версиях API существует только один вариант Scope — scope-unique=1

Ограничения по страницам и датам

Помимо размерностей, показателей и фильтров, дополнительными параметрами запроса к API являются: start-date и end-date — даты, ограничивающие отчетный период. Принимаются значения в формате ГГГГ-ММ-ДД, указывающие конкретные даты, или псевдонимы из следующего списка:


yesterday — вчерашний день (пример: 2023-05-25)
today — сегодняшний день (пример: 2023-05-26)
week_ago — семь дней назад (пример: 2023-05-19)
week_start — семь дней назад (пример: 2023-05-19)
month_ago — месяц назад (пример: 2023-04-26)
month_start — начало текущего месяца (пример: 2023-05-01)
year_ago — год назад (пример: 2022-05-26)
year_start — начало текущего года (пример: 2023-01-01)

max-results — количество записей на одной странице

start-index — смещение относительно начала (сколько строк пропустить)

Типы обращений

Для данной версии API доступен выбор типов обращений, которые возвращают запрос. Название параметра — source-data 

Перечисление типов обращений — через запятую.

Пример всех доступных видов:
source-data=calls,chats,conversions,callback,emails