Запитати ШІ
Українська UK
Перейти до Watbot

Вибір контакту

Запит до блоку «Вхідний Webhook» надходить не від людини, а від стороннього сервісу. Тому код сам зазначає, до якого контакту належить запит, — однією з функцій нижче. Вони є лише в цьому блоці; в інших блоках контакт уже відомий.

Спільні правила для всіх функцій:

  • Контакт шукається лише серед контактів цього бота. Видалені контакти не знаходяться.
  • Повертає true, якщо контакт знайдено, і false, якщо ні.
  • За один запит можна викликати лише одну функцію й лише один раз. Другий виклик — навіть іншої функції — завершить код із помилкою, і блок відповість кодом 422.
  • Хоча б одна функція має бути записана в коді. Без неї блок не запустить код і відповість 422.
  • Після того як контакт знайдено, коду стають доступні його вбудовані змінні, змінні й теги. До цього змінні контакту порожні, а звернення до id, name та інших даних контакту зупинить код із помилкою.
  • Якщо контакт не знайдено або функцію не викликали, код виконається, але нічого не збереже: змінні, теги й глобальні змінні не запишуться, повідомлення не підуть, перехід і зв'язок «Продовжити» не спрацюють. Блок відповість 200 з повідомленням Code executed without setting contact.

setContactById

setContactById(id)

Знаходить контакт за його ID на платформі.

Параметр Тип Що передати
id Число або рядок із цифр ID контакту. У сценарії його можна отримати автопідстановкою {{ id }}
if (setContactById(request.query.contact_id)) {
    setContactVariable('оплата', 'отримана');
    sendMessage('Оплату отримано, починаємо збирати ваш букет.');
}

Щоб сторонній сервіс знав ID, передайте його заздалегідь — наприклад, у посиланні на оплату або блоком «HTTP-запит».

setContactByTelegramId

setContactByTelegramId(id)

Знаходить контакт за ID людини в Telegram.

Параметр Тип Що передати
id Число або рядок із цифр ID користувача Telegram — те саме, що в змінній telegram_id
var message = request.data.message;

if (message && message.from && setContactByTelegramId(message.from.id)) {
    setContactTag('писав_у_групі');
}

setContactByMaxId

setContactByMaxId(id)

Знаходить контакт за ID людини в MAX.

Параметр Тип Що передати
id Число або рядок із цифр ID користувача MAX — те саме, що в змінній max_id
if (setContactByMaxId(request.data.user_id)) {
    sendMessage('Кур\'єр уже в дорозі.');
}

setContactByVkId

setContactByVkId(id)

Знаходить контакт за ID людини у ВКонтакте.

Параметр Тип Що передати
id Число або рядок із цифр ID користувача ВКонтакте — число без id на початку
if (setContactByVkId(request.data.vk_user_id)) {
    setContactTag('залишив_відгук');
}

setContactByViberId

setContactByViberId(id)

Знаходить контакт за ID людини у Viber.

Параметр Тип Що передати
id Рядок ID користувача Viber — рядок із літер, цифр і знаків, його не можна перетворювати на число
if (setContactByViberId(request.data.viber_id)) {
    sendMessage('Ваше замовлення передано в доставку.');
}