Нужна обработка (через адаптер)
"Нужна обработка (через адаптер)" — способ подключения для работы с данными в любом формате. Требует создания Python-скрипта, который преобразует входящие данные в формат, понятный платформе Nextbot.
Конфигурация
Ссылка вебхука
URL-адрес (endpoint) для получения вебхука находится в поле "Ссылка вебхука" на главной странице интеграции. Используйте этот URL для отправки POST-запросов с данными вебхука.
Пример:
https://app.nextbot.ru/api/webhooks/v1/682db757-7981-4bd4-8bb4-61bd1665a29/923ef269bf224bacadafb5ab05a2e75Если необходимо обновить токен (например, при компрометации старого), нажмите кнопку "Обновить токен". Прежний URL станет недействительным.
Как работает адаптер
Адаптер — это Python-скрипт, который принимает входящий вебхук в произвольном формате и преобразует его в стандартный формат для Nextbot.
Он используется в тех случаях, когда сторонний сервис не может отправлять данные сразу в формате Nextbot.
Общая схема работы
Сторонний сервис отправляет POST-запрос на ваш URL вебхука. Формат данных — JSON с произвольной структурой.
Входящий запрос передаётся в адаптер. Адаптер получает:
тело запроса
HTTP-заголовки
служебные метаданные
Python-адаптер:
извлекает нужные поля из входящих данных
формирует сообщение (текст, изображения, документы, аудио)
указывает
dialog_idвозвращает результат в формате Nextbot
Данные, доступные в адаптере
В адаптере доступен объект args, содержащий входящие данные:
args["request"]
dict
JSON-тело входящего запроса (структура зависит от стороннего сервиса)
args["headers"]
dict
HTTP-заголовки запроса (например, content_type, user_agent)
args["meta"]
dict
Метаданные (agent_hash, url_token)
Что должен вернуть адаптер
Python-скрипт обязан вернуть result следующего формата. Через адаптер можно передавать не только текст, но и изображения, документы и аудио.
dialog_id
int
✅
ID существующего диалога в Nextbot
content_type
str
⛔
Тип контента: text, image, document, audio. Если не указан — определяется автоматически по файловым полям
text
str
⛔
Текст сообщения. Обязателен для content_type=text, для файловых сообщений — опционален (подпись/контекст)
image_url / image_urls
str или list
⛔
URL изображения (или список URL) для content_type=image
document_url / document_urls
str или list
⛔
URL документа (или список URL) для content_type=document
audio_url
str
⛔
URL аудиофайла для content_type=audio
message_type
str
⛔
Тип сообщения: input, forwarded_output, output, notification. По умолчанию input
message_id
str
⛔
Уникальный ID сообщения (если не указан — создаётся автоматически)
Для передачи изображений, документов или аудио используйте поля image_url/image_urls, document_url/document_urls или audio_url. Поле text при этом опционально — может служить подписью к файлу.
Раскройте вкладку "Пример: уведомление о платеже", чтобы увидеть готовый пример с входящим запросом, Python-адаптером и результатом его работы
Пример: обработка вебхука от платёжной системы
Настройте функцию в Nextbot, которая после выполнения будет отправлять ID диалога (номер диалога) во внешнюю систему, например, через Custom API.
После этого платёжная система отправляет уведомление об успешной оплате.
ID диалога передаётся в поле metadata.dialog_id (настраивается при создании платежа).
Вот пример JSON, который приходит через вебхук. Это произвольный формат данных, который еще не соответствует стандарту Nextbot:

Логика работы адаптера
Извлекаем тело входящего запроса (
args["request"])Получаем
dialog_idизmetadataФормируем человекочитаемый текст сообщения
Возвращаем результат в формате Nextbot
Пример Python-кода адаптера
Результат работы адаптера
Сообщение появляется в указанном диалоге Nextbot, при этом его тип (input, output или forwarded_output) определяется настройкой message_type в адаптере:

Для включения режима отладки добавьте параметр ?debug=true к URL вебхука. В ответе вы получите подробные логи выполнения запроса.
Важно учитывать
dialog_idдолжен существовать в NextbotАдаптер может обрабатывать любую структуру данных
В одном адаптере можно:
валидировать подписи вебхуков
проверять статус событий
фильтровать ненужные уведомления
формировать разные сообщения в зависимости от типа события
Last updated
Was this helpful?