Интеграция с CarrotQuest
Инструкция по настройке Webhook CarrotQuest для интеграции с MacroCRM
Для специалистов CarrotQuest и тех, кто настраивает интеграцию CarrotQuest с MacroCRM
Данная инструкция описывает типы Webhook запросов, структуру данных, матрицу полей и API описание для интеграции CarrotQuest с MacroCRM.
4. Типы Webhook запросов
MacroCRM поддерживает два типа Webhook запросов от CarrotQuest:
TYPE_CLASSIC(event): Классический тип Webhook, отправляет данные о различных системных событиях, происходящих с пользователями на вашем сайте (просмотр страниц, изменение данных профиля, UTM инициализация и т.д.). Эти события инициируются системой CarrotQuest автоматически при определенных действиях пользователя.TYPE_TRIGGER(message_webhook): Webhook, отправляемый при срабатывании триггеров в CarrotQuest. Эти триггеры могут быть настроены для срабатывания при определенных условиях, например, при заполнении формы в чате или при отправке сообщения через триггерное сообщение. Данный тип Webhook предназначен для передачи данных, собранных в рамках триггерных сценариев.
Важно! При настройке Webhook в CarrotQuest, необходимо выбрать, какой тип запросов будет отправляться в MacroCRM. Для полноценной интеграции лидов рекомендуется настроить отправку обоих типов Webhook запросов. TYPE_CLASSIC для отслеживания системных событий (например, UTM меток, изменений контактных данных), и TYPE_TRIGGER для получения данных из диалогов и форм, настроенных в триггерах CarrotQuest.
5. Структура данных Webhook запроса
5.1. Общая структура для обоих типов
Независимо от типа Webhook, запрос от CarrotQuest к MacroCRM представляет собой POST запрос в формате application/json. Основная структура данных для обоих типов включает следующие обязательные поля:
token: Строка токена для аутентификации запроса. Этот токен должен быть настроен как в CarrotQuest, так и в MacroCRM (в настройках интеграции CarrotQuest в MacroCRM).type: Строка, указывающая тип Webhook запроса. Возможные значения:"event"(дляTYPE_CLASSIC) или"message_webhook"(дляTYPE_TRIGGER).
5.2. Структура данных для TYPE_CLASSIC (event)
Для Webhook типа event, данные об событии и пользователе передаются вложенными объектами event и user соответственно.
{
"token": "your_webhook_token",
"type": "event",
"event": {
"type": {
"name": "[Название системного события]" // Например, "$session_start", "$utm_hit", "$phone_changed"
},
"props": {
// Объект со свойствами события, зависят от типа события
// Например, для "$utm_hit": "$utm_campaign", "$utm_source", "$utm_medium", ...
// Для "$phone_changed": "old_value", "new_value"
},
// ... другие поля объекта события (см. документацию CarrotQuest)
},
"user": {
"id": "[ID пользователя в CarrotQuest]",
"props": {
"$phone": "[Номер телефона пользователя]",
"$email": "[Email пользователя]",
"$name": "[Имя пользователя]",
"$initial_utm_campaign": "[UTM кампания]",
"$initial_utm_source": "[UTM источник]",
"$initial_utm_medium": "[UTM medium]",
"$initial_utm_content": "[UTM content]",
"$initial_utm_term": "[UTM term]",
// ... другие свойства пользователя (см. документацию CarrotQuest)
},
// ... другие поля объекта пользователя (см. документацию CarrotQuest)
}
}Ключевые поля TYPE_CLASSIC:
event.type.name: Название системного события CarrotQuest. MacroCRM обрабатывает следующие системные события:$utm_hit: Событие инициализации UTM меток при первом посещении сайта пользователем.$phone_changed: Событие изменения номера телефона пользователя.$email_changed: Событие изменения email пользователя.
event.props: Свойства события, специфичные для каждого типа системного события.user.props: Свойства пользователя, включая контактные данные ($phone,$email,$name) и UTM метки, зафиксированные при первом посещении ($initial_utm_*).
5.3. Структура данных для TYPE_TRIGGER (message_webhook)
Для Webhook типа message_webhook (триггерные сообщения), данные передаются непосредственно в корне JSON объекта.
{
"token": "your_webhook_token",
"type": "message_webhook",
"CarrotID": "[ID пользователя в CarrotQuest]",
"Имя": "[Имя пользователя из формы триггера]",
"Телефон": "[Номер телефона из формы триггера]",
"email": "[Email из формы триггера]",
"utmCampaign": "[UTM кампания]",
"utmSource": "[UTM источник]",
"utmMedium": "[UTM medium]",
"utmContent": "[UTM content]",
"utmTerm": "[UTM term]",
"Комментарий CQ": "[Комментарий 1, настроенный в триггере]",
"Комментарий CQ 2.0": "[Комментарий 2, настроенный в триггере]",
// ... другие поля, добавленные в триггерном сообщении CarrotQuest
}Ключевые поля TYPE_TRIGGER:
CarrotID: ID пользователя в CarrotQuest.Имя,Телефон,email: Данные пользователя, собранные через форму в триггерном сообщении CarrotQuest. Названия полей соответствуют русскоязычным названиям, как показано в примере.utmCampaign,utmSource,utmMedium,utmContent,utmTerm: UTM метки, если настроена их передача в триггерном сообщении. Важно! Названия UTM параметров вTYPE_TRIGGERотличаются отTYPE_CLASSIC(отсутствует префикс$initial_utm_).Комментарий CQ,Комментарий CQ 2.0: Поля для передачи комментариев к лиду, которые могут быть добавлены в настройках триггерного сообщения CarrotQuest.
6. Матрица полей для настройки Webhook в CarrotQuest
Для обеспечения корректной интеграции и передачи данных из CarrotQuest в MacroCRM, особенно для TYPE_TRIGGER Webhook, необходимо согласовать названия полей в CarrotQuest с ожидаемыми полями в MacroCRM.
6.1. TYPE_CLASSIC (event) Webhook
Для системных событий (TYPE_CLASSIC), дополнительная настройка полей в CarrotQuest не требуется. CarrotQuest автоматически отправляет данные в предопределенном формате, который MacroCRM ожидает для системных событий.
6.2. TYPE_TRIGGER (message_webhook) Webhook (Триггерные сообщения)
При настройке триггерных сообщений в CarrotQuest, важно убедиться, что названия полей, используемые в триггере (особенно в формах), соответствуют следующей матрице, чтобы MacroCRM мог корректно распознать и обработать данные.
Поле в форме триггера CarrotQuest
Название поля в Webhook запросе (TYPE_TRIGGER)
Поле в MacroCRM (Лид)
Описание
Имя
Имя
name
Имя клиента
Телефон
Телефон
phone
Номер телефона клиента
email
email
Email клиента
UTM кампания
utmCampaign
utm.utm_campaign
UTM кампания
UTM источник
utmSource
utm.utm_source
UTM источник
UTM medium
utmMedium
utm.utm_medium
UTM medium
UTM content
utmContent
utm.utm_content
UTM content
UTM term
utmTerm
utm.utm_term
UTM term
Комментарий CQ
Комментарий CQ
notes
Комментарий к лиду (заметка 1)
Комментарий CQ 2.0
Комментарий CQ 2.0
notes
Комментарий к лиду (заметка 2)
CarrotQuest ID (скрытое поле)
CarrotID
carrotquest_cid
ID пользователя в CarrotQuest (для связки)
Тип лида (скрытое поле)
(не передается явно)
type: 'living'
Тип лида (живой лид)
Активность (скрытое поле)
(не передается явно)
activity: 'buy'
Активность лида (покупка)
Источник (скрытое поле)
(не передается явно)
from_source: 'carrotquest'
Источник лида (CarrotQuest)
Рекомендации по настройке полей в триггерах CarrotQuest:
Используйте указанные названия полей в формах триггерных сообщений CarrotQuest (например, "Имя", "Телефон", "Email").
Для UTM меток, если необходимо их передавать через триггер, убедитесь, что названия полей в CarrotQuest соответствуют:
utmCampaign,utmSource,utmMedium,utmContent,utmTerm.Для комментариев, используйте поля с названиями "Комментарий CQ" и "Комментарий CQ 2.0", если требуется передавать комментарии к лиду из триггерных сообщений.
Скрытые поля: Поля "CarrotQuest ID", "Тип лида", "Активность", "Источник" не нужно добавлять в настройки триггера CarrotQuest. MacroCRM автоматически добавляет эти данные при обработке Webhook запроса типа
TYPE_TRIGGER.
7. Описание API (с точки зрения MacroCRM)
Endpoint URL: [URL вашей MacroCRM]/api/web/carrotquest/[ID компании]/[Ключ безопасности]
HTTP Method: POST
Request Body Format: application/json
Request Body Parameters:
Для TYPE_CLASSIC (event)
{
"token": "string", // Обязательный, токен для аутентификации
"type": "string", // Обязательный, всегда "event"
"event": {
"type": {
"name": "string" // Обязательный, название системного события (например, "$utm_hit", "$phone_changed")
},
"props": {
// Объект, свойства события (зависит от типа события)
},
// ... другие поля объекта события (см. документацию CarrotQuest)
},
"user": {
"id": "integer", // Обязательный, ID пользователя в CarrotQuest
"props": {
"$phone": "string", // Номер телефона пользователя
"$email": "string", // Email пользователя
"$name": "string", // Имя пользователя
"$initial_utm_campaign": "string", // UTM кампания
"$initial_utm_source": "string", // UTM источник
"$initial_utm_medium": "string", // UTM medium
"$initial_utm_content": "string", // UTM content
"$initial_utm_term": "string", // UTM term
// ... другие свойства пользователя
},
// ... другие поля объекта пользователя
}
}Для TYPE_TRIGGER (message_webhook)
{
"token": "string", // Обязательный, токен для аутентификации
"type": "string", // Обязательный, всегда "message_webhook"
"CarrotID": "integer", // Обязательный, ID пользователя в CarrotQuest
"Имя": "string", // Имя пользователя (из формы триггера)
"Телефон": "string", // Телефон пользователя (из формы триггера)
"email": "string", // Email пользователя (из формы триггера)
"utmCampaign": "string", // UTM кампания
"utmSource": "string", // UTM источник
"utmMedium": "string", // UTM medium
"utmContent": "string", // UTM content
"utmTerm": "string", // UTM term
"Комментарий CQ": "string", // Комментарий 1
"Комментарий CQ 2.0": "string", // Комментарий 2
// ... другие поля, настроенные в триггерном сообщении
}Response Codes:
200 OK: Успешная обработка Webhook запроса. MacroCRM возвращает JSON:{"success": true}.[Error Code]: В случае ошибки (например, невалидный токен, невалидные данные пользователя). MacroCRM возвращает JSON:{"success": false, "error": "[Сообщение об ошибке]"}. Код ошибки HTTP может варьироваться в зависимости от типа ошибки.
Обратите внимание: Данный документ предназначен для специалистов, настраивающих интеграцию CarrotQuest с MacroCRM. При настройке Webhook в личном кабинете CarrotQuest, используйте данную инструкцию как руководство по типам запросов, структуре данных и необходимым названиям полей для обеспечения корректной передачи данных в MacroCRM.
Последнее обновление