Покрокова інструкція
Markdown статтіПовідомити про помилку

Як налаштувати підписку користувача на нотифікації

Згідно політики месенджерів, боти не можуть відправляти повідомлення першими. Для того, щоб користувач міг отримувати нотифікації із боту, він повинен спочатку взаємодіяти з ботом та відправити йому будь-яке початкове повідомлення.

Як працює підписка?

  1. Користувач натискає кнопку на сайті/в застосунку "хочу отримувати повідомлення в месенджер"
  2. Відкривається посилання на бота з параметрами (deeplink)
  3. Користувач натискає "Почати" в месенджері
  4. Бот повертає chat_id та channel назад в застосунок через action send_me
  5. Тепер можна відправляти нотифікації користувачу через API call_node

Створення кнопки підписки

На стороні сайту/застосунку створіть кнопку "хочу отримувати повідомлення в месенджер" (або "слідкувати за статусом замовлення в месенджері", "вибрати канал підтримки" тощо).

В цій кнопці стартовий параметр може містити:

  • customer_id клієнта у вашій CRM/ERP
  • ID замовлення
  • Інші дані для ідентифікації

📖 Документація: Детальніше про deeplink читайте в Запуск сценарію через deeplink.

Повернення chat_id та channel

Після першого повідомлення від користувача (наприклад, натискання кнопки "Почати" в Telegram), бот повинен повернути назад в застосунок (сайт, CRM, тощо) пару параметрів:

  • chat_id — унікальний в межах месенджера ID чату (зазвичай букво-символьна строка)
  • channel — назва каналу (telegram, viber, facebook тощо)

В ConnectiveOne для цього існує спеціальний action send_me.

Конфігурація action send_me

В налаштуваннях цієї дії прописується:

  • url — адреса на яку відправити запит
  • method — метод відправлення запиту (GET, POST)
  • data — додаткові параметри для відправки, можуть містити плейсхолдери, наприклад {{messenger_input_param}}
  • headers — заголовки запиту

Автоматичні параметри

Action send_me автоматично додає до даних запиту:

  • chat_id — ідентифікатор чату користувача
  • channel — канал комунікації (telegram, viber, facebook тощо)

Ці параметри не потрібно вказувати в конфігурації — вони додаються автоматично.

Приклад конфігурації

{
  "url": "https://your-crm.com/api/webhook/chat-registered",
  "method": "POST",
  "data": {
    "customer_id": "{{messenger_input_param}}",
    "user_name": "{{user_name}}"
  },
  "headers": {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json"
  }
}

Результат запиту:

{
  "customer_id": "12345",
  "user_name": "Іван",
  "chat_id": "398866372",
  "channel": "telegram"
}

Можливі варіанти розгалуження подіями

  • "ok" — запит успішно відправлено
  • "not_ok" — помилка при відправці запиту

Обробка помилок

Якщо запит завершився помилкою, action повертає "not_ok". В сценарії можна обробити цю подію для:

  • Повторної спроби
  • Відправки повідомлення користувачу
  • Логування помилки

Відправка нотифікацій після підписки

Після того, як ви отримали chat_id та channel, ви можете відправляти нотифікації користувачу через API call_node.

📖 Документація: Детальніше читайте в Запуск сценарію через API call_node.

Обмеження

  • URL повинен бути доступним з сервера ConnectiveOne
  • Підтримуються тільки HTTP та HTTPS протоколи
  • Timeout запиту залежить від налаштувань системи

Важливі примітки

⚠️ Примітка: При використанні deeplink'а Facebook, Viber передається команда start. Враховуйте це, якщо ви використовуєте розгалуження сценарію з допомогою action'а get_command.

Якщо вам не потрібно використовувати в боті ID користувача в зовнішній системі (наприклад ідентифікувати), ви можете не передавати ніяких параметрів, а просто відправляти користувача в бот робити перші кроки та зберігати chat_id + канал в CRM/застосунку.

Пов'язані статті

Працюєте з власним ШІ-агентом?Встановіть відкритий skill, щоб ваш ШІ-агент працював з актуальною офіційною документацією ConnectiveOne.Отримати skillПотрібна підтримка?Не знайшли відповідь або потрібна допомога команди ConnectiveOne? Створіть запит у Client Portal.Створити запит