Сценарий
Widget для сайта
Добавьте embed-код на сайт, получайте сообщения в Inbox и подключайте свой backend, когда будете готовы.
Подходит для онлайн-чата и лидов с сайта.
Ветка
Документация для пользователей и интеграторов
Здесь собраны все практические сценарии подключения: как встроить виджет, как отправлять сообщения в платформу, как принимать обновления в своем backend и как подключить WordPress-формы без ручной сборки логики.
Сценарий
Добавьте embed-код на сайт, получайте сообщения в Inbox и подключайте свой backend, когда будете готовы.
Подходит для онлайн-чата и лидов с сайта.
Сценарий
Отправляйте заявки из форм прямо в платформу и обрабатывайте их как обычные диалоги.
Подходит для агентств и сайтов клиентов на WordPress.
Сценарий
Используйте Bot API в своем приложении: принимайте входящие, отвечайте через send-message и читайте get-updates.
Подходит для кастомной логики и CRM-интеграций.
Путь подключения
Ключи доступа
Основной токен бота. Нужен вашему backend, Python SDK или Node.js SDK для методов send-message, get-updates и webhook.
Публичный ключ для сайта. Используется только для встраивания виджета и получения его конфигурации.
Ключ интеграции WordPress. Передается плагином Contact Form 7, чтобы заявка попала в нужного бота.
Токен кабинета. Нужен только для управления ботами и каналами из панели, не используйте его в публичном frontend.
Что выбрать
Нужен чат на сайте
Используйте Widget Key и embed-код из карточки бота.
Нужно принимать заявки из форм
Используйте WordPress-канал и Integration Key.
Есть свой backend или CRM
Используйте API Token, `get-updates`, `send-message` и webhook.
Нужен единый операторский центр
Все входящие попадают в Inbox, независимо от канала.
Taplink
Интеграцию с Taplink можно реализовать по двум техническим сценариям: как живой чат через HTML-код или как сбор лидов через webhook-адаптер. Первый сценарий подходит для общения в реальном времени, второй — для записи на услуги, квалификации заявок и передачи их в Inbox.
Если у клиента тариф Taplink Business, он может добавить блок “HTML-код” и встроить чат-виджет Ветки прямо поверх страницы. Пользователь увидит привычный пузырек чата, а входящие сообщения попадут в Inbox и Android-приложение операторов.
1. В кабинете Ветки клиент копирует готовый widget script.
2. Вставляет его в блок HTML внутри Taplink.
3. Виджет рендерится поверх Taplink-страницы без отдельного сайта.
1class="text-[#ff7ab8]"><class="text-[#7ee787]">script2 src="https://vetkabot.ru/bot-widget.js"3 data-widget-key="widget_xxxxxxxxx"4 data-api-url="https://api.vetkabot.ru"5 data-title="Онлайн-запись"6 data-subtitle="Ответим сразу"7>class="text-[#ff7ab8]"></class="text-[#7ee787]">script>Если в Taplink настроена форма сбора контактов, ее можно связать с Веткой через webhook-адаптер: Taplink отправляет HTTP POST, ваш backend принимает имя, телефон и email, после чего создает лид, пишет в Inbox и отправляет push-уведомление оператору в Android-приложение.
1. Клиент включает webhooks в настройках Taplink.
2. Указывает URL вашего adapter endpoint.
3. Adapter пересылает лид в Ветку через API или в CRM по вашей логике.
1Taplink form2 -> webhook adapter / backend3 -> POST /api/messages4 -> Inbox / Android app / CRM5 6POST /api/messages7{8 "bot_id": "{bot_id}",9 "channel": "custom_api",10 "text": "Новая заявка из Taplink",11 "external_chat_id": "taplink-lead-42",12 "external_user_id": "taplink-user-42",13 "user": {14 "first_name": "Анна"15 },16 "metadata": {17 "source": "taplink",18 "phone": "+7 900 000-00-00",19 "email": "client@example.com"20 }21}На текущем MVP этот сценарий честно реализуется через промежуточный backend-слой. Если Taplink станет частым каналом у клиентов, следующим шагом можно выделить нативный endpoint внутри самой платформы.
OpenAPI
Для интеграторов доступен отдельный слой документации: машинописная OpenAPI-спека, которую можно открыть в JSON, скачать или использовать для генерации SDK и тестов.
Методы API
/api/bots/{bot_id}/get-updatesПолучить входящие события в формате, похожем на Bot API.
/api/bots/{bot_id}/send-messageОтправить сообщение пользователю из вашего кода.
/api/bots/{bot_id}/set-webhookУказать webhook для событий бота.
/api/messagesПринять входящее сообщение из сайта, widget, web или custom API.
/api/widget/config?widget_key=...Получить конфигурацию виджета по публичному ключу.
/api/integrations/wordpress/contact-form-7Принять заявку из WordPress / Contact Form 7.
/api/botsСписок ботов пользователя.
/api/bots/{bot_id}/channelsВключить канал и обновить его конфиг.
/api/inboxПолучить список диалогов в операторском inbox.
Пример
/api/bots/{id}/send-messageИспользуйте runtime API бота, чтобы отправить ответ в подключенный канал.
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 }'Пример
/api/bots/{id}/get-updatesПодходит для backend, который работает по polling-модели.
1curl "https://api.vetkabot.ru/api/bots/{bot_id}/get-updates?offset=0&limit=100" \2 -H "Authorization: Bearer {API_TOKEN}"Пример
/api/messagesПозволяет отправлять лиды и сообщения из вашего frontend или прокси-сервиса.
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 }'Пример
/api/integrations/wordpress/contact-form-7Используйте endpoint интеграции для Contact Form 7 и других WordPress-форм.
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 }'Важно