Как подключить MAX к low-code платформе «Нейро42» для создания ИИ-агента

Эта инструкция нужна вам, если вы хотите использовать мессенджер MAX как канал общения для вашего ИИ-агента.

В каких сценариях это может использоваться:

  • вы создаете чат-бота для клиентов (поддержка, продажи, консультации)
  • вы хотите заменить или дополнить Telegram новым каналом
  • вы строите омниканальную систему (MAX + Telegram + сайт + CRM)
  • вы разрабатываете ИИ-агента, который общается с пользователями от имени бизнеса

Что вы получите в результате:

После прохождения инструкции:

  • ваш бот в MAX будет подключен к Нейро42
  • все сообщения пользователей будут попадать в ваш воркфлоу
  • ИИ-агент сможет:
    • отвечать на сообщения
    • обрабатывать команды
    • запускать сценарии (например, продажи или онбординг)
    • использовать диплинки и персонализацию

Важно понимать

В отличие от Telegram, где многие вещи уже автоматизированы, MAX работает больше на ручном управлении на данный момент. Если освоить основы, у вас получится делать довольно гибкие настройки агентов.

 

1. Получение токена бота в MAX

Чтобы подключить MAX к Нейро42, сначала нужно получить API-токен вашего бота.

Важно: MAX для бизнеса доступен только для юридических лиц и ИП — резидентов РФ.

Что нужно сделать:

  1. Зарегистрируйтесь на платформе MAX для бизнеса (через корпоративный номер).
  2. Создайте профиль организации:
    • укажите ИНН
    • пройдите верификацию через Госуслуги или банк
  3. Создайте бота:
    • заполните форму
    • дождитесь одобрения
  4. Получите токен:
    • Чат-боты, Интеграция, Получить токен

Этот токен — ваш основной ключ доступа к API.

📌 Сноска:
Токен в MAX — это полный аналог Bot Token из Telegram (через Telegram). Без него никакие API-запросы работать не будут.

 

2. Настройка авторизации в Нейро42

Все API-запросы к MAX отправляются на:

https://platform-api.max.ru/

В «Нейро42» используйте ноду HTTP Request:

Обязательные настройки:

  • Включите Send Headers
  • Добавьте заголовки:

Authorization = <ваш_токен>

Content-Type = application/json

⚠️ Важно:

  • НЕ используйте Bearer — токен передается «как есть», иначе получите ошибку 401

Где хранить токен:

Есть 2 варианта:

  1. Вшить напрямую в ноду (быстро, но не масштабируется)
  2. Хранить в переменной / credential / БД и подставлять: {{ $(‘Edit Fields’).item.json.max_token }}

📌 Сноска:
Если вы строите мультиботовую архитектуру (несколько клиентов/ботов в одной системе), обязательно используйте второй подход — это позволит масштабировать решения без дублирования воркфлоу.

 

3. Подписка на входящие сообщения (аналог Telegram Trigger)

В MAX нет готовой trigger-ноды, как в Telegram, поэтому подписка на события делается вручную.

Шаг 1. Создайте Вебхук в Нейро42

  • Добавьте ноду Webhook
  • Метод: POST
  • Скопируйте Production URL

Шаг 2. Зарегистрируйте подписку

Сделайте один раз HTTP-запрос:

POST https://platform-api.max.ru/subscriptions

Headers:

Authorization: <токен>

Content-Type: application/json

Body:

{

 «url»: «https://<ваш-нейро42>/webhook/<id>»,

 «update_types»: [

   «message_created»,

   «message_edited»,

   «message_removed»,

   «message_callback»,

   «bot_started»

 ],

 «secret»: «your_secret_string»

}

Ключевой момент:

Важно: bot_started — это отдельный тип события, который приходит, когда юзер впервые открывает бота (или перешёл по диплинку с payload). Обычные сообщения приходят как message_created. Это два разных типа апдейтов, не путайте их.

⚠️ Если не указать bot_started — диплинки работать не будут.

Шаг 3. Проверка подписки:

GET https://platform-api.max.ru/subscriptions

После этого напишите боту в MAX и проверьте, что данные JSON приходят в Webhook-ноду.

📌 Сноска:
Webhook в MAX работает по той же концепции, что и в Telegram, но без автоматизации — вы сами управляете подписками через API.

 

4. Отправка сообщений пользователю

В отличие от Telegram (где есть нода Send Message), здесь — обычный HTTP Request.

Пример запроса:

POST https://platform-api.max.ru/messages?user_id={{ $json.user.user_id }}

Headers:

Authorization: <токен>

Content-Type: application/json

Body:

{

 «text»: «Текст сообщения»

}

Важно:

user_id берётся из входящего апдейта в Webhook-ноде. Если нужно отправить в конкретный чат (групповой), вместо ?user_id= используется ?chat_id= — параметр идёт в query string, а не в body.

📌 Сноска:
Это еще одно отличие от Telegram API — там идентификаторы часто передаются в JSON.

 

5. Диплинки и payload

Диплинки позволяют передавать параметры при входе пользователя в бота.

Когда пользователь открывает бота через диплинк, приходит событие bot_started:

{

 «update_type»: «bot_started»,

 «chat_id»: 1234567890,

 «user»: {

   «user_id»: 1234567890,

   «name»: «qqq»,

   «username»: «qqq»

 },

 «payload»: «test»

}

Как обрабатывать в Нейро42:

Добавьте ноду:

  • Switch или If

Условие:

{{ $json.update_type }}

Разделите логику:

  • bot_started → обработка payload (например, токен авторизации клиента)
  • message_created → обработка текста сообщений

📌 Сноска:
Payload часто используют для:

  • авторизации пользователя
  • передачи ID лида
  • deep-link маркетинга
  • запуска сценариев онбординга

 

6. Соответствие MAX ↔ Telegram

Если вы переносите существующего ИИ-агента с Telegram, используйте эту таблицу:

Telegram MAX
Telegram Trigger Webhook нода + одноразовая регистрация подписки на /subscriptions
Send Message HTTP Request на POST /messages?user_id=….
chat.id user.user_id (или chat_id) из апдейта Max
/start payload апдейт с update_type: «bot_started» и полем payload
Bot Token credential значение хедера Authorization (без Bearer)

 

7. Частые ошибки (критично)

Вот основные проблемы, которые ломают интеграцию:

  • Префикс Bearer в Authorization не нужен — кладем чистый токен. С Bearer будет 401.
  • user_id / chat_id идут в query string, а не в JSON body — это не как в Telegram API.
  • Если не подписались на bot_started, диплинки молча не работают — апдейт просто не приходит.
  • Подписка живёт на боте, а не на воркфлоу. Если поменяли URL вебхука (например, переехали на новый инстанс нейрокор) — нужно ещё раз дёрнуть POST /subscriptions с новым URL, иначе сообщения будут уходить в пустоту.
  • Поле secret в подписке стоит проверять во входящем вебхуке, чтобы отсечь левые запросы — Max будет присылать его в каждом апдейте.

📌 Сноска по безопасности:
Всегда проверяйте поле secret во входящем webhook — это простой способ защититься от поддельных запросов.

 

8. Рекомендации по архитектуре в Нейро42

Чтобы интеграция была устойчивой и масштабируемой:

  • храните токены в централизованном хранилище 
  • делайте отдельный воркфлоу для обработки вебхуков
  • разделяйте:
    • входящие события
    • бизнес-логику
    • отправку сообщений

📌 Сноска:
Такую архитектуру удобно использовать при создании ИИ-агентов с несколькими каналами (MAX, Telegram, веб-чат и т.д.).

Полезные материалы

Рекомендуется дополнительно изучить:

Предупреждение о применении иностранного языка

Настоящий мануал включает иностранные термины и выражения, оставленные в оригинале ввиду специфики предметной области и сложности однозначного перевода на русский язык. Данные элементы используются исключительно в целях повышения точности и ясности изложенного материала, поскольку точные аналоги на русском языке либо отсутствуют, либо существенно усложняют восприятие информации пользователями-профессионалами.

Техническая документация не является информацией для широкого круга потребителей. Документация предназначена исключительно для специализированных целей и рассчитана на аудиторию профессионалов, обладающих соответствующей квалификацией и знанием отраслевых стандартов и терминологии. Использование иностранной лексики согласуется с положениями действующего российского законодательства, регулирующего употребление иностранных слов в специальных материалах, направленных на профессиональных пользователей

Данная мера принята для минимизации рисков неправильного толкования ключевых понятий и предотвращения негативных последствий, связанных с некорректностью переводов сложных технических терминов и выражений.

Мы обращаем внимание на тот факт, что наличие иностранного языка в данной документации обусловлено профессиональной необходимостью и соответствует установленным нормам и правилам использования специализированной литературы и документации в Российской Федерации.

Свяжитесь с нами

* нажимая на кнопку, Вы даете согласие на обработку персональных данных