Интеграция чат-ботов
В этом разделе мы опишем, как вы можете интегрировать свой чат-сервис с нашими чат-ботами.
Наша платформа предоставляет возможность интеграции чат-ботов, таких как Claude Opus, GPT-4 и других моделей, с внешними чат-сервисами через систему взаимодействия вебхуков. Этот интерфейс позволяет легко подключить ваш чат-сервис к нашим чат-ботам и обеспечить бесшовное общение между пользователями и ботами.
Принцип работы
Для интеграции чат-бота с внешним чат-сервисом необходимо настроить вебхуки с каждой стороны. Обмен данными происходит через авторизованные POST-запросы, где токен авторизации передается в заголовке Authorization
. Данные передаются в формате JSON, что требует наличия специального заголовка Content-Type: application/json
.

Инициатором обмена всегда выступает сторона чат-сервиса. При отправке сообщения пользователем, чат-сервис отправляет событие CLIENT_MESSAGE
на вебхук нашего чат-бота. Бот обрабатывает полученное сообщение и генерирует ответ, который отправляется обратно на вебхук чат-сервиса в событии BOT_MESSAGE
.
В случае, если бот считает необходимым перевести диалог на живого оператора, он отправляет событие INVITE_AGENT
на вебхук чат-сервиса. Это событие сигнализирует о том, что дальнейшее общение должно быть передано реальному оператору для более персонализированной поддержки.
Адрес для отправки POST событий
Пример запроса:
curl --request POST \ --url https://gptunnel.ru/api/bot \ --header 'Authorization: YOUR_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "event": "CLIENT_MESSAGE", "id": "9f7b373e-fce1-11ee-9da4-a912f79ee445", "chat_id": "4976", "client_id": "30005", "message": { "type": "TEXT", "text": "Добрый день", "timestamp": 1713375646 }, "agents_online": false }'
При получении события мы ответим кодом 200 👍
Чтобы получать ответы от чат-бота, баланс пользователя или организации должен быть положительный!
Примеры основных событий
{
"event": "CLIENT_MESSAGE",
"id": "9f7b373e-fce1-11ee-9da4-a912f79ee445",
"chat_id": "4976",
"client_id": "30005",
"message": {
"type": "TEXT",
"text": "Добрый день",
"timestamp": 1713375646
},
"agents_online": false
}
Если есть необходимость в использовании функции Vision (только для моделей Сlaude и GPT-4) в message также будет необходимо передать список изображения "images": ["url"]
Существую еще несколько событий, которые мы рекомендуем отправлять нам:
Отправьте это событие если оператор принял чат,
{
"event": "AGENT_JOINED",
"id": "9f7b373e-fce1-11ee-9da4-a912f79ee445",
"chat_id": "4976",
"client_id": "30005"
}
Получить баланс
Для интеграции может понадобиться знать текущий баланс, чтобы клиент мог отслеживать необходимость оплаты сервиса. Для того чтобы получить баланс необходимо отправить запрос
curl --request POST \
--url https://gptunnel.ru/api/bot/balance \
--header 'Authorization: YOUR_TOKEN' \
--header 'Content-Type: application/json'
В ответ мы отдадим вот такой JSON
{
"ok": true,
"message": "OK",
"balance": "354.91"
}
Настройка обратного Webhook через API
Для удобства клиентов вам может потребоваться настроить URL для ответов программно без участия клиента, это можно сделать запросом.
curl --request POST \
--url https://gptunnel.ru/api/bot/config \
--header 'Authorization: YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{ "webHookUrl": "https://bestbotever.com/webhook" }'
Если все гуд то ответ будет такой:
{
"ok": true,
"message": "OK",
}
Если у вас остались вопросы по интеграции сервиса, вы можете задать их в нашем Телеграм сообществе: https://t.me/gptunnel_ru
Last updated