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

Сценарий из mcp-everything. Актуально на 2026-10-24.

Заявки из форм попадают в 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/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`.
- Поля ответа, не описанные в документации, устарели — их нужно игнорировать.

## Другие сценарии

- [Выгрузить журнал звонков с источниками](https://mcp-everything.ru/integrations/calltouch/scenarios/vygruzit-zhurnal-zvonkov-s-istochnikami.md)
- [Скачать запись разговора](https://mcp-everything.ru/integrations/calltouch/scenarios/skachat-zapis-razgovora.md)

---

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