Отправка информации из Calltouch с помощью webhook'ов
Описание технологии
Webhook — это исходящий HTTP-запрос, отправляемый в момент наступления определенного события. В запросе передается информация о событии согласно выбранным настройкам.
С помощью webhook'ов вы можете интегрировать Calltouch с внешними системами — для этого необходимо настроить отправку вебхуков в личном кабинете Calltouch. Добавить и настроить вебхуки можно в меню:
Интеграции /
Отправка данных во внешние системы / Вебхуки.
Webhook'и отправляются автоматически с серверов Calltouch при наступлении выбранных событий.
Типы вебхуков
Calltouch поддерживает отправку webhook'ов по трём типам сущностей:
- Вебхуки по лидам — отправка данных по звонкам и заявкам клиентов;
- Вебхуки по сделкам — отправка данных по созданию и изменению сделок;
- Вебхуки по чатам — отправка данных по диалогам и обращениям в онлайн-чате.
Каждый тип webhook'а имеет свой набор событий и полей для отправки. Настройка всех типов осуществляется в едином интерфейсе.
В каком формате передаются вебхуки
Данные передаются в виде GET или POST запроса с набором выбранных параметров. Все данные проходят URL Encode и кодируются ASCII символами. При обработке данных на своей стороне используйте URL Decoder для расшифровки значений параметров.
Адреса серверов Calltouch
Вебхуки отправляются с IP-подсети 92.118.66.0/23. Эту подсеть необходимо добавить в список исключений файрволла на вашем сервере.
Для тестирования вебхуков используйте сервис https://pipedream.com. Если вебхук приходит на тестовый сервер, но не приходит на ваш — проблемы нужно искать на стороне вашего сервера.
Добавление нового вебхука
Для добавления нового webhook'а нажмите кнопку "Создать вебхук":
В открывшемся окне выполните настройки webhook'а, которые подробно описаны далее:
Настройка адреса обработчика
Необходимо указать HTTP(S) адрес обработчика webhook'ов на вашем сервере, на который будут отправляться HTTP-запросы с нашей стороны автоматически при наступлении определенного события.
Адрес обработчика может быть расположен на любом домене или сервере, главное требование — на принимающей стороне должно быть приложение или скрипт, способные принимать входящие HTTP-запросы и обрабатывать переданные в них параметры.
Пример простого обработчика на PHP
Представленный пример парсит получаемый GET-запрос webhook'а, разбивая его по строкам и отправляет результат в письме с темой «Webhooks Test» на почту test@test.ru:
<?php$params=$_GET;$mail_body='';foreach($paramsas$k=>$param){if(!is_array($param))$mail_body.=$k.' = '.$param."\n";else$mail_body.=$k.' = '.var_export($param, true)."\n";}mail("test@test.ru","Webhooks Test",$mail_body);?>
Вы можете протестировать этот пример, сохранив его в .php файл на вашем сервере, и в настройках webhook'ов указать адрес к этому файлу в качестве обработчика.
Метод отправки вебхуков
По умолчанию webhook отправляется с помощью метода POST. Однако вы можете изменить метод отправки на GET с помощью выпадающего меню:
Разница между методами GET и POST:
Существует множество отличий между этими методами, из которых можно выделить три основных аспекта:
| Аспект | GET | POST |
| Размер запроса | Длина GET-запроса может быть ограничена обработчиками на стороне клиента | Длина содержимого тела POST-запроса не ограничена, либо ограничение несоизмеримо больше, чем сам запрос |
| Принцип отправки | Набор параметров отправляется в явном виде как часть URL | Набор параметров отправляется в теле HTTP запроса |
| Безопасность | Менее безопасен — секретные данные (например, токен ссылки на скачивание записи звонка) отображаются в URL | Более безопасен — секретные данные передаются в теле запроса и не видны в URL |
Модель атрибуции в вебхуках
Модель атрибуции — это правило определения источников для лидов и сделок. Источник обращения, переданный в webhook'е, может быть определен по одной из моделей атрибуции:
- Последний непрямой (по умолчанию) — источник обращения определится по последнему непрямому переходу на сайт. Если прямой переход на сайт будет единственным переходом перед совершением звонка или отправкой заявки, то источник определится как прямой переход. Источник "прямой переход" в статистики Calltouch обозначается как (direct) / (none).
- Последнее взаимодействие — источник обращения определится по последнему переходу на сайт перед совершением звонка или отправкой заявки.
Модель атрибуции выбирается из выпадающего списка:
Пример разницы между моделями
Посетитель днем с работы перешёл на сайт по платной рекламе yandex / cpc, ознакомился с контентом, добавил сайт в закладки и взял паузу. Вечером с того же устройства он вернулся на сайт из закладок (что равносильно прямому переходу) и совершил звонок.
Предположим, вы настроили два webhook'а по событию начала звонка — первый с моделью атрибуции "Последнее взаимодействие", второй с моделью атрибуции "Последний непрямой". На указанный адрес отправятся два webhook'а по одному и тому же звонку, но с разными источниками:
-
В webhook'е с моделью "Последнее взаимодействие" источник = прямой переход (direct) / (none)
-
В webhook'е с моделью "Последний непрямой" источник = платная реклама yandex / cpc
Фильтры отправки
По умолчанию webhook'и отправляются для всех событий. Однако вы можете ограничить отправку, используя фильтры.
Доступные фильтры по типам webhook'ов:
Вебхуки по лидам:
-
Фильтр по тегам — отправлять только лиды с определённым тегом
-
Фильтр по трафику — отправлять только лиды, пришедшие из конкретных источников трафика
- Фильтр по типу лида — отправлять вебхуки только для лидов определённого типа (например, только уникальные звонки или только целевые заявки)
Вебхуки по сделкам:
-
Фильтр по тегам — отправлять только сделки с определённым тегом
- Фильтр по статусам — отправлять только сделки с определённым статусом
-
Фильтр по воронкам — отправлять только сделки из конкретной воронки
- Фильтр по трафику — отправлять только сделки, пришедшие из конкретных источников трафика
Вебхуки по чатам:
-
Возможность фильтрации отсутствует
Вы можете выбрать несколько значений внутри одного типа фильтра (например, несколько тегов) и одновременно применить другие типы фильтров (например, источник и статус):
Важно: источник определяется согласно выбранной модели атрибуции в настройках webhook'а. Ограничив отправку фильтрами, вы рискуете пропустить важную информацию. Используйте фильтры осторожно.
Как идентифицировать несколько вебхуков одной сущности
При отправке нескольких webhook'ов для одной сущности (например, при начале звонка и завершении звонка) можно идентифицировать их по уникальному идентификатору:
- id — идентификатор звонка внутри Calltouch;
- requestId — идентификатор заявки внутри Calltouch;
- orderId — идентификатор сделки внутри Calltouch.
Передаваемая информация в вебхуках
На вкладке "Передаваемая информация" необходимо выбрать параметры звонков, заявок, сделок или чатов, которые будут отправлены в webhook'е в вашу систему на указанный адрес обработчика.
По умолчанию передаются все параметры. С помощью чекбоксов напротив названия каждого параметра вы сможете отключить или включить передачу какого-либо параметра. Кликнув на название параметра, раскроется его описание со списком возможных значений, информацией по типам обращений, для которых доступен параметр, и информацией об ограничениях.
Название параметра соответствует его макросу, однако вы можете изменить название параметра по своему усмотрению, кликнув в поле названия параметра и переименовав его.
Вебхуки по лидам
Webhook'и по лидам отправляют информацию о звонках и заявках клиентов при наступлении выбранных событий.
Доступные события
- Начало звонка;
- Завершение звонка;
- Создание заявки;
- Изменение статуса звонка;
- Изменение признака «Спам» у звонка;
- Расшифровка звонка в текст;
- Изменение тегов;
- Изменение комментариев;
- Изменение менеджера;
- Изменение рейтинга.
Для событий Завершение звонка и Создание заявки доступна дополнительная настройка задержки отправки. Установка задержки позволяет дождаться наиболее полной информации о лиде (например, автоматического тегирования Calltouch Предикт) и отправить ее на ваш сервер однократно.
Максимальная величина задержки — 1440 минут, то есть 1 сутки.
Передаваемые поля
| Название параметра | Параметр | Описание | Тип обращения | Ограничения |
| Тип обращения | leadtype |
Показывает, по какому типу обращения был отправлен webhook.
Возможные значения:
|
Звонки, Заявки | Отсутствуют |
| Фаза звонка | callphase |
Текущее состояние звонка. Возможные значения:
|
Звонки | Отсутствуют |
| ID звонка | id | Уникальный идентификатор звонка в Calltouch. | Звонки | Отсутствуют |
| Измененные поля | changedFields |
Содержит названия измененных полей (в сравнении с предыдущей отправкой), перечисленных через запятую.
Если отправка является первой по лиду в рамках настроенного webhook'а, то передается null. |
Звонки, Заявки | Отсутствуют |
| ID заявки в Calltouch | requestId | Уникальный идентификатор заявки в Calltouch. | Заявки | Отсутствуют |
| Внешний ID заявки | requestNumber | Уникальный идентификатор заявки, который был присвоен ей извне в параметре requestNumber API-метода создания заявок. | Заявки | Отсутствуют |
| Название формы | subject | Произвольное название формы на сайте, с которой отправляется заявка в Calltouch. | Заявки | Отсутствуют |
| ID клиента | ctCallerId |
Уникальный идентификатор звонящего в Calltouch.
Определяется по номеру телефона клиента. Его удобно использовать, когда нужно идентифицировать клиента без использования его персональных данных (номер телефона). |
Звонки | Отсутствуют |
| ФИО клиента | fio | Произвольное имя пользователя, отправившего заявку. | Заявки | Отсутствуют |
| Номер клиента | callerphone |
Телефонный номер клиента, с которого он выполняет звонок или оставляет заявку.
Формат: 7XXXXXXXXXX |
Звонки, Заявки | Отсутствуют |
| Email клиента |
Почта клиента, оставившего заявку.
Формат: user@server.com |
Заявки | Отсутствуют | |
| Отслеживаемый номер | phonenumber |
Отслеживаемый номер, на который звонит клиент.
Формат: 7XXXXXXXXXX |
Звонки | Отсутствуют |
| Название сабпула | subPoolName |
Название сабпула, с которым связан отслеживаемый номер.
Если звонок не имеет связи с сабпулом, то в качестве значения будет передано null. |
Звонки | Отсутствуют |
| Тип сабпула | pool |
Показывает, за каким типом пула закреплен номер, на который позвонил клиент. Возможные значения:
|
Звонки | Отсутствуют |
| Номер переадресации | redirectNumber |
Номер переадресации, на который направлялся звонок клиента.
Если номер не удалось определить, а также во всех webhook'ах по началу звонка, передается значение undefined. |
Звонки | Значение недоступно на момент начала звонка |
| Длительность разговора | duration | Длительность телефонного разговора в секундах. | Звонки | Значение недоступно на момент начала звонка |
| Длительность ожидания | waiting_time | Длительность ожидания (гудки до поднятия трубки оператором) в секундах. | Звонки | Значение недоступно на момент начала звонка |
| Дата и время звонка | calltime |
Дата и время начала звонка.
Формат: YYYY-MM-DD hh:mm:ss |
Звонки | Отсутствуют |
| Дата и время звонка в формате Unix Time Stamp | timestamp | Дата и время начала звонка в формате Unix Time Stamp в секундах. | Звонки | Отсутствуют |
| Дата и время заявки | requestDate |
Дата и время отправки заявки.
Формат: YYYY-MM-DD hh:mm:ss |
Заявки | Отсутствуют |
| Статус звонка | status |
Статус звонка.
Возможные значения:
|
Звонки | Значение недоступно на момент начала звонка |
| Детализация статуса звонка | statusDetails |
Детализация статуса звонка.
Если уточнение статуса звонка отсутствует, то в качестве значения будет передано null. |
Звонки | Значение недоступно на момент начала звонка |
| Уникальный звонок или нет | unique |
Уникальный звонок - это первый звонок клиента в рамках проекта с одного номера в рамках заданной глубины уникальности.
Возможные значения:
|
Звонки | Отсутствуют |
| Целевой звонок или нет | targetcall |
Целевой звонок — это звонок, длительность которого уложилась в рамки целевого звонка, заданных в системных настройках ЛК (по умолчанию от 30 сек).
Возможные значения:
|
Звонки | Значение недоступно на момент начала звонка |
| Уникально-целевой звонок или нет | uniqtargetcall |
Уникально-целевой звонок — это первый звонок от клиента, укладывающийся в рамки целевого звонка.
Возможные значения:
|
Звонки | Значение недоступно на момент начала звонка |
| Обратный звонок или нет | callback |
Обратный звонок — это звонок с виджетов Calltouch.
Возможные значения:
|
Звонки | Отсутствуют |
| Уникальная заявка или нет | uniquerequest |
Уникальная заявка — это первая заявка с номера или почты клиента в рамках одного проекта и заданной глубины уникальности. Между звонками и заявками в настройках статистики так же может быть включена кросс-уникальность.
Возможные значения:
|
Заявки | Отсутствуют |
| Целевая заявка или нет | targetrequest |
Целевая заявка — это заявка с реального номера или с реальной почты. Реальность номера проверяется по количеству указанных посетителем цифр в номере и их повтору, а реальность почты проверяется по наличию символа @ и доменного имени после него.
Возможные значения:
|
Заявки | Отсутствуют |
| Уникально-целевая заявка или нет | uniqtargetrequest |
Уникально-целевая заявка — это первая заявка клиента среди целевых.
Возможные значения:
|
Заявки | Отсутствуют |
| Рабочее или нерабочее время звонка | worktime |
Рабочее или нерабочее время, в которое пришел звонок, устанавливается в настройках прежней версии ЛК.
Возможные значения:
|
Звонки | Отсутствуют |
| Рейтинг | rating |
Рейтинг, присвоенный звонку или заявке.
Возможные значения:
|
Звонки, Заявки | Значение недоступно на момент начала звонка |
| Комментарии | comment |
Комментарии ко звонку или заявке, оставленные через сайдбар журнала, или присвоенные в момент отправки через API.
Передаются массивом по шаблону:
comment[0][party]=user1& Если звонку или заявке не присвоен комментарий, параметр не передается. |
Звонки, Заявки | Значение недоступно на момент начала звонка |
| Теги Calltouch Predict | tags_auto_pr |
Теги, присвоенные звонку автоматически системой Calltouch Predict.
Если такие теги не были присвоены звонку, передается значение null. |
Звонки | Значение недоступно на момент начала звонка |
| Теги Calltouch Антифрод | tags_auto_af |
Теги, присвоенные звонку автоматически системой Calltouch Антифрод.
Если такие теги не были присвоены звонку, передается значение null. |
Звонки | Значение недоступно на момент начала звонка |
| Теги по полу клиента | tags_auto_gr |
Теги, присвоенные лиду автоматически в зависимости от пола клиента.
Если такие теги не были присвоены лиду, передается значение null. |
Звонки, Заявки | Значение недоступно на момент начала звонка |
| Теги по добавочным | tags_auto_ct |
Теги, присвоенные звонку автоматически на основе введенных тоновых сигналов (добавочных) клиентом или оператором в ходе разговора, а также автоматические теги виджетов.
Если такие теги не были присвоены звонку или заявке, передается значение null. |
Звонки, Заявки | Значение недоступно на момент начала звонка |
| Теги по номерам | tags_auto_pn |
Теги, присвоенные звонку автоматически в зависимости от номера клиента, номера подмены, номера переадресации или SIP-адреса.
Если такие теги не были присвоены звонку, передается значение null. |
Звонки | Отсутствуют |
| Теги по тексту разговора | tags_auto_text |
Теги, присвоенные звонку в рамках функционала автоматического тегирования по тексту разговора. Тегирование происходит с задержкой, после получения расшифровки записи разговора. Если у лида нет таких тегов, передается значение null. |
Звонки | Значение недоступно на момент начала звонка |
| Вручную проставленные теги | tags_manual |
Теги, присвоенные лиду вручную пользователем в журнале звонков, заявок или лидов.
Если такие теги не были присвоены лиду, передается значение null. |
Звонки, Заявки | Значение недоступно на момент начала звонка |
| Теги, проставленные с помощью API | tags_api |
Теги, присвоенные лиду с помощью API.
Если такие теги не были присвоены лиду, передается значение null. |
Звонки, Заявки | Отсутствуют |
| Теги заявок | tags_request |
Теги, присвоенные заявке автоматически по названию/внешнему ID формы, с которой она была отправлена.
Если такие теги не были присвоены заявке, передается значение null. |
Заявки | Отсутствуют |
| Теги триггерных сценариев | tags_triggers |
Теги, присвоенные лиду в рамках отработки триггерных сценариев.
Если у лида нет таких тегов, передается значение null. |
Звонки, Заявки | Отсутствуют |
| Теги из XLS импорта | tags_xls |
Теги, присвоенные лиду в рамках XLS импорта тегов.
Если у лида нет таких тегов, передается значение null. |
Звонки, Заявки | Отсутствуют |
| Все теги | tags_all |
Все теги всех типов, присвоенные лиду.
Если у лида нет тегов, передается значение null. |
Звонки, Заявки | Отсутствуют |
| Модель атрибуции | attribution |
Выбранная модель атрибуции в настройках webhook'а, согласно которой будет передаваться источник звонка или заявки.
Возможные значения:
|
Звонки, Заявки | Отсутствуют |
| Источник | source |
Источник трафика перехода на сайт.
Содержит либо источник, отслеженный системой (например, значение utm_source), либо кастомное значение источника из API или настроек пула. |
Звонки, Заявки | Отсутствуют |
| Канал | medium |
Канал трафика перехода на сайт.
Содержит либо канал, отслеженный системой (например, значение utm_medium), либо кастомное значение канала из API или настроек пула. |
Звонки, Заявки | Отсутствуют |
| Метка utm_source | utm_source |
Значение utm-метки utm_source.
Если в URL перехода отсутствовали все utm-метки, то передается значение <не указано>. Если в URL перехода были utm-метки, но utm_source отсутствовала или была пуста, то передается значение <не заполнено>. |
Звонки, Заявки | Отсутствуют |
| Метка utm_medium | utm_medium |
Значение utm-метки utm_medium.
Если в URL перехода отсутствовали все utm-метки, то передается значение <не указано>. Если в URL перехода были utm-метки, но utm_medium отсутствовала или была пуста, то передается значение <не заполнено>. |
Звонки, Заявки | Отсутствуют |
| Метка utm_campaign | utm_campaign |
Значение utm-метки utm_campaign.
Если в URL перехода отсутствовали все utm-метки, то передается значение <не указано>. Если в URL перехода были utm-метки, но utm_campaign отсутствовала или была пуста, то передается значение <не заполнено>. |
Звонки, Заявки | Отсутствуют |
| Метка utm_content | utm_content |
Значение utm-метки utm_content.
Если в URL перехода отсутствовали все utm-метки, то передается значение <не указано>. Если в URL перехода были utm-метки, но utm_content отсутствовала или была пуста, то передается значение <не заполнено>. |
Звонки, Заявки | Отсутствуют |
| Метка utm_term | utm_term |
Значение utm-метки utm_term.
Если в URL перехода отсутствовали все utm-метки, то передается значение <не указано>. Если в URL перехода были utm-метки, но utm_term отсутствовала или была пуста, то передается значение <не заполнено>. |
Звонки, Заявки | Отсутствуют |
| Дополнительные отслеживаемые параметры | add_url_params |
Дополнительный отслеживаемый произвольный параметр в URL, по которому перешли на сайт.
Дополнительные отслеживаемые параметры добавляются в настройках прежней версии ЛК. Например, если клиент перешел на сайт по URL:
add_url_params[0][name]=abtest& Если дополнительных параметров не было в URL перехода, параметр add_url_params не передается вовсе. |
Звонки, Заявки | Отсутствуют |
| Google Client ID | gcid |
Идентификатор Google Client ID.
Если Google Client ID не определен, параметр не передается вовсе. |
Звонки, Заявки | Отсутствуют |
| Yandex Client ID | yaClientId |
Идентификатор Yandex Client ID.
Если Yandex Client ID не определен, параметр не передается вовсе. |
Звонки, Заявки | Отсутствуют |
| ID сессии Calltouch | sessionId | Идентификатор сессии Calltouch. | Звонки, Заявки | Отсутствуют |
| ID посетителя сайта | ctClientId |
Идентификатор посетителя Calltouch. Он представляет из себя значение куки _ct.
Если в лиде значение отсутствует (у лида нет сессии, например, звонок на статический номер), то значение будет null. |
Звонки, Заявки | Отсутствуют |
| Глобальный ID посетителя сайта | ctGlobalId |
Глобальный идентификатор посетителя Calltouch, общий для сайтов, на которых установлен скрипт Calltouch. Он представляет из себя значение сквозной куки _ct_client_global_id.
Значение параметра формируется только при включении соответствующего сеттинга (требуется обратиться к вашему менеджеру). Если в лиде значение отсутствует, то значение будет null. |
Звонки, Заявки | Отсутствуют |
| Отслеживаемый сайт | hostname | Отслеживаемый домен или поддомен ресурса, на который был осуществлен переход (например: yoursite.ru). | Звонки, Заявки | Отсутствуют |
| Страница входа на сайт | url |
URL на который перешел посетитель. Фиксируется только страница входа при создании сессии.
Если URL не удалось определить, параметр передается с пустым значением. |
Звонки, Заявки | Отсутствуют |
| Сторонние cookie | attrs |
Сторонние параметры, переданные заранее в статистику Calltouch.
Формат: |
Звонки, Заявки | Отсутствуют |
| Страница звонка | callUrl | Страница звонка. Фиксируется только если в настройках статистики включена одноименная опция. | Звонки | Отсутствуют |
| Страница заявки | requestUrl | Страница заявки. | Заявки | Отсутствуют |
| Идентификатор заявки на обратный звонок | callback_request_id | Уникальный идентификатор заявки, который присваивается после получения данных от пользователя на обратный звонок. | Звонки | Отсутствуют |
|
Флаг завершения цепочки вызовов |
callback_final_attempt | Флаг проставляется у звонка, на котором закончилась обработка заявки на обратный звонок после всех попыток повторных дозвонов. | Звонки | Отсутствуют |
| Страница реферального перехода | ref |
URL страницы, с которой пользователь перешёл на отслеживаемый сайт.
Если реферальный переход отсутствовал, параметр передается с пустым значением. |
Звонки, Заявки | Отсутствуют |
| Город | city |
Город, в котором находится клиент, совершивший звонок или оставивший заявку. Определение города происходит по IP-адресу клиента (через гео-базу 2ip.ru).
Если город не удалось определить, параметр передается с пустым значением. |
Звонки, Заявки | Отсутствуют |
| Браузер | browser |
Наименование и версия браузера, в котором был осуществлен переход. Определяется по User Agent клиента.
Если браузер не удалось определить, параметр передается с пустым значением. |
Звонки, Заявки | Отсутствуют |
| Операционная система | os |
Наименование и версия операционной системы. Определяется по User Agent клиента.
Если ОС не удалось определить, параметр передается с пустым значением. |
Звонки, Заявки | Отсутствуют |
| Устройство | device |
Информация об устройстве, с которого клиент перешел на сайт. Определяется по User Agent клиента.
Если устройство не удалось определить, параметр передается с пустым значением. |
Звонки, Заявки | Отсутствуют |
| IP-адрес | ip |
IP-адрес клиента, совершившего звонок или оставившего заявку.
Если IP не удалось определить, параметр передается с пустым значением. |
Звонки, Заявки | Отсутствуют |
| ID сеанса SIP | sip_call_id |
Уникальный идентификатор сеанса связи с АТС Calltouch. Отправляется на ваше оборудование при использовании переадресации по SIP trunk. Может быть полезен при интеграции с вашей АТС.
По умолчанию передается в момент завершения звонка. Для получения параметра в момент начала звонка отправьте запрос в техническую поддержку Calltouch info@calltouch.net. |
Звонки | Отсутствуют |
| ID звонка с АТС | callReference |
Технический идентификатор звонка внутри БД Calltouch.
Может применяться для отладки интеграций между Calltouch и внешними сервисами. |
Звонки | Отсутствуют |
| Запись разговора | reclink |
Ссылка на запись звонка.
Присутствует, если в настройках API не запрещено скачивание записей разговоров. Содержит ссылку со специальным JWT-токеном, по которой можно скачать только ту запись звонка, по которому был отправлен этот webhook. При каждой отправке webhook'а генерируется уникальный JWT-токен. |
Звонки | Отсутствуют |
| ID сделки | orderId | Идентификатор связанной с лидом сделки. | Звонки, Заявки | Значение недоступно на момент начала звонка |
| ID сайта | siteId | Уникальный идентификатор вашего проекта внутри Calltouch, на котором был зафиксирован звонок или заявка. | Звонки, Заявки | Отсутствуют |
| Название сайта | siteName | Название вашего проекта внутри Calltouch, на котором был зафиксирован звонок или заявка. | Звонки, Заявки | Отсутствуют |
| User agent | userAgent | Строка с идентифицирующей информацией о пользователе, его устройстве и браузере. | Звонки, Заявки | Отсутствуют |
| Дата и время отправки вебхука в формате Unix Time Stamp | sendingTimestamp | Дата и время отправки webhook'а в формате Unix Time Stamp в секундах. | Звонки, Заявки | Отсутствуют |
| Расшифровка звонка в текст | text |
Передается текстовая запись разговора.
Если у звонка имеется текстовая расшифровка разговора, то фразы передаются массивом по шаблону:
text[0][channel]=operator& Если у звонка нет текстовой записи разговора, то в качестве значения будет передано null. |
Звонки | Значение недоступно на момент начала звонка |
| Менеджер | manager | Менеджер звонка или заявки. | Звонки, Заявки | Отсутствуют |
| Спам или нет | spam |
Специальная отметка "Спам", проставляемая в сайдбаре журнала звонков.
Возможные значения:
|
Звонки | Значение недоступно на момент начала звонка |
| Пользовательские поля виджетов | callback_custom_fields |
Значения пользовательских полей виджетов.
Если у обратного звонка или заявки с виджета имеются заполненные пользовательские параметры, то их значения передаются массивом по шаблону:
callback_custom_fields[0][name]=поле 1& Если у обратного звонка или заявки с виджета отсутствуют пользовательские поля форм виджетов, то параметр не передается вовсе. |
Звонки, Заявки | Отсутствуют |
| Пользовательские поля лидов | custom_fields |
Пользовательские поля лидов, переданные по API.
Если у звонка или заявки имеются заполненные пользовательские поля, то их значения передаются массивом по шаблону:
custom_fields[0][apiname]=название поля 1& Если у звонка или заявки отсутствуют пользовательские поля, то параметр не передается вовсе. |
Звонки, Заявки | Отсутствуют |
| ID лида Facebook | callback_request_facebook_lead_id |
Уникальный идентификатор клиента в Facebook Leads.
Присутствует при настроенной интеграции с Facebook Leads. Если интеграция не настроена, или настроена, но ID не удалось определить, то параметр не передается вовсе. |
Звонки, Заявки | Отсутствуют |
| Название кампании из виджетов лидогенерации | leadsCampaignName | Название кампании лида, полученного из виджетов лидогенерации (VK, Facebook и т.п.) | Звонки, Заявки | Отсутствуют |
Вебхуки по сделкам
Webhook'и по сделкам отправляют актуальную информацию о сделках и контактах клиентов при наступлении выбранных событий.
Доступные события
- Создание сделки;
- Изменение статуса;
- Изменение тега;
- Изменение источников;
- Изменение менеджера;
- Изменение пользовательского поля.
Передаваемые поля
| Название параметра | Параметр | Описание | Ограничения |
| Тип обращения | leadtype | Показывает, по какому типу обращения был отправлен webhook. В хуках по сделкам всегда передается значение: order | Отсутствуют |
| ID сделки | orderId | Уникальный идентификатор сделки в Calltouch. | Отсутствуют |
| Внешний ID сделки | orderNumber | Уникальный идентификатор сделки в CRM, который был передан в параметре orderNumber API-запроса на создание новой сделки. | Отсутствуют |
| Дата и время создания сделки | orderDate | Дата и время создания сделки в CRM. Формат: YYYY-MM-DD hh:mm:ss | Отсутствуют |
| Дата и время обновления сделки | updatedDate | Дата и время обновления сделки в CRM. Формат: YYYY-MM-DD hh:mm:ss | Отсутствуют |
| Дата и время статуса сделки | statusDate | Дата и время, когда сделка приобрела текущий статус. Формат: YYYY-MM-DD hh:mm:ss | Отсутствуют |
| Выручка сделки | orderAmount | Бюджет сделки. | Отсутствуют |
| Маржинальность сделки | orderMargin | Маржинальность сделки. | Отсутствуют |
| Валюта сделки | currency | Валюта сделки. | Отсутствуют |
| Воронка сделки | funnel | Воронка сделки. | Отсутствуют |
| Статус сделки | orderStatus | Текущий статус сделки. | Отсутствуют |
| Название сделки | orderName | Название сделки из CRM. | Отсутствуют |
| Ссылка на сделку в CRM | orderLink | Ссылка на сделку в CRM. | Отсутствуют |
| ФИО | mainContactFio | ФИО основного контакта сделки. | Отсутствуют |
| Номер телефона | mainContactPhone | Номер телефона основного контакта сделки. | Отсутствуют |
| Почта | mainContactEmail | Почта основного контакта сделки. | Отсутствуют |
| Номер Whatsapp | mainContactWaPhone | Номер Whatsapp основного контакта сделки. | Отсутствуют |
| ID Telegram | mainContactTgId | ID Telegram основного контакта сделки. | Отсутствуют |
| Имя пользователя Telegram | mainContactTgUsername | Username Telegram основного контакта сделки. | Отсутствуют |
| ID Vkontakte | mainContactVkId | ID Vkontakte основного контакта сделки. | Отсутствуют |
| Номер телефона (дополнительный) | otherContactsPhone | Телефоны дополнительных контактов сделки. | Отсутствуют |
| Почта (дополнительная) | otherContactsEmail | Почты дополнительных контактов сделки. | Отсутствуют |
| Номер Whatsapp (дополнительный) | otherContactsWaPhone | Номера Whatsapp дополнительных контактов сделки. | Отсутствуют |
| ID Telegram (дополнительный) | otherContactsTgId | ID Telegram дополнительных контактов сделки. | Отсутствуют |
| Имя пользователя Telegram (дополнительное) | otherContactsTgUsername | Username Telegram дополнительных контактов сделки. | Отсутствуют |
| ID Vkontakte (дополнительный) | otherContactsVkId | ID Vkontakte дополнительных контактов сделки. | Отсутствуют |
| Метод создания сделки | orderOrigin | Каким методом была создана сделка. | Отсутствуют |
| Тип лида с которым связана сделка | orderSourceType | Возможные значения:
Если сделка не связана с лидом, то параметр будет передан пустым. | Отсутствуют |
| ID лида с которым связана сделка | orderSourceId | Внутренний ID звонка, заявки или чата в системе Calltouch. | Отсутствуют |
| Источник создания сделки | service | Название внешней системы из которой была получена сделка. | Отсутствуют |
| Комментарий к сделке | comment | Комментарий к сделке. | Отсутствуют |
| Менеджер | manager | Менеджер сделки. Если у сделки нет менеджера, передается значение null. | Отсутствуют |
| Все теги | tags_all | Все теги всех типов, присвоенные сделке. Если у сделки нет тегов, передается значение null. | Отсутствуют |
| Модель атрибуции | attribution | Выбранная модель атрибуции в настройках webhook'а, согласно которой будет передаваться источник сделки. Возможные значения:
| Отсутствуют |
| Источник | source | Источник трафика перехода на сайт. | Отсутствуют |
| Канал | medium | Канал трафика перехода на сайт. | Отсутствуют |
| Метка utm_campaign | utm_campaign | Значение utm-метки utm_campaign. Если в URL перехода отсутствовали все utm-метки, то передается значение <не указано>. Если в URL перехода были utm-метки, но utm_campaign отсутствовала или была пуста, то передается значение <не заполнено>. | Отсутствуют |
| Метка utm_content | utm_content | Значение utm-метки utm_content. Если в URL перехода отсутствовали все utm-метки, то передается значение <не указано>. Если в URL перехода были utm-метки, но utm_content отсутствовала или была пуста, то передается значение <не заполнено>. | Отсутствуют |
| Метка utm_term | utm_term | Значение utm-метки utm_term. Если в URL перехода отсутствовали все utm-метки, то передается значение <не указано>. Если в URL перехода были utm-метки, но utm_term отсутствовала или была пуста, то передается значение <не заполнено>. | Отсутствуют |
| Google Client ID | gcid | Идентификатор Google Client ID. | Отсутствуют |
| Yandex Client ID | yaClientId | Идентификатор Yandex Client ID. | Отсутствуют |
| ID сессии Calltouch | sessionId | Идентификатор сессии Calltouch. | Отсутствуют |
| ID посетителя сайта | ctClientId | Идентификатор посетителя Calltouch. Он представляет из себя значение нашей куки _ct. Если сделка не имеет привязки к лиду с сессией или к сессии напрямую, то значение будет null. | Отсутствуют |
| Глобальный ID посетителя сайта | ctGlobalId | Глобальный идентификатор посетителя Calltouch, общий для сайтов, на которых установлен скрипт Calltouch. Он представляет из себя значение сквозной куки _ct_client_global_id. Значение параметра формируется только при включении соответствующего сеттинга (требуется обратиться к вашему менеджеру). Если сделка не имеет привязки к лиду с сессией или к сессии напрямую, то значение будет null. | Отсутствуют |
| Отслеживаемый сайт | hostname | Отслеживаемый домен или поддомен ресурса, на который был осуществлен переход (например: yoursite.ru). | Отсутствуют |
| Город | city | Город, в котором находится клиент, совершивший сделку. Определение города происходит по IP-адресу клиента (через гео-базу 2ip.ru). Если город не удалось определить, то значение отсутствует. | Отсутствуют |
| Браузер | browser | Наименование и версия браузера, в котором был осуществлен переход. Определяется по User Agent клиента. Если браузер не удалось определить, то значение отсутствует. | Отсутствуют |
| Операционная система | os | Наименование и версия операционной системы. Определяется по User Agent клиента. Если ОС не удалось определить, то значение отсутствует. | Отсутствуют |
| Устройство | device | Информация об устройстве, с которого клиент перешел на сайт. Определяется по User Agent клиента. Если устройство не удалось определить, то значение отсутствует. | Отсутствуют |
| IP-адрес | ip | IP-адрес из сессии клиента. Если IP не удалось определить, то значение отсутствует. | Отсутствуют |
| Сторонние cookie | attrs | Сторонние параметры, переданные заранее в статистику Calltouch. Формат: | Отсутствуют |
| ID сайта | siteId | Уникальный идентификатор вашего проекта внутри Calltouch. | Отсутствуют |
| Название сайта | siteName | Название вашего проекта внутри Calltouch. | Отсутствуют |
| User agent | userAgent | Строка с идентифицирующей информацией о пользователе, его устройстве и браузере | Отсутствуют |
| Дата и время отправки вебхука в формате Unix Time Stamp | sendingTimestamp | Дата и время отправки вебхука в формате Unix Time Stamp в секундах. | Отсутствуют |
| Пользовательские поля сделок | custom_fields | Пользовательские поля сделок, переданные по API. Если у сделки имеются заполненные пользовательские поля, то их значения передаются массивом по шаблону: custom_fields[0][apiname]=название поля 1& custom_fields[0][value]=значение поля 1& custom_fields[1][apiname]=название поля 2& custom_fields[1][value]=значение поля 2 Если у сделки отсутствуют пользовательские поля, то параметр custom_fields не передается. | Отсутствуют |
| Товары из сделки | products | Если у сделки имеются заполненные данные по купленным товарам, то их значения передаются массивом по шаблону: products[0].name=наименование& Где:
| Отсутствуют |
Вебхуки по чатам
Webhook'и по чатам отправляют информацию о диалогах клиентов в онлайн-чатах при наступлении выбранных событий.
Доступные события
- Отправка формы контактов;
- Создание сообщения;
- Удаление сообщения;
- Начало диалога;
- Завершение диалога;
- Привязка оператора к диалогу.
Передаваемые поля
| Название параметра | Параметр | Описание | Ограничения |
| Тип обращения | leadtype | Показывает, по какому типу обращения был отправлен webhook. В хуках по чатам всегда передается значение: chat | Отсутствуют |
| ID диалога | dialogId | Уникальный идентификатор диалога в Calltouch. Все чаты с одним клиентом объединяются в один диалог. | Отсутствуют |
| ID диалоговой сессии | dialogSessionId | ID диалоговой сессии. Каждый завершенный чат имеет отдельную сессию в рамках одного общего диалога. | Отсутствуют |
| ID сайта | siteId | Уникальный идентификатор вашего проекта внутри Calltouch. | Отсутствуют |
| ФИО клиента | name | Имя клиента, заполнившего форму сбора контактов. | Отсутствуют |
| Имя оператора | operatorName | Имя оператора, который ведет диалог. | Отсутствуют |
| Контактный телефон клиента | phone | Телефон клиента, заполнившего форму сбора контактов. | Отсутствуют |
| Email клиента | Почта клиента, заполнившего форму сбора контактов. | Отсутствуют | |
| Комментарий клиента | comment | Комментарий клиента, заполнившего форму сбора контактов. | Отсутствуют |
| Уникальное обращение | unique | Уникальный чат — это первый сеанс с пользователем. Возможные значения:
| Отсутствуют |
| Источник | source | Источник трафика перехода на сайт. | Отсутствуют |
| Канал | medium | Канал трафика перехода на сайт. | Отсутствуют |
| Метка utm_source | utm_source | Значение utm-метки utm_source. | Отсутствуют |
| Метка utm_medium | utm_medium | Значение utm-метки utm_medium. | Отсутствуют |
| Метка utm_campaign | utm_campaign | Значение utm-метки utm_campaign. | Отсутствуют |
| Метка utm_content | utm_content | Значение utm-метки utm_content. | Отсутствуют |
| Метка utm_term | utm_term | Значение utm-метки utm_term. | Отсутствуют |
| Дополнительные параметры | add_url_params | Дополнительный отслеживаемый произвольный параметр в URL, по которому перешли на сайт. Дополнительные отслеживаемые параметры добавляются в настройках прежней версии ЛК. Например, если клиент перешел на сайт по URL: add_url_params[0][name]=abtest& Если дополнительных параметров не было в URL перехода, параметр add_url_params не передается вовсе. | Отсутствуют |
| Google Client ID | gcid | Идентификатор Google Client ID. | Отсутствуют |
| Yandex Client ID | yaClientId | Идентификатор Yandex Client ID. | Отсутствуют |
| ID сессии Calltouch | sessionId | Идентификатор сессии Calltouch. | Отсутствуют |
| ID посетителя | ctClientId | Идентификатор посетителя Calltouch. Он представляет из себя значение куки _ct. | Отсутствуют |
| Глобальный ID посетителя | ctGlobalId | Глобальный идентификатор посетителя Calltouch, общий для сайтов, на которых установлен скрипт Calltouch. Он представляет из себя значение сквозной куки _ct_client_global_id. Значение параметра формируется только при включении соответствующего сеттинга (требуется обратиться к вашему менеджеру). Если в чате значение отсутствует, то значение будет null. | Отсутствуют |
| Отслеживаемый сайт | hostname | Отслеживаемый домен или поддомен ресурса, на который был осуществлен переход (например: yoursite.ru) | Отсутствуют |
| Страница входа | url | URL на который перешел посетитель. Фиксируется только страница входа при создании сессии. | Отсутствуют |
| Сторонние cookie | attrs | Сторонние параметры, переданные заранее в статистику Calltouch. Формат: | Отсутствуют |
| Город | city | Город, в котором находится клиент, обратившийся в чат. Определение города происходит по IP-адресу клиента (через гео-базу 2ip.ru). | Отсутствуют |
| Тип события | event_type | Тип события онлайн-чата, по которому отправился вебхук. Возможные значения:
| Отсутствуют |
| Система, из которой общается клиент | clientSource | Система, из которой общается клиент. Возможные значения:
| Отсутствуют |
| Username пользователя в Telegram | telegramUsername | Передается при обращении через чат Telegram. | Отсутствуют |
| ID пользователя во ВКонтакте | vkUserId | Передается при обращении через чат Вконтакте. | Отсутствуют |
| Контакт в Whatsapp | whatsappChatId | Передается при обращении через Whatsapp. | Отсутствуют |
| ID первого сообщения клиента | firstClientMessageId | ID первого сообщения клиента в диалоговой сессии. | Доступно только по событию: "Начало диалога" |
| Тип первого сообщения клиента | firstClientMessageTypeId | Тип первого сообщения клиента в диалоговой сессии. Возможные значения:
| Доступно только по событию: "Начало диалога" |
| Тип завершения диалога | dialogSessionFinishedType | Тип завершения диалоговой сессии. Возможные значения:
| Доступно только по событию: "Завершение диалога" |
| Имя оператора завершенного диалога | dialogSessionFinishedOperatorName | Имя оператора, который был назначен на момент завершения диалоговой сессии. | Доступно только по событию: "Завершение диалога" |
| ID сообщения | messageId | ID сообщения диалога. | Доступно только по событиям: "Создание сообщения" и "Удаление сообщения" |
| Тип сообщения | messageType | Тип сообщения диалога. Возможные значения:
| Доступно только по событию: "Создание сообщения" |
| Тип отправителя сообщения | messageSenderType | Тип отправителя сообщения диалога. Возможные значения:
| Доступно только по событию: "Создание сообщения" |
Скрытие персональных данных в вебхуках
В каждом типе webhook'ов доступна дополнительная опция "Скрывать персональные данные" на вкладке "Передаваемая информация" при настройке параметров.
При активации этой опции контактные данные клиентов передаются в замаскированном (скрытом) виде.
Какие данные скрываются
При включении опции скрываются следующие типы персональных данных:
Телефонные номера клиентов;
Email-адреса клиентов;
Персональные данные в текстовых расшифровках звонков;
Контакты из мессенджеров.
Опция не действует на следующие параметры:
Аудиозаписи разговоров (параметр
reclink) — записи передаются в исходном виде без маскировки.
Примеры маскировки
При включении опции данные преобразуются следующим образом:
Телефон:
79991234567→7999123xxxxEmail:
test@test.ru→test@xx.xTelegram Username:
iv_ivanov→iv_ivxxxx
Активация скрытия
По умолчанию опция отключена. Для активации установите соответствующий чекбокс "Скрывать персональные данные" на вкладке "Передаваемая информация" при настройке вебхука:
Изменение применяется только к новым отправкам вебхуков после сохранения.
Активация вебхука
После того как все настройки выполнены, для активации webhook'ов необходимо:
Сохранить настройки нажатием кнопки "Сохранить"
Вернуться на страницу со списком вебхуков
Активировать нужный вебхук с помощью переключателя:
.png)
При активации вебхука Calltouch автоматически тестирует ваш адрес обработчика, отправляя на него тестовый запрос.
Вебхук можно активировать только если:
Адрес обработчика доступен и отвечает на HTTP-запросы;
Обработчик возвращает HTTP статус 200 OK.
Если обработчик не отвечает или возвращает ошибку (4xx, 5xx), система выведет уведомление с ошибкой.
Если при активации появилось сообщение об ошибке:
Проверьте, что адрес обработчика указан верно;
- Проверьте, что адрес использует корректный протокол (http:// или https://);
Убедитесь, что сервер доступен;
- Убедитесь, что IP-подсеть Calltouch (92.118.66.0/23) не заблокирована файрволлом;
Проверьте логи на стороне обработчика;
Используйте https://pipedream.com для тестирования доступности.
После исправления проблем повторите попытку активации.
Редактирование, копирование и удаление вебхуков
Для управления вебхуками в общем списке найдите нужный webhook и нажмите на меню действий:
.png)
В появившемся меню доступны следующие действия:
- Редактировать — изменить настройки существующего webhook'а;
- Создать копию — создать копию webhook'а со всеми его настройками. Созданная копия будет по умолчанию неактивна и готова к дополнительным изменениям;
- Удалить — удалить webhook.
Переотправка вебхуков за определенный период
Если ваш обработчик не получил данные (ответ сервера не 200 OK) или работал некорректно (ответ сервера 200 OK, но данные использовались неверно), вы можете вручную запустить переотправку webhook'ов.
Какие вебхуки переотправляются
Переотправка осуществляется только по лидам, сделкам и чатам, по которым была хотя бы одна попытка отправки. Выполнить переотправку за период, в котором webhook'а не существовало или webhook был выключен, невозможно.
Типы переотправки
Доступно два типа переотправки вебхуков:
- Неполученные вебхуки (не 200 OK) — переотправляет только те webhook'и, которые не были успешно доставлены (сервер вернул ошибку).
- Все вебхуки — переотправляет все webhook'и за выбранный период, независимо от статуса доставки.
Ограничения
Максимальный период переотправки — 31 день.
Переотправляются только события, которые уже отправлялись ранее.
Как запустить переотправку
Откройте нужный вебхук;
Перейдите в раздел "Переотправка вебхуков";
Выберите тип переотправки;
Укажите период (начало и конец периода);
Нажмите "Переотправить".
По завершении процесса вы получите оповещение в ЛК Calltouch со статусом переотправки:
.png)
- A/B тестирование (раздел «Подключение»)
- Email-трекинг (раздел «Подключение»)
- Отслеживание офлайн конверсии (раздел «Подключение»)
- Подключение к отслеживанию дополнительных доменов (раздел «Подключение»)
- Подмена номеров на AMP-страницах Google (раздел «Подключение»)