Інтеграція CallbackHunter: зворотній дзвінок за 2 години

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтеграція CallbackHunter: зворотній дзвінок за 2 години
Простий
від 4 годин до 2 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1358
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1251
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    956
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1188
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    929
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    947

Налаштування зворотнього дзвінка: інтеграція CallbackHunter для захоплення лідів

Типова ситуація: відвідувач заходить на сайт, вивчає послуги, але не залишає заявку. Якщо через 30 секунд ніхто не передзвонює — йде до конкурента. CallbackHunter вирішує проблему: віджет зворотнього дзвінка пропонує менеджеру передзвонити клієнту за лічені секунди після запиту. Але просто вставити скрипт недостатньо — потрібне правильне налаштування тригерів, API та webhook, щоб захоплювати ліди без втрат. Ми допомагаємо налаштувати інтеграцію так, щоб ви отримували максимум заявок без зайвих витрат. За 5 років ми реалізували десятки успішних інтеграцій CallbackHunter — від простого віджета до складних сценаріїв з кастомною обробкою даних.

Як встановити віджет за 10 хвилин?

Встановлення зводиться до вставки скрипта в шапку сайту (перед закриваючим </head>). Після реєстрації в особистому кабінеті CallbackHunter ви отримаєте унікальний ID віджета. Приклад коду:

<script type="text/javascript">
(function(h,u,n,t,e,r,s){h[t]=h[t]||function(){
(h[t].q=h[t].q||[]).push(arguments)},h[t].c=e,r=u.createElement(n),
s=u.getElementsByTagName(n)[0],r.async=1,r.src='//widget.callbackhunter.com/assets/widget/widget.js',
s.parentNode.insertBefore(r,s)})(window,document,'script','cbh','WIDGET_ID');
cbh('init');
</script>

Передача даних користувача через JavaScript API

API дозволяє передавати контекстні дані (ім'я, email, номер замовлення) та програмно відкривати форму. Це корисно для сайтів з авторизацією або корзиною:

// Передати дані про користувача
cbh('data', {
    email: user.email,
    name:  user.name,
    order: orderId
});

// Відкрити форму програмно (наприклад, при кліку на кнопку "Передзвоніть мені")
cbh('show');

Налаштування webhook для CRM

CallbackHunter надсилає POST-запит на вказаний URL при кожному новому запиті на зворотній дзвінок. На сервері (наприклад, Laravel 11) можна обробити дані та надіслати сповіщення менеджеру:

Route::post('/webhooks/callbackhunter', function (Request $request) {
    Lead::create([
        'phone'  => $request->phone,
        'source' => 'callbackhunter',
        'name'   => $request->name ?? null,
        'meta'   => $request->all()
    ]);
    // Сповістити менеджера в Telegram
});

Чому важливо правильно налаштувати тригери показу?

Стандартне встановлення показує віджет одразу при завантаженні сторінки — це може збільшити відмови. Оптимальні тригери: за часом на сайті (30–60 секунд), при скролі до 50% сторінки, при спробі закриття (exit-intent) або для визначених джерел трафіку (наприклад, з реклами). CallbackHunter підтримує ці налаштування в кабінеті, але для точного прив'язування до подій сайту знадобиться кастомна інтеграція через JS. Ми налаштовуємо тригери так, щоб пропозиція зворотнього дзвінка з'являлася в найконверсійніший момент, не дратуючи користувача.

Порівняння базової та кастомної інтеграції

Критерій Базова установка Кастомна інтеграція
Час встановлення 15 хвилин від 2 годин
Тригери показу Стандартні (час/scroll/exit) Індивідуальні сценарії
Webhook для CRM Стандартний парсинг Кастомна обробка з валідацією
Передача даних через API Ні Так (email, ім'я, замовлення)
Вплив на Core Web Vitals Мінімальний (LCP +0.1s) Оптимізовано (LCP як без віджета)
Додаткові ліди Базові 5-10% До 40% більше кваліфікованих лідів

Кастомна інтеграція дає в 1.5 рази більше лідів у порівнянні з базовою за рахунок точного таргетингу та автоматичної атрибуції.

Коли використовувати exit-intent тригер?

За даними наших проєктів, exit-intent спрацьовує в 15% відвідувань, і близько 30% з них залишають номер. Якщо трафік на сайті дорогий (наприклад, з контекстної реклами), exit-intent може окупитися за перші 100 заявок. Важливо не зловживати: показ при кожному виході знижує довіру. Ми рекомендуємо показувати віджет не частіше разу на добу для одного користувача.

Налаштування розкладу дзвінків

В особистому кабінеті CallbackHunter можна задати робочий час, коли віджет відображається. Для нестандартних графіків (наприклад, перерви на обід або різні часові пояси) ми ховаємо віджет через JS залежно від часу: if (hour < 9 || hour > 18) { cbh('hide'); }. Це виключає заявки в неробочий час, коли ніхто не може відповісти.

Що входить в роботу під ключ

  • Встановлення та тестування віджета на всіх пристроях і браузерах.
  • Налаштування тригерів показу (час на сайті, scroll, exit-intent, джерело трафіку).
  • Інтеграція webhook з вашою CRM (AmoCRM, Bitrix24, HubSpot) або Telegram.
  • Передача користувацьких даних через JavaScript API (ім'я, email, замовлення).
  • Навчання співробітників роботі з особистим кабінетом.
  • Гарантія стабільної роботи протягом місяця та контроль Core Web Vitals (LCP, CLS).

Терміни та гарантії

Базова інтеграція займає від 2 годин до 1 дня. Кастомна — до 3 днів. Наші інженери перевіряють роботу віджета в режимі реального часу, щоб виключити конфлікти з існуючими скриптами. Зв'яжіться з нами, щоб обговорити ваш проєкт — підберемо оптимальну схему інтеграції та тариф. Більше 5 років досвіду роботи з CallbackHunter та десятки успішних запусків.

Джерело: документація CallbackHunter API

Інтеграція email розсилок: чому вона часто ламається?

Ми стикалися з тим, що тригерний лист через 10 хвилин після реєстрації конвертує в 4–5 разів краще, ніж той самий лист через 24 години. Це не маркетинговий міф — це механіка: поки користувач теплий, поки пам'ятає контекст. Але більшість інтеграцій з розсильниками зроблені так: форма сабмітиться → синхронний HTTP-запит до API → якщо API гальмує, користувач чекає 3 секунди → лист йде або не йде, ніхто не знає.

Якщо ви зіткнулися з втраченими листами або потраплянням у спам, замовте аудит існуючої інтеграції — ми знайдемо вузькі місця за 2 дні.

Провайдери та їх API

Unisender — російський провайдер, популярний у сегменті SMB. REST API, простий. Додавання контакту: importContacts, відправка транзакційного листа: sendEmail. Важливо: для транзакційних листів (підтвердження замовлення, скидання пароля) Unisender Go — окремий сервіс з іншим API та окремою ціною. Змішувати масові розсилки та транзакційні в одному потоці — погана ідея для репутації домену.

SendPulse — надає email, SMS, web push, Viber, Telegram-боти через єдиний API. Для проєктів, де потрібен омніканал, це зручно. Automation 360 — візуальний конструктор ланцюжків, можна запустити автоматизацію через API event. SDK для PHP (sendpulse/rest-api-php-sdk) підтримується, але оновлюється нерегулярно — краще використовувати напряму через Guzzle.

Mailchimp — вибір для міжнародної аудиторії та маркетингових команд, звиклих до екосистеми Mailchimp. Transactional email — через Mandrill (дочірній сервіс). Marketing API v3 для управління списками, тегами, кампаніями. Webhook для подій: відкриття, клік, відписка, bounce.

SMS. Для Росії: СМСЦ, МТС Exolve, Devino Telecom, SMS Aero. API у всіх схожий: метод send, параметри phone, message, sender (ім'я відправника — потрібно реєструвати окремо у оператора). Один нюанс: ім'я відправника має бути зареєстровано через агрегатора з договором — без цього SMS не відправляться на мережі МТС/МегаФон/Білайн.

Провайдер Тип Транзакційні листи Маркетингові Особливості
Unisender email+SMS Unisender Go (окремо) так Популярний в РФ, простий REST
SendPulse email+SMS+web push+Viber так так Єдиний API, омніканальність
Mailchimp email Mandrill так Аналітика, міжнародний
Twilio SMS+email так ні Глобальний, дорогий в РФ

Як побудувати інтеграцію, щоб не втрачати листи?

Розділяємо транзакційні та маркетингові потоки

Транзакційні листи (підтвердження замовлення, скидання пароля, статус доставки) — через окремий домен-відправник або субдомен tx.example.com. Маркетингові розсилки — через mail.example.com або news.example.com. Якщо маркетингова розсилка отримає багато скарг на спам, це не повинно зачепити репутацію транзакційного потоку. Згідно з документацією SendGrid, транзакційні повідомлення слід відправляти через виділений IP-пул для запобігання перехресному впливу.

Черга та retry

Будь-який виклик до email API — через чергу (Laravel Queue, Bull, Celery). Якщо Unisender повернув 503 — задача йде в retry через 5 хвилин, потім 15, потім 60. Після 5 невдалих спроб — у dead letter queue з алертом. Користувач при цьому вже отримав свій 200 OK і не знає про проблему. Завдяки цьому підходу bounce rate на проєктах знижується до 0.5%.

Приклад job для Laravel:

public function handle(): void
{
    try {
        $response = Http::post(config('services.unisender.email_url'), $this->params);
        if ($response->failed()) {
            $this->release(300); // retry через 5 хв
        }
    } catch (\Throwable $e) {
        $this->release(300);
    }
}

Шаблони

Зберігаємо шаблони в коді (Blade, Twig, React Email), не в інтерфейсі провайдера. Причини: версіонування через Git, preview у браузері без відправки, можливість тестування. Для складних шаблонів з динамічним контентом — react-email з експортом в HTML через @react-email/render.

Валідація та згоди

Перед додаванням контакту до списку — double opt-in (лист з підтвердженням). Зберігати факт підтвердження з timestamp у своїй БД. При відписці — синхронно відписуємо і у провайдера, і в своїй базі. Ігнорувати webhook відписки — прямий шлях до блокування акаунта у провайдера. Всі процеси відповідають ФЗ-152 про персональні дані.

Як налаштувати DKIM для домену-відправника?

DKIM дозволяє підписувати листи цифровим підписом, що підвищує довіру поштових серверів.

  1. Згенеруйте пару ключів (наприклад, через OpenSSL: openssl genrsa -out private.key 2048).
  2. Опублікуйте публічний ключ у DNS як TXT-запис для селектора (наприклад, mail._domainkey.tx.example.com).
  3. Вкажіть селектор у провайдера (SendGrid, Mailgun, Unisender).
  4. Перевірте командою dig TXT mail._domainkey.tx.example.com.

Моніторинг доставності

Підключаємо webhook від провайдера на події bounce (жорсткий і м'який), spam_complaint, unsubscribe. Жорсткий bounce — негайно позначаємо email як невалідний у своїй БД, більше не відправляємо. М'який bounce 3 рази поспіль — те саме. Метрики: open rate, click rate, bounce rate, unsubscribe rate — дивимося не рідше разу на тиждень. Наші сертифіковані інженери налаштовують алерти в Grafana/Prometheus.

Чому важливо розділяти потоки?

Якщо відправити маркетингову розсилку з того ж домену, що й транзакційні листи, отримавши скарги на спам, ви ризикуєте заблокувати домен — і користувачі перестануть отримувати навіть підтвердження замовлень. SPF, DKIM, DMARC (Wikipedia SPF, Wikipedia DKIM) повинні бути налаштовані окремо для кожного потоку. Ми використовуємо субдомени з різними DNS-записами.

Обсяг робіт з інтеграції

  • Аудит поточних потоків комунікації та репутації домену (SPF, DKIM, DMARC)
  • Вибір провайдера та схеми: транзакційний vs маркетинговий трафік
  • Налаштування DNS-записів SPF, DKIM, DMARC (Wikipedia DMARC)
  • Розробка шаблонів листів (HTML + динамічний контент)
  • Інтеграція з бекендом через черги та API
  • Налаштування webhook для доставності та скарг
  • Документація з експлуатації та навчання команди
  • Гарантія доставності та підтримка після запуску

Терміни та вартість

Сценарій Термін (робочі дні) Примітка
Базові транзакційні листи (один провайдер) 5–7 днів Ціна розраховується індивідуально після аудиту
Тригерні ланцюжки + SMS + веб-пуши 10–20 днів Ціна розраховується індивідуально після аудиту
Повна омніканальна автоматизація 20–40 днів Ціна розраховується індивідуально після аудиту

Вартість розраховується індивідуально після аудиту. Ми працюємо під ключ: від аналізу до моніторингу в продакшені. Отримайте консультацію інженера — оцінимо проєкт безкоштовно та скажемо точні терміни. Досвід більше 7 років в інтеграції поштових сервісів, реалізовано 50+ проєктів. Замовте безкоштовний аудит поточної інтеграції — отримайте звіт з рекомендаціями.