Интеграция с Make

Пошаговая инструкция: Интеграция бота ProTalk с Make.com для автоматизации обработки заказов в Telegram

Эта инструкция поможет вам настроить чат-бота на базе ProTalk (платформа для создания сценариев ботов) в сервисе Make.com (no-code платформа для автоматизаций). На основе предоставленных скриншотов, мы создадим сценарий, где:

  • Триггер: Пользователь отправляет сообщение в Telegram-бот (например, "Готов!" для подтверждения заказа).
  • Действие: Make.com вызывает API ProTalk (/api/v1.0/ask/<token>) с данными пользователя (botid, chatid, message).
  • Обработка ответа: API возвращает ответ (текст или аудио), который сохраняется в переменную и отправляется обратно в Telegram.
  • Дополнительно: Сбор данных клиента (имя, телефон, email и т.д.) и валидация форм для создания заказа.

Цель: Автоматизировать обработку заказов — от подтверждения ("Готов!") до отправки ссылок на оплату и сбора контактных данных.

Предварительные требования

  1. Аккаунт в ProTalk: У вас должен быть создан бот с API-токеном (из скриншотов: URL вида https://api.pro-talk.ru/api/v1.0/ask/{token}). Получите bot_id (ID бота, например, 18955) и токен.
  2. Аккаунт в Make.com: Зарегистрируйтесь на make.com (бесплатный тариф для тестов).
  3. Telegram-бот: Создайте бота через @BotFather в Telegram, получите токен бота (API token). Добавьте бота в чат/группу.
  4. Тестовые данные: Подготовьте переменные для клиента, например:
  • telegram_id: ID чата из Telegram (из скриншотов: {{telegram_id}}).
  • user_question: Текст сообщения пользователя (например, "Готов!").
  1. Знания: Базовые навыки работы с вебхуками и JSON (Make.com упростит это).

Время настройки: 20–30 минут.


Шаг 1: Настройка сценария в ProTalk

ProTalk — это визуальный конструктор ботов. Мы создадим базовый флоу для обработки "Готов!" и вызова API. (Скриншоты показывают готовый флоу; следуйте им для recreation.)

  1. Войдите в ProTalk: Перейдите в дашборд бота (api.pro-talk.ru).
  2. Создайте новый сценарий (Message Chain):
  • Добавьте Start блок (круглый, синий).
  • Подключите Send Order (колокольчик) — это триггер на отправку заказа пользователем.
  • От Start подключите стрелку к Message Chain (цепочка сообщений).
  1. Добавьте условия для сообщений:
  • В Message Chain добавьте Intent блоки:
    • Зеленый: "Готов!" (готов к заказу) → Подключите к HTTP-запросу.
    • Серый: "Any other phrase" (любая другая фраза) → Подключите к fallback (продолжить диалог).
  • Для "Готов!": Добавьте стрелку к HTTP Request блоку.
  1. Настройте HTTP Request:
  • URL: https://api.pro-talk.ru/api/v1.0/ask/{token} (замените {token} на ваш, e.g., your_token).
  • Method: POST.
  • Headers: Оставьте пустыми (или добавьте Content-Type: application/x-www-form-urlencoded если нужно).
  • Body: Form-data (выберите в dropdown):
    • bot_id = 18955 (ваш ID бота из скриншота).
    • chat_id = {{telegram_id}} (переменная из Telegram, скриншот 2: circled "chat_id").
    • message = {{user_question}} (текст от пользователя, e.g., "Готов!", скриншот 2: underlined).
  • Опционально: Добавьте message_id для трекинга.
  1. Обработка ответов от API:
  • Добавьте No response from server (красный блок) → Если API не отвечает, fallback к "Any other phrase".
  • Для успешного ответа: Подключите к Write JSON response to variables (скриншот 3: orange circle).
    • Mapping: doneprotalk_reply (переменная для ответа, скриншот 3: "done" → "protalk_reply").
  • Подключите к следующему Message Chain для отправки {{protalk_reply}} пользователю (скриншот 4: chain с текстом {{protalk_reply}}).
  1. Сохраните и протестируйте: Нажмите "Save". Тестируйте в Telegram: Отправьте "Готов!" — бот должен вызвать API и ответить.

Результат: ProTalk теперь готов отправлять запросы в ваш API и обрабатывать ответы. Переходим к Make.com для полной автоматизации.


Шаг 2: Создание сценария в Make.com

Make.com будет "мостом": слушать Telegram, вызывать API ProTalk, обрабатывать ответ и отправлять обратно. (Аналогично скриншотам, но в Make.com это модули.)

  1. Войдите в Make.com и создайте новый сценарий:
  • Нажмите Create a new scenario.
  • Назовите: "ProTalk Order Bot".
  1. Добавьте триггер: Telegram — Watch Updates (Start с Send Order):
  • Ищите модуль Telegram > Watch Updates.
  • Подключите аккаунт: Введите токен бота из @BotFather.
  • Настройка:
    • Limit: 1 (для одного сообщения).
    • Update types: Message.
  • Это захватит входящее сообщение (e.g., "Готов!").
  • Test: Отправьте сообщение в Telegram-бот — Make.com покажет данные: chat.id (telegramid), message.text (userquestion).
  1. Добавьте фильтр для "Готов!" (зеленый Intent "Готов!"):
  • Нажмите "+" после триггера → Flow Control > Filter.
  • Condition: message.text содержит "Готов!" (или exact match).
  • Если не "Готов!", сценарий остановится (fallback как в ProTalk).
  1. Добавьте HTTP-модуль: POST к API ProTalk (HTTP Request):
  • "+" → HTTP > Make a request.
  • Настройка:
    • URL: https://api.pro-talk.ru/api/v1.0/ask/your_token (токен в пути; или используйте Bearer в Headers: Authorization: Bearer your_token и URL без токена).
    • Method: POST.
    • Headers: Content-Type: application/x-www-form-urlencoded (для form-data).
    • Body type: Raw.
    • Request content type: Form.
    • Body:
    • bot_id: 18955 (статический, из скриншота).
    • chat_id: {{1.chat.id}} (из Telegram триггера, скриншот 2: circled).
    • message: {{1.message.text}} (user_question, скриншот 2: underlined).
    • Опционально: message_id: {{1.message.message_id}}.
    • Parse response: Yes (JSON).
  • Test: Run once — должен вернуть JSON с done (ответ) и usage.
  1. Сохраните ответ в переменную (скриншот 3: Write JSON to variables):
  • "+" → Tools > Set variable.
  • Variable name: protalk_reply.
  • Variable value: {{4.done}} (из HTTP-модуля, где 4 — номер модуля; замените ##NL## на \n если нужно: используйте Tools > Replace для этого).
  • Это создаст protalk_reply как в ProTalk.
  1. Обработка ошибок (скриншот 3: "No response from server"):
  • После HTTP добавьте Flow Control > Router.
  • Route 1: Filter — status code = 200 → Продолжить к отправке.
  • Route 2: Иначе (красный fallback) → Telegram > Send a Message с текстом "Извините, ошибка сервера. Попробуйте позже.".
  1. Отправьте ответ в Telegram (скриншот 4: Message Chain с {{protalk_reply}}):
  • "+" → Telegram > Send a Text Message.
  • Chat ID: {{1.chat.id}}.
  • Text: {{5.protalk_reply}} (из переменной).
  • Parse mode: Markdown (если нужны ссылки/жирный текст).
  • Test: Должен отправить ответ от API.
  1. Сбор данных клиента и валидация (скриншот 5: Form fields + Validation):
  • После отправки ответа добавьте Telegram > Send a Message для формы: "Введите имя: ".
  • Затем Watch Updates (новый триггер? Нет, используйте loop: Flow Control > Iterator для шагов сбора).
  • Для простоты: Добавьте последовательные сообщения:
    • Запрос имени: Text = "Введите полное имя:".
    • Сохраните в Set variable: full_name = {{next_message.text}}.
  • Аналогично для: first_name, last_name, phone, username, id (chat.id), telegram_id (chat.id), email, address (скриншот 6: список полей с описаниями на русском).
  • Validation (скриншот 5: Validation dropdown):
    • После сбора: Tools > Basic Validator (или custom filter).
    • Conditions: phone matches regex ^\+?[1-9]\d{1,14}$ (для телефона); email contains @.
    • Если валидно: Перейдите к оплате (e.g., Send link: "Оплатите: https://pay.pro-talk.ru/…").
    • Иначе: Send "Неверные данные, попробуйте снова." и loop back.
  1. Дополнительные опции:
  • Keyboard settings (скриншот 1, right panel): В Telegram Send Message добавьте Reply Markup: Inline keyboard с кнопками ("Готов!", "Отмена").
  • Audio/TTS: Если API возвращает MP3 (из вашего кода), используйте Telegram > Send an Audio.
  • Delete variable after order (скриншот 1): В конце: Tools > Ignore для очистки чувствительных данных.
  • Repeat question (скриншот 1): Добавьте Flow Control > Repeater для повторных запросов.
  1. Сохраните и активируйте:
  • Run once для теста.
  • Scheduling: On (webhook auto-runs on Telegram updates).
  • Error handler: Добавьте Flow Control > Error Handler на весь сценарий: Лог в email/Slack.

Шаг 3: Тестирование и отладка

  1. Тест флоу:
  • Отправьте "Готов!" в Telegram-бот.
  • Проверьте: Make.com логи (в сценарии: Run history) — HTTP статус 200, protalk_reply заполнен.
  • Ответ приходит? Данные собраны (проверьте переменные в логе).
  1. Общие проблемы:
  • 401 Token error: Проверьте токен в URL/Headers.
  • Missing fields: Убедитесь, что bot_id, chat_id, message передаются (из скриншота 2).
  • JSON parse error: В HTTP-модуле включите "Show advanced settings" > Parse response.
  • Rate limits: Make.com free — 1000 ops/month; мониторьте.
  • Русский текст: Используйте UTF-8 везде.
  1. Расширение: Для других сервисов (Zapier, n8n) — аналогично: Webhook trigger → HTTP POST → Send response.

Итог

Теперь ваш бот в ProTalk интегрирован с Make.com: Пользователь говорит "Готов!" → API обрабатывает заказ → Ответ + форма данных → Оплата. Если нужны скриншоты Make.com или доработки (e.g., для Zapier), дайте знать! Для продакшена — добавьте webhook в Telegram (@BotFather > /setwebhook).