---
slug: "calltouch"
name: "Calltouch API"
vendor: "Calltouch"
industry: "marketing"
docsUrl: "https://www.calltouch.ru/support/api-metod-vygruzki-zhurnala-zvonkov/"
version: 2
updatedAt: "2026-10-24"
---

# Calltouch 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 балла.

```bash
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 в журнале).

```bash
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', '<mod_id>').sessionId.
4. Проверить, что заявка дошла, можно через журнал заявок: GET /calls-service/RestAPI/requests с requestNumber. Обрати внимание: даты в журнале заявок — в формате mm/dd/yyyy.

```bash
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

- Боевой: `https://api.calltouch.ru`
- Методы: `/calls-service/RestAPI/`

## Авторизация

Тип: 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 символов) |

## Нюансы

- Имена параметров чувствительны к регистру.
- Форматы дат различаются: журнал звонков — `dd/mm/yyyy`, журнал заявок — `mm/dd/yyyy`, создание заявки — `dd.mm.yyyy hh:mm:ss`.
- Данные Яндекс Директа и Google Ads появляются на следующий день после звонка; теги Predict и Antifrod — примерно через неделю.
- Каждый ответ содержит заголовок `Api-Point`: «потрачено / осталось часовых / осталось суточных», например `Api-Point: 4/5256/102368`.
- Поля ответа, не описанные в документации, устарели — их нужно игнорировать.

## Ошибки

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

## Ограничения

- Не больше 5 запросов в секунду с одного IP.
- Суточные баллы начисляются в 00:00 и сгорают к концу суток; часовые — в начале каждого часа. Баллы списываются только за успешные запросы.
- Стоимость: журнал звонков — 2 балла, запись звонка — 1, создание заявки — 2 + 1 за объект, создание сделки — 8.

## Источники

- [Выгрузка журнала звонков](https://www.calltouch.ru/support/api-metod-vygruzki-zhurnala-zvonkov/)
- [Выгрузка записей разговоров](https://www.calltouch.ru/support/api-metod-vygruzki-zapisey-razgovorov/)
- [Выгрузка журнала заявок](https://www.calltouch.ru/support/vygruzka-zhurnala-zayavok-cherez-api/)
- [Отправка заявок с сайта по API](https://calltouch.kz/support/upravlenie-zayavkami-cherez-api/)
- [Система баллов API Calltouch](https://www.calltouch.ru/support/opisanie-sistemy-ballov-api-calltouch/)

---

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