API и MCP для AI-агентов
BotMarketing.pro предоставляет MCP-сервер через Streamable HTTP и клиентский REST API. Агент получает доступ к вашей компании с предоставленными вами правами и может выполнять настройку бизнеса из совместимого чата или программы.
Поручите настройку своему AI-помощнику
Скопируйте текст ниже в ChatGPT, Codex, Claude или другой чат и допишите, что нужно сделать. Всё необходимое для подключения уже включено в сообщение.
Начни с https://botmarketing.pro/llms.txt — там инструкция для агента, MCP и API. Сам выбери доступный способ подключения в своей среде. Если аккаунта ещё нет, выполни регистрацию через публичный MCP или API; если есть — используй его. Попроси меня подтвердить email и разрешить доступ, когда это потребуется. Затем сам прочитай состояние компании и выполни задачу через MCP/API: создай компанию при её отсутствии, настрой каталог, лояльность, расписание и сообщения в нужном объёме. Не отправляй меня заполнять формы сайта и спрашивай только недостающие данные. Сохраняй существующие настройки и проверяй результат чтением. Не включай отправку сообщений, если я этого не поручал. Если подключение требует моего действия в настройках чата, объясни только этот первый шаг; не утверждай, что изменения выполнены, пока не получишь результат инструмента.
Для нового аккаунта — подтвердить email. Для доступа к существующему — войти на сайте и разрешить подключение. Если ваш чат ещё не умеет обращаться к BotMarketing.pro, он может попросить один раз добавить подключение. После этого просто описывайте задачи. Возможность добавления внешних сервисов зависит от вашего чата.
Адреса подключения
- Защищённый MCP
- https://botmarketing.pro/mcp
- Публичный MCP регистрации и справочников
- https://botmarketing.pro/mcp/onboarding
- REST API
- https://botmarketing.pro/api/v1
- Контракт OpenAPI
- https://botmarketing.pro/api/v1/openapi.json
- Discovery ресурса MCP
- https://botmarketing.pro/.well-known/oauth-protected-resource/mcp
- Discovery сервера OAuth
- https://botmarketing.pro/.well-known/oauth-authorization-server
- Ключи и OAuth-подключения
- https://botmarketing.pro/agents
Что агент может настроить
Возможности настройки доступны в рамках текущего тарифа компании. Нового платного флага доступа к API/MCP нет.
- Профиль владельца без изменения учётных данных; контакты, реквизиты, валюта, часовой пояс, изображения и публичная карточка компании.
- Категории, товары и услуги: цены, остатки, параметры бронирования и доставки, порядок каталога, обложки и галереи.
- Программы и уровни лояльности, правила, изображения и активация.
- Рабочее время и доступность товаров и услуг.
- Telegram-бот, меню, приветствие, помощник и документы компании; автоматические напоминания и Instagram-правила ответов.
- Загрузка файлов, доступные тарифы, страны, города, валюты, часовые пояса и оставшиеся шаги настройки.
Как подключить чат или собственного агента
Передайте агенту сообщение выше и опишите задачу. Агент сам использует инструкцию подключения, регистрацию и методы настройки. Чату нужна поддержка внешних подключений или выполнения авторизованных HTTP-запросов.
- Войдите в существующий аккаунт BotMarketing.pro, выберите нужные права на странице разрешения и подтвердите подключение. OAuth использует Authorization Code и PKCE S256.
- Собственный агент может использовать бессрочный ключ из дополнительного раздела «API и агенты» либо POST /api/v1/auth/token после подтверждения email. Ключ действует до отзыва. Передавайте его только в Authorization: Bearer; не размещайте в URL или публичном тексте.
- Для нового аккаунта публичный /mcp/onboarding предоставляет register_account и справочники. Подтвердите email на сайте, затем подключите защищённый MCP и создайте компанию. До подтверждения доступа к компании нет.
- DeepSeek используйте через собственного агента с вызовами функций или MCP-клиент. Прямое подключение в веб-чате DeepSeek не заявляется.
- После подключения вызовите get_setup_status: он сообщает права, доступные функции, лимиты и следующие шаги. Instagram подключается через существующую браузерную авторизацию.
Права и выполнение изменений
Подключение разрешено подтверждённому владельцу. На аккаунт приходится одна собственная компания. Доступные права разделены на чтение и изменение компании, каталога, лояльности, расписания, сообщений и каналов.
- Владение, права и ограничения тарифа проверяются при каждом запросе. Сотрудник не может подключить компанию вместо владельца.
- Для создания передавайте устойчивый idempotency_key в MCP или заголовок Idempotency-Key в REST. Повтор с тем же ключом и телом не создаёт дубль; другое тело возвращает конфликт.
- Включение бота, напоминания или правила может запустить отправки. Агент должен активировать функцию только по запросу владельца.
- Отозвать ключ или OAuth-подключение можно в разделе «API и агенты».
- В API первой версии не входят операции CRM, обработка заказов и бронирований, управление персоналом, финансовые операции, изменение клиентских балансов, разовые рассылки и публикация Instagram-постов.
Каталог MCP-инструментов
Названия и условия выполнения берутся из текущего сервера. Схемы аргументов доступны подключённому клиенту через tools/list; REST-схемы — в OpenAPI. Публичный сервер предоставляет регистрацию и справочники, остальные инструменты требуют авторизации.
MCP tools (65)
- get_connection_guide
- Start here when asked to register or configure a business. Read the agent-led workflow, endpoints, and the minimum owner actions for email confirmation and authorization. No account or credentials required.
- list_countries
- List available countries. Use returned identifiers and enum values when configuring a company.
- list_cities
- List available cities. Use returned identifiers and enum values when configuring a company.
- list_timezones
- List available timezones. Use returned identifiers and enum values when configuring a company.
- list_currencies
- List available currencies. Use returned identifiers and enum values when configuring a company.
- list_subscriptions
- List available subscriptions. Use returned identifiers and enum values when configuring a company.
- list_types
- List available types. Use returned identifiers and enum values when configuring a company.
- register_account
- Register a new company owner using email and password. Email confirmation is required before connecting the protected /mcp server. Existing accounts must sign in; this tool never grants access to an existing account.
- get_setup_status
- Read granted abilities, company setup steps, subscription features and remaining limits.
- get_channel_context
- Read the company channel identifiers, connected Instagram accounts and cached Instagram media for targeting and automation configuration. Requires channels:read.
- list_categories
- List categories in the connected owner company. Requires catalog:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- get_category
- Get categories in the connected owner company. Requires catalog:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- create_category
- Create categories in the connected owner company. Requires catalog:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- update_category
- Update categories in the connected owner company. Requires catalog:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- delete_category
- Delete categories in the connected owner company. Requires catalog:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- list_items
- List items in the connected owner company. Requires catalog:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- get_item
- Get items in the connected owner company. Requires catalog:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- create_item
- Create items in the connected owner company. Requires catalog:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- update_item
- Update items in the connected owner company. Requires catalog:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- delete_item
- Delete items in the connected owner company. Requires catalog:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- list_schedules
- List schedules in the connected owner company. Requires schedule:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- get_schedule
- Get schedules in the connected owner company. Requires schedule:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- create_schedule
- Create schedules in the connected owner company. Requires schedule:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- update_schedule
- Update schedules in the connected owner company. Requires schedule:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- delete_schedule
- Delete schedules in the connected owner company. Requires schedule:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- list_loyalty_programs
- List loyalty-programs in the connected owner company. Requires loyalty:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- get_loyalty_program
- Get loyalty-programs in the connected owner company. Requires loyalty:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- create_loyalty_program
- Create loyalty-programs in the connected owner company. Requires loyalty:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- update_loyalty_program
- Update loyalty-programs in the connected owner company. Requires loyalty:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- delete_loyalty_program
- Delete loyalty-programs in the connected owner company. Requires loyalty:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- list_loyalty_levels
- List loyalty-levels in the connected owner company. Requires loyalty:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- get_loyalty_level
- Get loyalty-levels in the connected owner company. Requires loyalty:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- create_loyalty_level
- Create loyalty-levels in the connected owner company. Requires loyalty:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- update_loyalty_level
- Update loyalty-levels in the connected owner company. Requires loyalty:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- delete_loyalty_level
- Delete loyalty-levels in the connected owner company. Requires loyalty:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- list_engagement_reminders
- List engagement-reminders in the connected owner company. Requires messages:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- get_engagement_reminder
- Get engagement-reminders in the connected owner company. Requires messages:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- create_engagement_reminder
- Create engagement-reminders in the connected owner company. Requires messages:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- update_engagement_reminder
- Update engagement-reminders in the connected owner company. Requires messages:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- delete_engagement_reminder
- Delete engagement-reminders in the connected owner company. Requires messages:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- list_instagram_rules
- List instagram-rules in the connected owner company. Requires messages:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- get_instagram_rule
- Get instagram-rules in the connected owner company. Requires messages:read. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- create_instagram_rule
- Create instagram-rules in the connected owner company. Requires messages:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- update_instagram_rule
- Update instagram-rules in the connected owner company. Requires messages:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- delete_instagram_rule
- Delete instagram-rules in the connected owner company. Requires messages:write. Existing subscription limits apply. PATCH keeps omitted fields. Creation requires a stable idempotency_key; reuse it after an interrupted response.
- remove_categories_file
- Remove a file attached to this company resource. Requires write access to its area.
- remove_items_file
- Remove a file attached to this company resource. Requires write access to its area.
- remove_loyalty_programs_file
- Remove a file attached to this company resource. Requires write access to its area.
- remove_engagement_reminders_file
- Remove a file attached to this company resource. Requires write access to its area.
- remove_instagram_rules_file
- Remove a file attached to this company resource. Requires write access to its area.
- get_company
- Read the connected owner company. Requires company:read.
- create_company
- Create the owner company after email confirmation. One company per account. Requires company:write.
- update_company
- Update the public company card, contacts, location and settings. Requires company:write.
- get_profile
- Read profile configuration without secret credentials.
- update_profile
- Update profile configuration. Requires company:write.
- get_bot
- Read bot configuration without secret credentials.
- update_bot
- Update bot configuration. Requires channels:write. Changes can activate Telegram automation; subscription features apply.
- get_settings
- Read settings configuration without secret credentials.
- update_settings
- Update settings configuration. Requires channels:write. Changes can activate Telegram automation; subscription features apply.
- get_assistant
- Read assistant configuration without secret credentials.
- update_assistant
- Update assistant configuration. Requires channels:write. Changes can activate Telegram automation; subscription features apply.
- get_menu
- Read menu configuration without secret credentials.
- update_menu
- Update menu configuration. Requires channels:write. Changes can activate Telegram automation; subscription features apply.
- upload_file
- Upload a file from base64 or a public HTTPS URL. Maximum 20 MiB; redirects and private networks are rejected. Requires write permission for the declared area. Use the returned ID in cover_file_id, image_file_ids or another file field.
- reorder_items
- Reorder the visible catalog page using the order_version from list_items. Requires catalog:write. Concurrent catalog changes return a conflict.