Calltouch API API

Отрасль: Реклама и аналитика. Актуально на 2026-10-24.

API платформы коллтрекинга и сквозной аналитики Calltouch: выгрузка журнала звонков с источниками, UTM-метками и тегами, скачивание записей разговоров, выгрузка журнала заявок и создание заявок с сайта. Доступ ограничен сегментами и правами пользователя — владельца токена; нагрузка регулируется суточными и часовыми баллами.

Сценарии

Выгрузить журнал звонков с источниками

Звонки с рекламными источниками, UTM-метками и тегами — в CRM или отчёт по эффективности рекламы.

  1. Возьми API-токен и siteId в личном кабинете: «Интеграции» → «API». Токен передаётся параметром clientApiId.
  2. Запроси звонки: GET /calls-service/RestAPI/{siteId}/calls-diary/calls с dateFrom и dateTo в формате dd/mm/yyyy. Для источников и тегов добавь withCallTags = true, для истории визитов — withMapVisits = true.
  3. По умолчанию выборка за один день. Для периода длиннее дня включай постраничный режим: page (с 1) и limit (до 1000); в ответе pageTotal и recordsTotal.
  4. В записях — callId, date, callerNumber, duration, successful, uniqueCall, targetCall, source, medium и UTM-метки. Данные Директа и Google Ads появляются на следующий день.
  5. Следи за баллами в заголовке Api-Point («потрачено / осталось часовых / осталось суточных»); журнал звонков стоит 2 балла.
curl -G "https://api.calltouch.ru/calls-service/RestAPI/<siteId>/calls-diary/calls" \
  -d clientApiId=<токен> \
  -d dateFrom=01/10/2026 -d dateTo=23/10/2026 \
  -d page=1 -d limit=1000 \
  -d withCallTags=true -d uniqueOnly=false

Скачать запись разговора

Прослушать звонок или отдать запись в систему контроля качества.

  1. Найди звонок в журнале: GET /calls-service/RestAPI/{siteId}/calls-diary/calls — нужен его callId.
  2. Скачай запись: GET /calls-service/RestAPI/{siteId}/calls-diary/calls/{callId}/download с clientApiId. Ответ — аудиофайл.
  3. Скачивание записи стоит 1 балл; выгружай записи только нужных звонков, например целевых (targetOnly = true в журнале).
curl -G -o call-123456.mp3 \
  "https://api.calltouch.ru/calls-service/RestAPI/<siteId>/calls-diary/calls/123456/download" \
  -d clientApiId=<токен>

Передать заявку с сайта в Calltouch

Заявки из форм попадают в Calltouch с источником визита — сквозная аналитика по заявкам, а не только по звонкам.

  1. Отправь заявку: POST /calls-service/RestAPI/requests/{siteId}/register/ — form-urlencoded, одна заявка за запрос. Токен для этого метода не нужен.
  2. Передай хотя бы одно из fio, phoneNumber (11 цифр), email, а также subject (название формы), requestNumber (твой ID заявки) и requestUrl.
  3. Чтобы заявка связалась с визитом и рекламным источником, передай sessionId — его отдаёт скрипт Calltouch на странице: window.ct('calltracking_params', '').sessionId.
  4. Проверить, что заявка дошла, можно через журнал заявок: GET /calls-service/RestAPI/requests с requestNumber. Обрати внимание: даты в журнале заявок — в формате mm/dd/yyyy.
curl -X POST "https://api.calltouch.ru/calls-service/RestAPI/requests/<siteId>/register/" \
  --data-urlencode 'subject=Заявка на расчёт' \
  --data-urlencode 'requestNumber=form-1042' \
  --data-urlencode 'fio=Иван Петров' \
  -d phoneNumber=79990001122 \
  --data-urlencode 'requestUrl=https://example.ru/calc' \
  -d sessionId=<sessionId из скрипта Calltouch>

Базовые URL

Авторизация

Тип: API-ключ

API-токен (45 символов) и siteId (ID личного кабинета) берутся в разделе «Интеграции» → «API». Токен передаётся параметром clientApiId. Для создания заявок с сайта токен не нужен.

https://api.calltouch.ru/calls-service/RestAPI/{siteId}/calls-diary/calls?clientApiId={токен}&dateFrom=22/11/2016&dateTo=22/11/2016&withCallTags=true&withMapVisits=true

Методы

GET /calls-service/RestAPI/{siteId}/calls-diary/calls — Журнал звонков

По умолчанию — выборка за один день (dateFrom = dateTo); для периода длиннее дня используйте постраничный режим (page, limit). В ответе при пагинации: page, pageTotal, pageSize, recordsTotal, records.

В записях: callId, date, callerNumber, phoneNumber, duration, successful, uniqueCall, targetCall, source, medium, keyword, UTM-метки, city, sessionId, callTags, orders, mapVisits, comments.

Параметр Где Тип Обяз. Описание
siteId path integer да ID сайта
clientApiId query string да API-токен
dateFrom query string да Начало, dd/mm/yyyy
dateTo query string да Конец, dd/mm/yyyy
page query integer нет Страница, от 1
limit query integer нет Записей на странице, 1–1000 (по умолчанию 1000)
timeFrom query string нет Время с, hh:mm:ss
timeTo query string нет Время по
attribution query integer нет 0 — последнее взаимодействие, 1 — последний непрямой (по умолчанию)
bindTo query string нет call (по умолчанию) или session
callId query string нет ID звонков через запятую
uniqueOnly query boolean нет Только уникальные
targetOnly query boolean нет Только целевые
callbackOnly query boolean нет Только обратные звонки
withCallTags query boolean нет Выгрузить теги
withMapVisits query boolean нет Выгрузить историю посещений
withOrders query boolean нет Выгрузить сделки
withComments query boolean нет Выгрузить комментарии
withCustomFields query boolean нет Выгрузить пользовательские поля

GET /calls-service/RestAPI/{siteId}/calls-diary/calls/{callId}/download — Запись разговора

Параметр Где Тип Обяз. Описание
siteId path integer да ID сайта
callId path integer да ID звонка из журнала
clientApiId query string да API-токен

GET /calls-service/RestAPI/requests — Журнал заявок

Пример:

Параметр Где Тип Обяз. Описание
clientApiId query string да API-токен
siteId query integer да ID личного кабинета
dateFrom query string нет Начало, mm/dd/yyyy (обязателен, если нет requestId/requestNumber)
dateTo query string нет Конец, mm/dd/yyyy
requestId query string нет ID заявок в Calltouch через запятую
requestNumber query string нет Внешние ID заявок
attribution query integer нет Модель атрибуции
bindTo query string нет request (по умолчанию) или session
subject query string нет Название формы
withRequestTags query boolean нет Выгрузить теги
withMapVisits query boolean нет Выгрузить историю посещений
withCustomFields query boolean нет Выгрузить пользовательские поля

Пример запроса:

https://api.calltouch.ru/calls-service/RestAPI/requests/?clientApiId=<TOKEN>&requestId=79825254

POST /calls-service/RestAPI/requests/{siteId}/register/ — Создание заявки

Токен не нужен; поддерживается и GET. Тело — application/x-www-form-urlencoded, UTF-8, одна заявка за запрос. Нужен хотя бы один из fio, phoneNumber, email.

Параметр Где Тип Обяз. Описание
siteId path integer да ID личного кабинета
subject body string нет Название формы, до 256 символов
requestNumber body string нет Ваш ID заявки, до 256 символов
requestDate body string нет dd.mm.yyyy hh:mm:ss; по умолчанию — текущее время
sessionId body string нет ID сессии Calltouch (window.ct('calltracking_params','mod_id').sessionId)
fio body string нет Имя клиента
phoneNumber body string нет Телефон из 11 цифр
email body string нет Email
comment body string нет Комментарий
tags body string нет Теги через запятую
requestUrl body string нет Адрес страницы формы
customField[fieldName] body string нет Пользовательское поле (до 100 символов)

Нюансы

Ошибки

Код Описание
429 Превышен лимит запросов в секунду или исчерпаны баллы
90001 Исчерпан часовой лимит баллов по сайту

Ограничения

Источники


Если этого недостаточно — официальная документация: https://www.calltouch.ru/support/api-metod-vygruzki-zhurnala-zvonkov/ JSON: https://mcp-everything.ru/api/integrations/calltouch. MCP: https://mcp-everything.ru/mcp