API и интеграции›OpenAPI

Swagger / OpenAPI

Машиночитаемая спецификация API платформы. Подходит для интеграторов, генерации SDK, тестирования методов и как единый источник правды по endpoint'ам.

Формат

3.1.0

Методы

26

Теги

8

Безопасность

Схемы авторизации

userBearerAuth

Используйте токен пользователя для dashboard, управления ботами, каналами и Чатом.

botBearerAuth

Используйте токен бота для runtime API: `get-updates`, `send-message`, `set-webhook`.

Try it

Проверить методы прямо в платформе

Эти блоки помогают быстро понять формат ответа без отдельного клиента API. Для `GET /api/bots` можно использовать токен из текущей сессии кабинета.

GET/api/widget/config

Публичная конфигурация widget

Подставьте `widget_key` из карточки бота и проверьте, какую конфигурацию получает фронтенд виджета.

Здесь появится ответ API.
GET/api/bots

Список ботов пользователя

Использует `Auth Token` кабинета. Если вы открыли документацию из платформы, поле обычно подставляется автоматически из текущей сессии.

Здесь появится ответ API.

Operations

Список методов

post/api/auth/registerAuth

Регистрация пользователя

Auth

Не требуется

Parameters

Нет параметров

Request body

Есть JSON body

Responses

200: Пользователь зарегистрирован и вошел в систему
post/api/auth/loginAuth

Вход в кабинет

Auth

Не требуется

Parameters

Нет параметров

Request body

Есть JSON body

Responses

200: Успешный вход
get/api/auth/meAuth

Получить профиль текущего пользователя

Auth

userBearerAuth

Parameters

Нет параметров

Request body

Не требуется

Responses

200: Профиль пользователя401: Unauthorized

Code sample

curlbash
1curl "https://api.vetkabot.ru/api/auth/me" \
2 -H "Authorization: Bearer {USER_JWT}"
get/api/botsBots

Получить список ботов пользователя

Auth

userBearerAuth

Parameters

Нет параметров

Request body

Не требуется

Responses

200: Список ботов401: Unauthorized
post/api/botsBots

Создать нового бота

Auth

userBearerAuth

Parameters

Нет параметров

Request body

Есть JSON body

Responses

201: Бот создан
get/api/bots/{id}/channelsChannels

Получить список каналов бота

Auth

userBearerAuth

Parameters

1 параметр(ов)

Request body

Не требуется

Параметры

id·path·обязательный

Responses

200: Каналы бота
patch/api/bots/{id}/channelsChannels

Включить канал или обновить его конфигурацию

Auth

userBearerAuth

Parameters

1 параметр(ов)

Request body

Есть JSON body

Параметры

id·path·обязательный

Responses

200: Канал обновлен
get/api/bots/{id}/get-updatesBot Runtime

Получить входящие события бота

Аналог long polling / getUpdates для backend вашего бота.

Auth

botBearerAuth

Parameters

4 параметр(ов)

Request body

Не требуется

Параметры

id·path·обязательный
offset·query·необязательный
limit·query·необязательный
timeout·query·необязательный

Responses

200: Список обновлений

Code sample

curlbash
1curl "https://api.vetkabot.ru/api/bots/{bot_id}/get-updates?offset=0&limit=100" \
2 -H "Authorization: Bearer {API_TOKEN}"
post/api/bots/{id}/send-messageBot Runtime

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

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Есть JSON body

Параметры

id·path·обязательный

Responses

200: Сообщение принято в доставку

Code sample

curlbash
1curl -X POST "https://api.vetkabot.ru/api/bots/{bot_id}/send-message" \
2 -H "Authorization: Bearer {API_TOKEN}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "chat_id": "client_123",
6 "text": "Здравствуйте! Чем могу помочь?",
7 "channel": "web"
8 }'
post/api/bots/{id}/set-webhookBot Runtime

Установить webhook для бота

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Есть JSON body

Параметры

id·path·обязательный

Responses

200: Webhook установлен

Code sample

curlbash
1curl -X POST "https://api.vetkabot.ru/api/bots/{bot_id}/set-webhook" \
2 -H "Authorization: Bearer {API_TOKEN}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "url": "https://client-backend.ru/webhook"
6 }'
get/api/bots/{id}/get-webhook-infoBot Runtime

Получить текущую конфигурацию webhook

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Не требуется

Параметры

id·path·обязательный

Responses

200: Текущая информация по webhook401: Unauthorized

Code sample

curlbash
1curl "https://api.vetkabot.ru/api/bots/{bot_id}/get-webhook-info" \
2 -H "Authorization: Bearer {API_TOKEN}"
post/api/bots/{id}/delete-webhookBot Runtime

Удалить webhook у бота

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Не требуется

Параметры

id·path·обязательный

Responses

200: Webhook удален401: Unauthorized

Code sample

curlbash
1curl -X POST "https://api.vetkabot.ru/api/bots/{bot_id}/delete-webhook" \
2 -H "Authorization: Bearer {API_TOKEN}"
post/api/bots/{id}/set-my-commandsBot Runtime

Установить список команд бота

Текущая реализация поддерживает общий список команд без scope и language_code.

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Есть JSON body

Параметры

id·path·обязательный

Responses

200: Команды сохранены

Code sample

curlbash
1curl -X POST "https://api.vetkabot.ru/api/bots/{bot_id}/set-my-commands" \
2 -H "Authorization: Bearer {API_TOKEN}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "commands": [
6 { "command": "start", "description": "Запустить бота" },
7 { "command": "help", "description": "Показать помощь" }
8 ]
9 }'
get/api/bots/{id}/get-my-commandsBot Runtime

Получить текущий список команд бота

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Не требуется

Параметры

id·path·обязательный

Responses

200: Список команд бота
post/api/bots/{id}/delete-my-commandsBot Runtime

Удалить список команд бота

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Не требуется

Параметры

id·path·обязательный

Responses

200: Команды удалены
post/api/bots/{id}/edit-message-textBot Runtime

Изменить ранее отправленное ботом сообщение

Работает для сообщений, которые были отправлены через runtime API платформы.

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Есть JSON body

Параметры

id·path·обязательный

Responses

200: Сообщение изменено

Code sample

curlbash
1curl -X POST "https://api.vetkabot.ru/api/bots/{bot_id}/edit-message-text" \
2 -H "Authorization: Bearer {API_TOKEN}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "message_id": "{message_id}",
6 "text": "Обновленный текст сообщения"
7 }'
post/api/bots/{id}/delete-messageBot Runtime

Удалить ранее отправленное ботом сообщение

Работает для сообщений, которые были отправлены через runtime API платформы.

Auth

botBearerAuth

Parameters

1 параметр(ов)

Request body

Есть JSON body

Параметры

id·path·обязательный

Responses

200: Сообщение удалено

Code sample

curlbash
1curl -X POST "https://api.vetkabot.ru/api/bots/{bot_id}/delete-message" \
2 -H "Authorization: Bearer {API_TOKEN}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "message_id": "{message_id}"
6 }'
get/api/bot/get-meBot Runtime

Получить информацию о текущем боте по API token

Auth

botBearerAuth

Parameters

Нет параметров

Request body

Не требуется

Responses

200: Информация о боте401: Unauthorized

Code sample

curlbash
1curl "https://api.vetkabot.ru/api/bot/get-me" \
2 -H "Authorization: Bearer {API_TOKEN}"
get/api/messagesMessages

Получить историю сообщений для web/widget диалога

Используется сайтом и виджетом для чтения истории сообщений в конкретном чате.

Auth

Не требуется

Parameters

5 параметр(ов)

Request body

Не требуется

Параметры

bot_id·query·необязательный
widget_key·query·необязательный
chat_id·query·обязательный
channel·query·необязательный
limit·query·необязательный

Responses

200: История сообщений400: Ошибка валидации

Code sample

curlbash
1curl "https://api.vetkabot.ru/api/messages?bot_id={bot_id}&chat_id=site-chat-42&channel=web"
post/api/messagesMessages

Передать входящее сообщение в платформу

Используется сайтом, внешним frontend, custom API или прокси-слоем для доставки сообщений в ВеткаБот.

Auth

Не требуется

Parameters

Нет параметров

Request body

Есть JSON body

Responses

200: Сообщение принято400: Ошибка валидации

Code sample

curlbash
1curl -X POST "https://api.vetkabot.ru/api/messages" \
2 -H "Content-Type: application/json" \
3 -d '{
4 "bot_id": "{bot_id}",
5 "text": "Хочу узнать стоимость",
6 "channel": "web",
7 "external_chat_id": "site-chat-42",
8 "external_user_id": "lead-42",
9 "user": {
10 "first_name": "Анна"
11 },
12 "metadata": {
13 "page_url": "https://example.ru/pricing",
14 "page_title": "Тарифы"
15 }
16 }'
get/api/widget/configWidget

Получить конфигурацию виджета

Auth

Не требуется

Parameters

1 параметр(ов)

Request body

Не требуется

Параметры

widget_key·query·обязательный

Responses

200: Публичная конфигурация widget
post/api/integrations/wordpress/contact-form-7WordPress

Отправить заявку из Contact Form 7 в платформу

Auth

Не требуется

Parameters

Нет параметров

Request body

Есть JSON body

Responses

200: Заявка принята

Code sample

curlbash
1curl -X POST "https://api.vetkabot.ru/api/integrations/wordpress/contact-form-7" \
2 -H "Content-Type: application/json" \
3 -d '{
4 "integration_key": "{integration_key}",
5 "site_url": "https://client-site.ru",
6 "page_url": "https://client-site.ru/contact",
7 "form_title": "Заявка с сайта",
8 "contact_name": "Иван",
9 "contact_email": "ivan@example.com",
10 "fields": {
11 "service": "Поддержка сайта",
12 "comment": "Нужна консультация"
13 }
14 }'
get/api/inboxInbox

Получить список диалогов оператора

Auth

userBearerAuth

Parameters

4 параметр(ов)

Request body

Не требуется

Параметры

bot_id·query·необязательный
status·query·необязательный
q·query·необязательный
limit·query·необязательный

Responses

200: Список диалогов
get/api/inbox/{id}Inbox

Получить детали диалога

Auth

userBearerAuth

Parameters

1 параметр(ов)

Request body

Не требуется

Параметры

id·path·обязательный

Responses

200: Диалог с сообщениями и контактами
post/api/inbox/{id}Inbox

Отправить ручной ответ из Чата

Auth

userBearerAuth

Parameters

1 параметр(ов)

Request body

Есть JSON body

Параметры

id·path·обязательный

Responses

200: Ручной ответ отправлен
patch/api/inbox/{id}Inbox

Обновить статус или заметку диалога

Auth

userBearerAuth

Parameters

1 параметр(ов)

Request body

Есть JSON body

Параметры

id·path·обязательный

Responses

200: Карточка диалога обновлена