Loading...

Определитель посетителей сайта

Интеграция определения номера с CRM: Bitrix24, HubSpot, Salesforce

интеграция определителя номера

Пошаговая инструкция по подключению скрипта определения номера к популярным CRM. Настройка вебхуков и автоматическое создание сделки[1]


Почему интеграция с CRM критична для эффективности

Скрипт определения номера посетителя сайта превращает анонимный трафик в измеримый лид, но без передачи данных в систему управления клиентскими отношениями (CRM) этот потенциал остаётся неиспользованным. Интеграция позволяет:

  • Автоматически создавать сделки или контакты в момент определения номера, исключая ручной ввод и задержки.
  • Синхронно обогащать карточку клиента UTM‑метками, источником трафика и поведенческими сигналами, что повышает персонализацию обзвона.
  • Собирать чистые данные для аналитики – процент определений, долю дозвонов, ROI и другие KPI обзвона без двойного ввода.

Таким образом, интеграция определителя номера с CRM становится фундаментом для построения закрытого цикла маркетинг‑продаж[1-1].


Общий алгоритм: как работает webhook от ЯЛидер! к CRM

  1. Сбор данных – JavaScript‑скрипт на сайте собирает номер телефона и дополнительные параметры (UTM, источник, время визита).
  2. Отправка вебхука – при успешном определении скрипт выполняет POST‑запрос на URL вебхука, указанный в личном кабинете ЯЛидер!. Тело запроса содержит JSON‑структуру, например:
{
  "phone": "+7 900 123-45-67",
  "utm_source": "yandex",
  "utm_medium": "cpc",
  "utm_campaign": "lead_gen",
  "visitor_id": "a1b2c3d4",
  "timestamp": "2026-09-16T12:34:56Z"
}
  1. Обработка вебхука в CRM – система принимает запрос, извлекает поля и создаёт/обновляет запись согласно заранее настроенному маппингу полей.
  2. Автоматическое создание сделки – при наличии номера и минимального набора данных (например, источник) CRM генерирует новую сделку или задачу для менеджера.
  3. Обратная связь – CRM может вернуть статус (успех/ошибка) в виде ответа вебхука, что позволяет скрипту показывать уведомление администратору о результате интеграции.

Этот алгоритм одинаков для Bitrix24, HubSpot и Salesforce; различаются только способы настройки вебхука, формат аутентификации и структура полей[2][3].


Практика: пошаговые инструкции для Bitrix24, HubSpot, Salesforce

1. Bitrix24 интеграция

  • Получение вебхука
    1. В Bitrix24 перейдите в CRM → Настройки → Вебхуки.
    2. Нажмите «Добавить вебхук», выберите тип «Входящий вебхук».
    3. Скопируйте сгенерированный URL – он будет использоваться как endpoint в ЯЛидер!.
  • Настройка аутентификации
    Bitrix24 использует параметр auth в query‑строке URL (например, https://yourdomain.bitrix24.ru/rest/1/abcdef123456/incoming/). Никаких дополнительных заголовков не требуется.
  • Маппинг полей
    Пример структуры входящего JSON и соответствующих полей CRM:
JSON‑полеПоле Bitrix24 (CRM)Тип данных
phonePHONE_WORK (тип «Телефон»)строка
utm_sourceUTM_SOURCE (пользовательское)строка
utm_mediumUTM_MEDIUMстрока
utm_campaignUTM_CAMPAIGNстрока
visitor_idUF_VISITOR_ID (пользовательское)строка
timestampDATE_CREATE (автоматически)дата/время
  • Тестовый запрос
    Отправьте POST‑запрос через curl или Postman:
curl -X POST "https://yourdomain.bitrix24.ru/rest/1/abcdef123456/incoming/" \
     -H "Content-Type: application/json" \
     -d '{"fields":{"TITLE":"Лид с сайта","PHONE_WORK":[{"VALUE":"+7 900 123-45-67","VALUE_TYPE":"WORK"}],"UTM_SOURCE":"yandex","UTM_MEDIUM":"cpc","UTM_CAMPAIGN":"lead_gen","UF_VISITOR_ID":"a1b2c3d4"}}'
  • Автоматическое создание сделки
    В Bitrix24 можно настроить робота, который при появлении новой лид‑карточки с заполненным телефоном сразу создаёт сделку в этапе «Новый лид».

Инструкция по размещению кода перед закрывающим тегом </body> для Bitrix24 доступна в официальной документации[2-1].

2. HubSpot webhook

  • Создание вебхука
    1. В HubSpot зайдите в Автоматизация → Вебхуки.
    2. Нажмите «Создать вебхук», выберите «Отправка данных» и укажите URL, предоставленный ЯЛидер! (обратный вебхук не нужен – мы принимаем данные).
    3. Скопируйте секретный токен (если требуется проверка подписи).
  • Аутентификация
    HubSpot поддерживает Basic Auth или Bearer Token. В настройках вебхука укажите заголовок Authorization: Bearer <YOUR_TOKEN>.
  • Маппинг полей
    Пример соответствия JSON‑поля HubSpot‑свойствам:
JSON‑полеСвойство HubSpot (объект Contact)Тип
phonephoneстрока
utm_sourceutm_source (пользовательское)строка
utm_mediumutm_mediumстрока
utm_campaignutm_campaignстрока
visitor_idvisitor_id (пользовательское)строка
timestampcreatedate (автоматически)дата/время
  • Тестовый запрос
curl -X POST "https://api.hubapi.com/contacts/v1/contact/createOrUpdate/email/test@example.com?hapikey=YOUR_HUBSPOT_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"properties":[{"property":"phone","value":"+7 900 123-45-67"},{"property":"utm_source","value":"yandex"},{"property":"utm_medium","value":"cpc"},{"property":"utm_campaign","value":"lead_gen"},{"property":"visitor_id","value":"a1b2c3d4"}]}'
  • Автоматическое создание сделки
    В HubSpot можно настроить workflow, который при создании контакта с заполненным полем phone автоматически создаёт сделку (deal) и связывает её с контактом.

3. Salesforce lead

  • Настройка входящего вебхука
    1. В Salesforce Setup перейдите в Интеграция → Входящие вебхуки.
    2. Сгенерируйте Apex‑класс, который будет принимать POST‑запрос (пример ниже).
    3. Разверните класс и получите endpoint URL.
  • Пример Apex‑класса
@RestResource(urlMapping='/PhoneLead/*')
global with sharing class PhoneLeadWebhook {
    @HttpPost
    global static void doPost() {
        RestRequest req = RestContext.request;
        String body = req.requestBody.toString();
        Map<String,Object> json = (Map<String,Object>) JSON.deserializeUntyped(body);
        
        Lead newLead = new Lead();
        newLead.Phone = (String)json.get('phone');
        newLead.UTM_Source__c = (String)json.get('utm_source');
        newLead.UTM_Medium__c = (String)json.get('utm_medium');
        newLead.UTM_Campaign__c = (String)json.get('utm_campaign');
        newLead.Visitor_Id__c = (String)json.get('visitor_id');
        newLead.Status = 'New';
        insert newLead;
    }
}
  • Аутентификация
    Salesforce требует OAuth 2.0 токен доступа. При настройке вебхука в ЯЛидер! добавьте заголовок Authorization: Bearer <ACCESS_TOKEN>.
  • Маппинг полей
    Поле Phone – стандартное, остальные – пользовательские поля (UTM_Source__c, UTM_Medium__c, UTM_Campaign__c, Visitor_Id__c).
  • Тестовый запрос
curl -X POST "https://yourInstance.salesforce.com/services/apexrest/PhoneLead/" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"phone":"+7 900 123-45-67","utm_source":"yandex","utm_medium":"cpc","utm_campaign":"lead_gen","visitor_id":"a1b2c3d4"}'
  • Автоматическое создание сделки
    После вставки лида можно запустить процесс (Process Builder или Flow), который при появлении нового лида с заполненным телефоном создаёт связанную возможность (Opportunity) и задачу для менеджера продаж.

JS‑код: готовый фрагмент для отправки номера и данных в CRM (пример для fetch)

// Функция вызывается после успешного определения номера
function sendToCrm(phone, utmData) {
    const payload = {
        phone: phone,
        utm_source: utmData.utm_source || '',
        utm_medium: utmData.utm_medium || '',
        utm_campaign: utmData.utm_campaign || '',
        visitor_id: utmData.visitor_id || '',
        timestamp: new Date().toISOString()
    };

    // URL вебхука – замените на ваш endpoint
    const webhookUrl = 'https://your-crm.example.com/webhook/phone-lead';

    fetch(webhookUrl, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            // При необходимости добавьте авторизацию:
            // 'Authorization': 'Bearer YOUR_TOKEN'
        },
        body: JSON.stringify(payload),
        mode: 'cors'
    })
    .then(response => {
        if (!response.ok) throw new Error(`HTTP ${response.status}`);
        return response.json();
    })
    .then(data => console.log('CRM ответ:', data))
    .catch(err => console.error('Ошибка отправки в CRM:', err));
}

Примечание: Для Bitrix24 достаточно передать только URL без дополнительных заголовков; для HubSpot и Salesforce добавьте соответствующий заголовок авторизации.


Типичные ошибки и как их избежать

ОшибкаПричинаКак исправить
401 UnauthorizedНеправильный или отсутствующий токен/API‑ключПроверьте, что заголовок Authorization содержит актуальный токен; обновите токен в настройках ЯЛидер!.
400 Bad RequestНеверный формат JSON или отсутствие обязательных полейУбедитесь, что тело запроса – валидный JSON и содержит хотя бы поле phone. Используйте JSON‑валидатор перед отправкой.
Поле не сохраняетсяНесоответствие имени поля в CRM и маппингаСверьте имена пользовательских полей (например, UTM_Source__c в Salesforce) с теми, что указаны в payload.
Дублирование лидовВебхук отправляется при каждом событии (например, при каждом пейджвью)Добавьте дедупликацию на стороне CRM (уникальный индекс по visitor_id + timestamp) либо включите флаг «отправлять только при первом определении» в настройках ЯЛидер!.
Блокировка CORSЗапрос отправляется напрямую с браузера на CRM без проксиНастройте вебхук на серверной стороне (например, через облачную функцию или собственный эндпоинт), который будет принимать запрос от скрипта и пересылать его в CRM.

Своевременная проверка логов вебхука (в Bitrix24 – журнал вебхуков, в HubSpot – история запросов, в Salesforce – отладка Apex) позволяет быстро локализовать проблему.

integracziya opredelitelya nomera 01

Заключение

Интеграция определителя номера посетителя сайта с CRM‑системами Bitrix24, HubSpot и Salesforce превращает сырые данные о звонках в управляемый поток лидов, обеспечивая автоматическое создание сделок, обогащение карточек клиентов маркетинговыми метриками и построение прозрачной аналитики эффективности обзвона. Следуя представленным пошаговым инструкциям, используя готовый JS‑фрагмент и избегая типичных ошибок, вы сможете реализовать надёжную CRM‑синхронизацию за считанные минуты, а результат – рост конверсии и ROI – будет заметен уже в первый месяц использования[1-2].


Читайте также

Поделиться публикацией в соц сетях: