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

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

В цій кнопці стартовий параметр може містити customer_id клієнта у вашій CRM/ERP і назад бот буде повертати chat_id та вибраний клієнтом канал комунікації для того, щоб ви й надалі могли відправляти йому нотифікації. Бот за цим сценарієм не робить нічого крім того, що говорить "Чудово, тепер я буду повідомляти вам всі новини за вашим замовленням, якщо потрібна допомога - натисніть “з’єднати з оператором”

Передача стартового параметру (deeplink)

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

До стартового параметру можна передавати id клієнта, замовлення тощо. Загалом що завгодно, що дозволить вам потім співставити дані з вашого сайту/застосунку з парою chat_id + канал з боту.

Таким чином вам потрібно сформувати посилання на свої боти з зазначенням вхідного параметру та просити користувача натиснути на посилання і почати спілкування з ботом.

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

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

</aside>

Отримання стартового параметра для використання в сценарії

Якщо ви бажаєте використовувати в сценарії стартовий параметр, використовуйте дію get_command

Він обробляє команду виду /commandname або передану через deeplink, якщо переданий параметр, встановлює константу {{messenger_input_param}}

Повернення chat_id та каналу назад до застосунку

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