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

Swagger / OpenAPI

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

Формат

3.1.0

Методы

16

Теги

8

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

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

userBearerAuth

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

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/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 }'
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

Отправить ручной ответ из 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: Карточка диалога обновлена