CallTreckingOne API · CRM и телефония

Подключение звонков из CRM и телефонии

Эта инструкция для клиентов CallTreckingOne. Она объясняет, как передавать звонки из Bitrix24, amoCRM, телефонии или собственной CRM в кабинет CallTreckingOne, чтобы в Яндекс Метрику уходили не клики, а реальные состоявшиеся звонки.

Bitrix24Передача событий завершённых звонков через webhook.
amoCRMПриём звонков из CRM или подключённой телефонии.
Своя CRM / телефонияУниверсальный API для отправки звонков в CallTreckingOne.

Что вы получите после подключения

Звонки из CRM или телефонии будут появляться в кабинете CallTreckingOne. По каждому звонку будет видно, откуда он пришёл, с каким номером связан, был ли он целевым и можно ли передавать его в Яндекс Метрику.

  • Источник звонка: Bitrix24, amoCRM, телефония или собственная CRM.
  • Номер клиента и номер, на который поступил звонок.
  • Длительность разговора и статус: состоявшийся или пропущенный.
  • Связан ли звонок с визитом сайта.
  • Считается ли звонок целевым.
  • Будет ли звонок передан в Яндекс Метрику.
Целевой звонок — входящий состоявшийся звонок, который не был пропущен, длился не меньше 30 секунд и связан с визитом сайта.

Как CallTreckingOne понимает, что звонок был с сайта

CRM или телефония передаёт только факт звонка: номер, время, длительность и статус. Чтобы понять, был ли звонок с сайта, CallTreckingOne сопоставляет звонок с визитом и действием посетителя на сайте.

  1. Посетитель открывает сайт.
  2. Скрипт CallTreckingOne фиксирует визит и идентификатор Метрики.
  3. Посетитель нажимает на номер телефона на сайте.
  4. CallTreckingOne запоминает намерение позвонить.
  5. CRM или телефония отправляет факт звонка.
  6. CallTreckingOne проверяет время, номер и визит.
Важно: если звонок пришёл из CRM, но до этого не было визита сайта или нажатия на номер, звонок появится в кабинете, но не будет считаться подтверждённым звонком с сайта.

Как подключить Bitrix24

  1. Войдите в кабинет CallTreckingOne.
  2. Откройте раздел API и CRM.
  3. Создайте API-токен.
  4. Добавьте сопоставление номера: номер в Bitrix24 → номер CallTreckingOne на сайте.
  5. Скопируйте URL для Bitrix24.
  6. В Bitrix24 настройте отправку события окончания звонка на этот URL.

URL будет выглядеть так:

https://calltreckingone.ru/api_v1/webhooks/bitrix24_call_end.php?token=ВАШ_API_ТОКЕН

После этого Bitrix24 будет отправлять в CallTreckingOne завершённые звонки. CallTreckingOne проверит звонок и решит, можно ли передавать его в Метрику.

Как подключить amoCRM

  1. Войдите в кабинет CallTreckingOne.
  2. Откройте раздел API и CRM.
  3. Создайте API-токен.
  4. Добавьте сопоставление номера amoCRM/телефонии с номером CallTreckingOne.
  5. Скопируйте URL для amoCRM.
  6. Укажите этот URL в webhook или в настройках телефонии, которая подключена к amoCRM.
https://calltreckingone.ru/api_v1/webhooks/amocrm.php?token=ВАШ_API_ТОКЕН
В amoCRM структура звонков может отличаться в зависимости от подключённой телефонии. Если звонки не появляются, проверьте, какие именно поля передаёт ваша телефония.

Подключение собственной CRM или телефонии

Для любой другой системы используйте универсальный API импорта звонков:

POST https://calltreckingone.ru/api_v1/calls/import.php
Authorization: Bearer ВАШ_API_ТОКЕН
Content-Type: application/json

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

{
  "source": "custom_crm",
  "external_call_id": "call_123456",
  "direction": "in",
  "caller_phone": "+79990000000",
  "called_phone": "+74950000000",
  "duration_sec": 64,
  "is_missed": false,
  "recording_url": "https://example.ru/record.mp3"
}

Обязательные поля

  • source — источник звонка.
  • external_call_id — уникальный ID звонка во внешней системе.
  • direction — направление звонка: in или out.
  • caller_phone — номер звонящего.
  • called_phone — номер, на который поступил звонок.
  • duration_sec — длительность разговора в секундах.
  • is_missed — был ли звонок пропущен.

Необязательные поля

  • event_time — дата и время звонка во внешней CRM. Передавать необязательно. Если поле не передано, CallTreckingOne сам использует серверное время получения звонка.
  • recording_url — ссылка на запись разговора, если она доступна.
  • crm_contact_id — ID контакта во внешней CRM.
  • crm_deal_id — ID сделки во внешней CRM.
Важно про event_time: в большинстве случаев это поле лучше не указывать, потому что разные CRM и телефонии могут передавать время в разных часовых поясах. Если event_time не передан, CallTreckingOne фиксирует время получения звонка на сервере и корректно использует его для связи звонка с визитом сайта.

Передавайте event_time только если ваша система точно отправляет время звонка в корректном формате ISO 8601 с часовым поясом, например: 2026-05-13T21:30:00+03:00.

Когда звонок передаётся в Яндекс Метрику

CallTreckingOne передаёт в Метрику не все звонки подряд, а только звонки, которые подходят под условия целевого действия.

ПередаётсяВходящий, состоявшийся, не пропущенный звонок от 30 секунд, связанный с визитом сайта.
Не передаётся как цельПропущенный, короткий, исходящий или не связанный с сайтом звонок.

Это нужно, чтобы Яндекс Директ обучался на реальных звонках, а не на кликах и случайных обращениях.

Проверка и частые причины ошибок

  • Звонки не появляются. Проверьте API-токен и URL webhook.
  • Звонок есть, но не считается звонком с сайта. Проверьте, установлен ли скрипт CallTreckingOne на сайте и был ли клик по номеру.
  • Звонок не передан в Метрику. Проверьте длительность, статус звонка, привязку к сайту и подключение Яндекс Метрики.
  • Номер не определяется. Проверьте сопоставление номера CRM/телефонии с номером CallTreckingOne в кабинете.
Главное правило: CRM или телефония передаёт факт звонка, а CallTreckingOne проверяет, относится ли он к сайту и можно ли использовать его как целевое действие для Метрики.