Към съдържанието

MCP интерфейс

Проверено

MitoOps предоставя стандартен отдалечен MCP сървър (Model Context Protocol) на адреса /api/mcp, чрез който съвместимо AI приложение само изисква данните. Той стои върху същите възможности като REST: това не е втори интерфейс със собствени заявки, а друг начин да попитате същото.

MCP не е свойство на модела, а на приложението, в което работи моделът (клиента). Свързва се всяко приложение, което поддържа отдалечен MCP през HTTP с OAuth или с ключ за достъп. Claude.ai е клиент, проверен в реална среда: неговата точна процедура е по-долу. За друго приложение важи общата процедура в следващата част. Клиенти, които не сме тествали, не обявяваме за проверени.

Удостоверяването може да стане по два начина:

  • с ключ за достъп, който издавате в приложението: за собствена програма или сървър, който вика сървър;
  • чрез OAuth, когато се свързва AI приложение, което го поддържа: тогава влизате Вие и на екрана за съгласие избирате какво може да чете приложението.

И в двата случая токенът отива в заглавката Authorization: Bearer и в двата важи един и същ обхват на правата: това, което ключът или съгласието не включват, инструментът не връща.

Как да свържете Claude.ai: проверено свързване стъпка по стъпка

Раздел „Как да свържете Claude.ai: проверено свързване стъпка по стъпка“

Claude.ai не се свързва с отделните магазини, а с MitoOps: със слоя, който вече обединява данните на всичките Ви магазини. Не Ви трябва ключ, Client ID или тайна. Claude.ai сам открива всичко от адреса на интерфейса.

  1. В Claude.ai отворете Settings (Настройки) → Customize → Connectors (в екипния план първо Organization settings → Connectors като администратор).
  2. Натиснете Add custom connector (Добавяне на собствен конектор).
  3. В полето Name напишете MitoOps.
  4. В полето URL поставете адреса на MCP интерфейса от екрана Настройки → API & MCP: във вида https://<Вашият адрес>/api/mcp, например https://app.mitoops.com/api/mcp.
  5. Advanced settings оставете празни: Claude.ai използва собствените си хоствани метаданни на клиента (OAuth). Натиснете Add.
  6. При конектора натиснете Connect (Свързване).
  7. Отваря се входът в MitoOps (включително с втори фактор, ако го имате). Влезте.
  8. Ще видите екрана за съгласие: кое приложение, кой клиент, какво може да чете и за кои магазини се отнася. Разрешенията са групирани по области на приложението (продажби, склад, доставка, маркетинг, партньорска програма, автоматизации). Четенето е предварително отметнато, чувствителните данни и подготовката на чернови не са; промените с пряко въздействие (например изтриване на купони или одобряване на изпращане) са поотделно в свития раздел Разширени разрешения. При всяка група е посочено какво точно включва.
  9. Проверете обхватите. Чувствителните (например Отчети, Покупни цени, Лични данни на клиентите, Доставчици и покупки, Автоматизации: чернови, Наличности: чернови на промени и Рекламации: предложения за промени в настройките) не са отметнати. Ако Claude трябва да вижда маржа, личните данни, да предлага чернови и промени на автоматизации или промени на наличностите или настройките на рекламациите, отметнете ги съзнателно. Шаблоните и настройките на рекламациите се четат с обхвата Рекламации: настройки и шаблони. Изберете магазините.
  10. Натиснете Разреши. Claude.ai се връща на своята страница и конекторът е свързан.
  11. В разговора натиснете + → Connectors и включете конектора MitoOps.

Това, което отметнете на екрана за съгласие, важи, и никога повече от това, което имате право да правите сами. Който няма в приложението право на покупни цени, няма как да го предаде нататък. Токенът, който Claude.ai получава, носи само разрешените обхвати.

Друг MCP клиент или AI приложение чрез OAuth

Раздел „Друг MCP клиент или AI приложение чрез OAuth“

Въвеждате в приложението същия адрес /api/mcp и нищо повече: никакъв ключ. Нататък всичко става само:

  1. Приложението пита при нас къде да изпрати входа (метаданни на защитения ресурс според RFC 9728).
  2. Отваря се Вашият вход в MitoOps.
  3. Виждате екрана за съгласие и избирате обхватите и магазините.
  4. След разрешаването свързването е готово и приложението вижда инструментите.

Приложение, което само избира обхватите, трябва да ги посочи в заявката: екранът за съгласие предлага само това, което приложението е поискало (и до което имате право). Интерфейсът обявява всички обхвати, включително чувствителните: в предизвикателството WWW-Authenticate и в scopes_supported. Чувствителните въпреки това никога не се разрешават сами: на екрана за съгласие те са обозначени и неотметнати, а токенът се издава стеснен до това, което сте разрешили (scope в отговора с токена).

Как се свързва с ключ за достъп

Раздел „Как се свързва с ключ за достъп“

Асистентът или програмата се нуждаят от адреса /api/mcp във Вашия домейн и от ключ за достъп с MCP сред интерфейсите. Точния адрес извежда екранът Настройки → API & MCP в блока „Къде да се свърже“. Ключ, издаден само за REST, не работи за MCP и обратно.

Списъкът с инструменти се определя от обхватите на ключа или на съгласието: асистентът вижда точно това, което му е разрешено, и нищо друго. Инструмент извън обхвата за него не съществува.

MCP инструмент Обхват REST Какво връща
account_connection stores:read GET /account/connection Диагностика на тази връзка: приложението, кой и кога е разрешил достъпа, предоставени и липсващи разрешения по области, магазини и режим на запис чрез AI.
account_entitlements account:read GET /account/entitlements Тарифата на клиента, функциите и лимитите с текущото използване.
affiliate_articles_create affiliate:write — запис: Създаване на собствена статия за помощ на всички езици наведнъж (заглавие и тяло на зададения език); HTML се почиства.
affiliate_articles_get affiliate:read GET /affiliate/articles/:key Една статия за помощ с текста (HTML) на всички или на един език; променливите не са попълнени.
affiliate_articles_list affiliate:read GET /affiliate/articles Статии за помощ на партньорския портал: ключ, по подразбиране/собствена, включване, ред, състояние по езици (заглавие, адрес, попълнена, идентична с тази по подразбиране).
affiliate_articles_set_state affiliate:write — запис: Включване или изключване на статия за помощ за всички езици наведнъж; статията по подразбиране не се изтрива, а само се изключва.
affiliate_articles_update affiliate:write — запис: Редактиране на статия за помощ на един език (заглавие, адрес, тяло; HTML се почиства) или възстановяване на текста по подразбиране; връща непознатите променливи.
affiliate_campaigns_create affiliate:write — запис: Създаване на кампания в магазина: име, възнаграждение (да не се измисля), валидност на приписването, достъпност, одобряване на конверсиите.
affiliate_campaigns_get affiliate:read GET /affiliate/campaigns/:campaignId Една кампания на партньорската програма.
affiliate_campaigns_list affiliate:read GET /affiliate/campaigns Кампаниите на партньорската програма на магазина с възнаграждение, достъпност и бройки.
affiliate_campaigns_update affiliate:write — запис: Редактиране на кампания: име, възнаграждение, валидност, достъпност, одобряване, включване/изключване, описание за партньорите по езици.
affiliate_code_requests_decide affiliate:write — запис: Обработка на заявка на партньор за собствен код: одобрението създава кода направо в магазините на кампаниите с отстъпка за клиента (изисква и coupons:write), retry повтаря създаването, отхвърлянето изисква причина; партньорът получава имейл.
affiliate_code_requests_list affiliate:read GET /affiliate/code-requests Заявки на партньорите за собствен код за отстъпка със състояние и причина; чакащите първи.
affiliate_conversions_decide affiliate:approve — запис: Решение за една комисиона по id: approve (нова → одобрена), reject (нова → отхвърлена, причината е задължителна), cancel (одобрена → анулирана, причината е задължителна); изплатената не се връща, същото решение втори път не променя нищо; партньорът получава имейл.
affiliate_conversions_get affiliate:read GET /affiliate/conversions/:conversionId Детайл на една конверсия: суми, комисиона, състояние на комисионата с причина, статус на поръчката в магазина, кредитно известие, изплащане.
affiliate_conversions_list affiliate:read GET /affiliate/conversions Конверсии на партньорската програма на магазина: база на комисионата и цялата поръчка с ДДС, комисиона, състояние на комисионата с причина, статус на поръчката в магазина, връзка към изплащането.
affiliate_discount_codes_ensure coupons:write — запис: Партньорът да има код за отстъпка в магазина: купонът се създава чрез каноничните купони (или се използва съществуващ) и се присвоява на партньора; бележката в магазина се създава автоматично.
affiliate_discount_codes_list affiliate:read GET /affiliate/discount-codes Кодовете за отстъпка на партньорите в магазина с брой използвания и оборот.
affiliate_documents_draft_create affiliate:write — запис: Предложение за нов текст на правен документ като чернова; живия текст не променя: публикува го човек в приложението с разлика и одит.
affiliate_documents_get affiliate:read GET /affiliate/documents/:key/content Един правен документ на програмата с текста по езици (запазен текст, публичен текст, версия, отпечатъци, източник, PDF метаданни) и отворените чернови.
affiliate_documents_list affiliate:read GET /affiliate/documents Документи на програмата (условия, споразумения): политика на потвърждаване, подписано копие, прикачване към имейл, версии по езици, готовност и брой потвърждения.
affiliate_documents_update affiliate:write — запис: Политика на документ от програмата (за кого важи, кога се потвърждава, подписано копие, прикачване към имейл, включване); текстът се качва в приложението.
affiliate_email_templates_list affiliate:read GET /affiliate/email-templates Шаблони на имейли до партньорите по езици (тема, включване, със събитие и тяло) и автоматичните прикачени файлове на имейла Акаунтът е одобрен.
affiliate_email_templates_update affiliate:write — запис: Редактиране на шаблон на имейл до партньорите на един език (тема, тяло) или включване/изключване на събитието.
affiliate_links_generate affiliate:read GET /affiliate/links/generate Проследявана партньорска връзка към началната страница, продукт или категория на магазина на кампанията; след кликване запазва приписването на партньора.
affiliate_partners_get affiliate:read GET /affiliate/partners/:partnerId Един партньор от програмата с кампаниите, които са му достъпни.
affiliate_partners_list affiliate:read GET /affiliate/partners Партньори от програмата със състояние, резултати и комисиони; контакт само с лични данни.
affiliate_partners_set_market affiliate:write — запис: Членство на партньора в магазин: разрешаване (active, одобрява и заявка от портала) или отнемане (revoked); кампаниите, купоните и документите на магазина засягат партньора само при активно членство.
affiliate_partners_set_state affiliate:write — запис: Решение за акаунта на партньор (одобряване, отхвърляне, спиране, връщане сред чакащите); одобрението изпраща имейл със споразумението.
affiliate_payouts_list affiliate:read GET /affiliate/payouts Изплащания на комисиони на партньорите със състояние; без банкови данни и данни за фактуриране.
affiliate_portal_get affiliate:read GET /affiliate/portal Публичен портал на партньора: адреси по магазини, отвореност на регистрацията с причина, собствени домейни, лице за контакт, изглед и състояние на текстовете по езици.
affiliate_portal_pages_update affiliate:write — запис: Собствени текстове на публичния портал на един език (страници вход/регистрация/преглед, уведомление, описание на програмата); HTML се почиства.
affiliate_settings affiliate:read GET /affiliate/settings Настройка на партньорската програма: комисиони, кликвания, минимално изплащане, довеждане.
affiliate_settings_update affiliate:write — запис: Настройка на програмата извън парите: име, регистрация, автоматично одобряване, лице за контакт, цветове, връзка към политиката.
affiliate_signatures_get affiliate:read GET /affiliate/signatures/:signatureId Един електронен подпис с подписания текст и моментна снимка на стойностите; непроменим запис, PDF се сглобява в приложението.
affiliate_signatures_list affiliate:read GET /affiliate/signatures Електронно подписани документи на партньорите (кой, документ, версия, език, магазин, час, начин, проверка, отпечатъци, състояние) и партньорите, на които липсва подпис; само четене: подписът възниква изключително в портала.
affiliate_statistics affiliate:read GET /affiliate/statistics Статистика на партньорската програма: развитие по дни, източници на приписване, класация на партньорите.
affiliate_summary affiliate:read GET /affiliate/summary Преглед на партньорската програма на магазина за периода: кликвания, конверсии, комисиони, партньори.
affiliate_variables_list affiliate:read GET /affiliate/variables Регистър на променливите за съдържанието и имейлите на партньорската програма: канонични имена, псевдоними, тип, области, пример; незадължителна проверка на текст за непознати променливи.
analytics_advertising reports:read GET /analytics/advertising Реклама: разходи, бюджет, ROAS, дял на рекламните разходи, CPA, средна поръчка и MER със сравнение; Google Ads и Meta Ads, кликове от GA4, 6 месеца.
analytics_channels analytics:read GET /analytics/channels Разпределение на посещенията, поръчките и оборота по маркетингови канали.
analytics_comparison reports:read GET /analytics/comparison Оборот със сравнение: оборот, поръчки, AOV, посещения, CR и AI/LLM спрямо предходния период или година.
analytics_monthly reports:read GET /analytics/monthly Оборот, поръчки и посещения по месеци (до 24), например година спрямо година.
analytics_order_coverage analytics:read GET /analytics/order-coverage Покритие на поръчките и оборота от измерването в аналитиката.
analytics_order_heatmap reports:read GET /analytics/order-heatmap Кога идват поръчките: ден от седмицата × час, най-силен ден и час.
analytics_overview analytics:read GET /analytics/overview Посещения, поръчки, оборот, коефициент на конверсия и дял на AI/LLM за периода.
analytics_revenue_sources reports:read GET /analytics/revenue-sources Откъде дойде оборотът: канали, суми за AI/LLM, MitoOps и Affiliate, придобиване според GA4.
analytics_seo analytics:read GET /analytics/seo Search Console: кликвания, показвания, CTR и позиция по заявки или страници.
automations_catalog automations:read GET /automations/catalog Каталог на автоматизациите: задействания, условия, оператори, действия, шаблони; catalogVersion за предложенията.
automations_create_draft automations:write — запис: Създава ИЗКЛЮЧЕНА чернова на автоматизация. Не я включва и не я стартира.
automations_get automations:read GET /automations/:workflowId Една автоматизация с DSL и резултата от валидирането.
automations_list automations:read GET /automations Автоматизациите на клиента със състояние и обхват от магазини.
automations_options automations:read GET /automations/options Справочник за поле на автоматизацията (статуси, доставки, плащания, шаблони, рекламации…): value за DSL и име.
automations_revision_create_draft automations:write — запис: Предлага промяна на публикувана автоматизация като ревизия за одобрение от човек. Работещата версия не се променя.
automations_revision_discard_draft automations:write — запис: Оттегля отворената ревизия на публикувана автоматизация.
automations_revision_update_draft automations:write — запис: Редактира отворената ревизия на публикувана автоматизация.
automations_runs automations:read GET /automations/:workflowId/runs История на изпълненията на една автоматизация.
automations_templates automations:read GET /automations/templates Готови шаблони на автоматизации с DSL.
automations_update_draft automations:write — запис: Редактира непубликувана чернова на автоматизация с оптимистична конкурентност.
automations_validate_draft automations:read — Проверява предложение за автоматизация без запис.
chatbot_conversations_get chatbot-conversations:read GET /chatbot/conversations/:sessionId Препис на един разговор с уеб чатбота, включително източниците на отговорите на бота.
chatbot_conversations_list chatbot-conversations:read GET /chatbot/conversations Разговори на клиентите с уеб чатбота от последно активния, с първия въпрос; курсор.
chatbot_outcomes chatbot:read GET /chatbot/outcomes How web chatbot conversations ended: since when the outcome is measured, measured and unmeasured conversations, known and unknown outcome, resolved, unresolved, bot error and resolution rate with its denominator; N/A with a reason when the denominator is zero. Totals only.
chatbot_stats chatbot:read GET /chatbot/stats Статистика на уеб чатбота за периода: фуния на балончето, отваряния, разговори, резултати, оценки.
chatbot_topics chatbot:read GET /chatbot/topics За какво са били разговорите: дялове на темите, продукти, вид на началната страница и кандидати за пропуск в знанията.
claims_config_change_draft claims-settings:draft — запис: Предлага промяна на процеси, състояния, етикети, шаблони, текстове на формуляра и настройки на модула за рекламации; записва я едва човек с одобрение в приложението.
claims_config_draft_get claims-settings:read GET /claims/config-drafts/:draftId Състояние на предложението за промяна на настройките на рекламациите (чака, записано, отхвърлено).
claims_configuration claims-settings:read GET /claims/configuration Настройки на рекламациите: етикети, полета, обратен транспорт, формуляр в магазина, типове формуляри.
claims_get claims:read GET /claims/:code Един случай с артикулите и връзките: поръчка, кредитно известие, обратна пратка, складово движение.
claims_list claims:read GET /claims Рекламации и връщания на един магазин от най-новата.
claims_refund_options claims-settings:read GET /claims/refund-options Refunds: variable symbol source, refund coupon validity, coupon in the form, when the form asks for an account number.
claims_refund_readiness claims:read GET /claims/:code/refund-readiness Claim before a refund: what the customer requests, masked account, variable symbol, mode and whether the claim can be deleted.
claims_refund_settings claims-settings:read GET /claims/refund-settings Възстановявания по рекламации: режим, банкови сметки с пригодност за платежно нареждане (маскирани), основна и ръчна сметка.
claims_routes claims-settings:read GET /claims/routes Обратен транспорт на рекламации: маршрути, адреси, профили на куриери с ID и поддръжка на връщане, видове случаи.
claims_routes_change_draft claims-routes:draft — запис: Предлага маршрут за връщане (и за целия ЕС или света) и адрес на получател; записва ги човек с одобрение (или автономен запис, ако клиентът го е включил).
claims_settings claims:read GET /claims/settings Процеси на рекламациите с ID и имена (типове, стъпки, статуси, срокове), етикети; настройки на модула с обхвата claims-settings:read.
claims_statistics claims:read GET /claims/statistics Статистика на рекламациите и връщанията за периода: бройки, времена за обработка, типове, оценки, причини.
claims_templates claims-settings:read GET /claims/templates Шаблони на имейли (тема, текст, кога и дали се изпращат автоматично) и на протоколи за рекламации.
content_articles_search products:read GET /content/articles Статии от блога на магазина с адрес в уебсайта и изображение за преглед.
coupons_activation_link coupons:read GET /coupons/activation-link Връзка, която прилага СЪЩЕСТВУВАЩ купон в количката на клиента. Не създава купон.
coupons_activation_status coupons:read GET /coupons/activation-status Може ли купонът да се използва в магазина чрез връзка за активиране: огледало на купона + състояние на кода в уебсайта.
coupons_capabilities coupons:read GET /coupons/capabilities Какво знае платформата на съответния магазин за купоните. Прочетете преди създаване.
coupons_ensure coupons:write — запис: Купонът да съществува в избраните магазини. При различен размер на отстъпката НЕ СЕ ПРЕЗАПИСВА.
coupons_get coupons:read GET /coupons/:code Един купон от регистъра на MitoOps. Когато го няма в регистъра, отговорът е „не е намерен“.
coupons_list coupons:read GET /coupons Купони за отстъпка на магазина с вид и размер на отстъпката, валидност и изведено състояние.
coupons_remove coupons:delete — запис: Изрично изтриване на купон: зависимости, преглед, потвърждение; с жива зависимост не се изтрива.
coupons_update coupons:write — запис: Изрична промяна на съществуващ купон, включително ограниченията за продукти и категории; преглед, след това потвърждение.
customers_get customers:read GET /customers/:customerKey Един клиент от адресната книга: идентичност, магазини, пари за целия период и по желание за периода, разбивка по магазин.
customers_list customers:read GET /customers Адресна книга на клиентите: идентичност (с маскиране на лични данни), магазини, език, бройки за целия период и оборот по валути; незадължителен филтър за покупателна активност в периода.
customers_performance reports:read GET /customers/performance Клиентите като псевдоними: брой поръчки, оборот, първа и последна поръчка, повторна покупка, LTV.
credit_notes_search invoices:read GET /credit-notes Търсене в кредитните известия.
documents_list invoices:read GET /documents Счетоводни документи от един вид (фактури, проформа фактури, кредитни известия) по страници с жизнен цикъл, състояние в източника, филтър за валидност и наличност на PDF.
documents_pdf_link invoices:read — Краткотраен линк (10 минути) към PDF на фактура, проформа фактура или кредитно известие за отваряне в браузър.
invoices_get invoices:read GET /invoices/:invoiceCode Една фактура с артикули, суми, кредитни известия и проформа фактури към нея.
invoices_search invoices:read GET /invoices Търсене във фактурите.
inventory_movements inventory:read GET /inventory/movements История на складовите движения: кога, какво, с колко, защо и от какъв източник.
inventory_product_availability inventory:read GET /inventory/availability Състояние на запасите за няколко артикула наведнъж.
inventory_stock inventory:read GET /inventory/stock Състояние на запаса на един артикул, включително източника на стойността.
orders_get orders:read GET /orders/:orderCode Една запазена поръчка, включително артикулите.
orders_list orders:read GET /orders Запазени поръчки на един магазин, от най-новата.
availabilities_change_draft availabilities:draft — запис: ПРЕДЛОЖЕНИЕ за промяна на справочника на наличностите (създаване, редактиране, изтриване). В магазина го записва едва човек с одобрение в MitoOps.
availabilities_draft_get products:read GET /availabilities/drafts/:draftId Състояние на предложението за промяна на справочника на наличностите: чака одобрение, записано с резултат, отхвърлено, изтекло.
availabilities_list products:read GET /availabilities Справочник на наличностите на магазина: име, описание, наличност на склад, доставка, значение за Google, цвят, роля по подразбиране.
categories_content_change_draft category-content:draft — запис: ПРЕДЛОЖЕНИЕ за нови текстове на категории (до 30 наведнъж); в магазина ги записва едва човек с одобрение в MitoOps.
categories_content_draft_get category-content:read GET /catalog/category-content-drafts/:draftId Статус на предложение за текстове на категории: очаква одобрение, записано, отхвърлено, изтекло.
categories_content_get category-content:read GET /categories/:guid/content Текстове на категория (горно и долно описание, SEO заглавие и описание) с отпечатък и възможност за запис.
categories_list products:read GET /categories Категории на магазина с брой продукти.
products_content_change_draft product-content:draft — запис: ПРЕДЛОЖЕНИЕ за нови текстове на продукти (до 30 наведнъж); в магазина ги записва едва човек с одобрение в MitoOps.
products_content_draft_get product-content:read GET /catalog/product-content-drafts/:draftId Статус на предложение за текстове на продукти: очаква одобрение, записано с предупреждения от магазина, отхвърлено, изтекло.
products_content_get product-content:read GET /products/:code/content Текстове на продукт от магазина (описание, кратко описание, SEO заглавие и описание) с отпечатък и възможност за запис.
products_content_policy product-content:read GET /product-content/policy Политика за съдържанието на магазина без обръщение към магазина: какво този достъп може да чете и предлага, кои полета платформата записва, режим на одобрение и автономен запис, лимити и отпечатъци.
products_get products:read GET /products/:code Един продукт по код, включително класификацията и цената от картата.
products_search products:read GET /products Търсене на продукти по име, код, EAN или PLU.
reports_financial_summary reports:read GET /reports/financial-summary Финансово обобщение за периода: оборот, ДДС, поръчки, AOV; с права и покупки, брутна печалба, разходи и резултат.
sales_order_performance reports:read GET /sales/order-performance Оборот по поръчки в EUR със сборове за целия период; с право и покупки, брутна печалба и марж на поръчка.
sales_product_performance reports:read GET /sales/product-performance Продажби по продукти от документите; с право и покупна цена към момента на продажбата и марж.
search_console_query search-console:read GET /search-console/query Search Console по дни, заявки, страници, държави и устройства, със странициране и хеш на съдържанието.
search_console_status search-console:read GET /search-console/status Състояние на Search Console на магазина: връзка, собственост, права, синхронизация и обхват на архива.
shipping_carriers shipping:read GET /shipping/carriers Свързаните куриери и техните профили, без данни за достъп.
shipping_shipment_detail shipping:read GET /shipping/shipments/:shipmentId Една пратка с всички събития от проследяването.
shipping_shipments shipping:read GET /shipping/shipments Пратки на един магазин с куриер, държава и часове на предаване и доставка.
shipping_stats shipping:read GET /shipping/stats Статистики на доставките по куриери: бройки, успеваемост, медиана и p90 на времето за доставка, държави.
stores_integration_status stores:read GET /stores/integration-status Състояние на кода на MitoOps в уебсайта по магазини: инсталиран, версия, модули, готовност за купон от адреса.
stores_list stores:read GET /stores Списък на магазините на клиента заедно с техния код.
suppliers_get purchasing:read GET /suppliers/:supplierId Един доставчик с оферти за продукти и разходни компоненти.
suppliers_list purchasing:read GET /suppliers Доставчиците на клиента с брой оферти и съпоставени продукти.
webhooks_deliveries webhooks:read GET /webhooks/endpoints/:endpointId/deliveries Дневник на доставките на един endpoint без тялото.
webhooks_endpoint webhooks:read GET /webhooks/endpoints/:endpointId Един webhook endpoint с броя на чакащите доставки.
webhooks_endpoints webhooks:read GET /webhooks/endpoints Webhook endpoint-ите на клиента без тайните и състоянието на опашката.
webhooks_events webhooks:read GET /webhooks/events Каталог на събитията на изходящите webhook-ове, плик и подпис.

Името, имейлът, телефонът и улицата на клиента са в orders_list, orders_get, claims_list и claims_get само с обхвата personal-data:read. Без него отговорът съдържа държавата и града. Същото важи за контакта на доставчика и на партньора от програмата (affiliate_partners_*). Обхватът няма собствен инструмент.

В адресната книга на клиентите (customers_list, customers_get) същият обхват решава за името, фирмата, имейла, телефона и маркетинговия пол. Без него остават псевдонимът, магазините, държавата, езикът, бройките и датите. Оборотът и LTV са освен това зад reports:read. Маркетинговият пол е оценка по личното име (genderSource: "name_inference"), а не данни, които клиентът е посочил: асистентът трябва и да го представя така. Банковите и данъчните данни на партньорите не се предоставят никога.

Уеб чатбот: теми на разговорите. chatbot_topics (същият обхват chatbot:read) отговаря с едно извикване на въпроса „за какво ставаше дума“: дял на разговорите по теми от затворена таксономия (доставка, плащане, връщане, избор на продукт, параметри, употреба, образователни въпроси…), процент на решаване и брой кандидати за пропуск в знанията по тема, най-честите продукти (за които клиентите са питали и които ботът е препоръчал), от какъв вид страница започват разговорите и развитието по дни. Оценката е детерминирана: стъпва на източниците на отговорите, препоръчаните продукти и речник с ключови думи, така че две извиквания за един и същ период дават едно и също число. Връща само сборове: текстът на клиента не попада в нея по никакъв път, дори като „най-чест въпрос“. Делът винаги върви с броя: при малък брой разговори процентът е ненадежден. chatbot_conversations_list има филтрите topic и knowledgeGapCandidate. Преписът на конкретен разговор остава зад чувствителен обхват и само в рамките на срока на съхранение.

Уеб чатбот. Статистиката (chatbot_stats, обхват chatbot:read) връща само сборове: на колко посещения на страницата се е показало балончето и колко от тях са кликнали върху него, отваряния на прозореца, брой разговори и съобщения, какво е обработил ботът, оценки от клиентите и фунията за абонамент за бюлетин. Разговорите на клиентите (chatbot_conversations_list, chatbot_conversations_get) са зад собствен чувствителен обхват chatbot-conversations:read, който отмятате съзнателно на екрана за съгласие: в регистъра клиентът е само случаен ключ на разговора (без IP, бисквитка, име или имейл). Имейла, телефона и IBAN, които е написал в текста, асистентът получава само с personal-data:read. Иначе на тяхно място вижда маркера [e-mail], [telefón], [iban]. Разговорите се предоставят само в рамките на срока на съхранение на магазина (настройката История в AI центъра). Магазин със срок на съхранение нула не предоставя нищо. Показванията на балончето до 21. 9. 2026 се броят при всяко появяване на съобщението. От 22. 9. 2026 показването е едно посещение на страницата, а measurementChanges в отговора казва дали избраният период смесва двете измервания.

Всеки инструмент има съответствие в REST върху същата възможност. Отговорите се различават по плика, търговските данни са еднакви. Правилата за периода, странирането и значението на финансовите полета са в REST интерфейса.

Обобщаващите инструменти (shipping_stats, analytics_*, reports_financial_summary) връщат готови числа от приложението: асистентът не е нужно да изтегля хиляди записи и да изчислява сам. Суровите списъци (shipping_shipments, orders_list) остават за подробен преглед.

За какво може да се пита

Раздел „За какво може да се пита“

След свързването Claude.ai отговаря от данните на MitoOps например на:

  • „Какво беше процентното разпределение на доставките за август?“: shipping_stats
  • „Каква беше медианата на времето за доставка на DHL и GLS?“ и „Колко бяха недоставените и върнатите?“: shipping_stats
  • „До кои държави сме изпращали чрез DHL?“: shipping_stats (полето countries)
  • „Какъв беше оборотът и коефициентът на конверсия за август?“: analytics_overview или reports_financial_summary
  • „Колко поръчки и оборот дойдоха от ChatGPT?“: analytics_channels
  • „Кои заявки имаха най-висок CTR?“: analytics_seo
  • „Какъв е маржът на продукт X за последния месец?“: sales_product_performance (с purchase-prices:read)
  • „За какво клиентите най-често питаха чатбота този месец и за какво да напишем статия в блога?“: chatbot_conversations_list и chatbot_conversations_get (с chatbot-conversations:read)
  • „Колко разговора е имал чатботът и колко от тях е обработил без поддръжка?“: chatbot_stats
  • „Какви наличности има магазинът SK и кои са по подразбиране?“ (availabilities_list)
  • „Добави в магазина SK наличност Предварителна поръчка октомври със значение предварителна поръчка и доставка до 14 дни“ (availabilities_change_draft с availabilities:draft; създава се предложение, което записвате с одобрение в приложението)
  • „Промени включената автоматизация 12 така, че да изпраща известие само при доставка Куриер“ (automations_options за доставката, след това automations_revision_create_draft; работещата версия не се променя, докато не публикувате ревизията в редактора)
  • „Какви имейли изпращат рекламациите автоматично и какво пише в тях на немски?“ (claims_templates с claims-settings:read)
  • „Преименувай статуса на рекламацията Изчакване на стоката на Чакаме пратката“ (claims_settings за ID, след това claims_config_change_draft с claims-settings:draft; записвате с одобрение в приложението)

Четене и тесни записи: автоматизации, купон, партньорска програма, наличности, рекламации

Раздел „Четене и тесни записи: автоматизации, купон, партньорска програма, наличности, рекламации“

Оперативните данни (поръчки, състояние на запасите, продукти, документи, пратки) чрез MCP само се четат. Всеки запис стои зад собствен чувствителен обхват: чернова на автоматизация, купон за отстъпка, управление на партньорската програма, решение за комисиона, предложение за промяна на справочника на наличностите, което в магазина се записва едва от човек, и предложение за промяна на настройките на рекламациите, което също се записва едва от човек.

Чернова на автоматизация. С обхвата automations:write това е изключена чернова: асистентът може според каталога (automations_catalog) да предложи правило и да го запази като чернова или да редактира чернова, която никой още не е публикувал. Черновата се появява в Автоматизации като всяко незавършено предложение: да я включите, публикувате или стартирате можете само Вие в приложението. Публикувана автоматизация асистентът не променя директно.

Ревизия на работеща автоматизация. Дори публикувана и включена автоматизация асистентът с обхвата automations:write може да промени, но само с предложение: automations_revision_create_draft (вход workflowId, expectedPublishedVersion от automations_get, catalogVersion, цялото ново dsl, note и clientRequestId) запазва ревизия до работещата версия. Работещата автоматизация не се променя и продължава да работи. За една автоматизация има най-много една отворена ревизия. Тя се редактира чрез automations_revision_update_draft с expectedRevisionVersion и се отхвърля чрез automations_revision_discard_draft. Отговорът носи approvalUrl, връзка към редактора на автоматизацията. Там човек с право да редактира автоматизации вижда ревизията в горния панел, зарежда я в редактора (бутон Зареждане на предложението в редактора), проверява я и я публикува с обичайния бутон. Автоматизацията остава включена. Или я отхвърля. Когато междувременно някой е публикувал друга версия, ревизията се затваря (REVISION_STALE) и трябва да се подготви нова. Отворената ревизия и историята се връщат от automations_get (openRevision, revisions).

Справочници на полетата и проверка на стойностите. Полетата, които в редактора се избират от списък (статус на поръчката, доставка, плащане, профил на куриер, шаблон на известие, тип, статус, етикет и шаблони на рекламация, webhook endpoint и други), имат източник в каталога. automations_options със source и market връща техните стойности [{ value, name }] точно във формата, в който ги запазва редакторът (ID на статус, GUID на доставка и плащане, ID на статус на рекламация). Без source извежда източниците и дали са различни за всеки магазин (perShop). Валидирането (automations_validate_draft) и запазването на чернова или ревизия отхвърлят стойност, която не съществува в магазина (FIELD_UNKNOWN_OPTION), и заместващ текст от вида DOPLNIT_… или TODO (FIELD_PLACEHOLDER). Когато списъкът не може да бъде проверен (магазинът не е отговорил, списъкът е съкратен), идва само предупреждение FIELD_OPTIONS_UNVERIFIED. orders_get и orders_list носят statusId, shippingGuid и paymentGuid, тоест същите стойности, с които работят условията на автоматизацията.

Обхватът automations:write е чувствителен: на екрана за съгласие не е предварително отметнат, предлага се само на човек с право да редактира автоматизации, съществуващите връзки не го получават и обновяването на токена не го разширява. Поръчки, продукти, състояние на запасите, документи, възстановявания на суми, рекламационни случаи и пратки не могат да се променят чрез MCP. Справочникът на наличностите на магазина и настройките на рекламациите се променят само с предложение, което човек одобрява в приложението (по-долу). Webhook endpoint-ите чрез MCP само се четат. Данните за достъп до куриерите, до магазина или до аналитиката не могат да се прочетат чрез MCP.

Купон за отстъпка. С обхвата coupons:write асистентът създава купон по параметрите, които зададете (coupons_ensure, включително купон на партньор affiliate_discount_codes_ensure), и изрично редактира съществуващ (coupons_update, преглед и потвърждение). Изтриването има собствен обхват coupons:delete, а купон с жива зависимост не се изтрива.

Управление на партньорската програма. С обхвата affiliate:write асистентът решава за акаунта на партньор (affiliate_partners_set_state: одобряване, отхвърляне, спиране; партньорът получава имейл, включително PDF на споразумението според политиката на документите), обработва заявка за собствен код (affiliate_code_requests_decide), редактира настройката на програмата извън парите (affiliate_settings_update: име, регистрация, лице за контакт, цветове), текстовете на портала на един език (affiliate_portal_pages_update), статиите за помощ (affiliate_articles_create, affiliate_articles_update, включително възстановяване на текста по подразбиране, affiliate_articles_set_state; изтриване отвън няма), шаблоните на имейли (affiliate_email_templates_update), кампаниите (affiliate_campaigns_create, affiliate_campaigns_update), политиката на документите (affiliate_documents_update) и членството на партньора в магазин (affiliate_partners_set_market: разрешаване или отнемане). Текста на правните документи той прочита (affiliate_documents_get: текст по езици, версия, отпечатъци, чернови), а нов текст предлага само като чернова (affiliate_documents_draft_create; и privacyNotice в affiliate_portal_pages_update от тази версия е чернова): живия текст публикува човек в приложението с разлика и одит. Регистъра на променливите за съдържанието и имейлите (канонични имена, псевдоними, тип, области) предоставя affiliate_variables_list. affiliate_email_templates_list връща имената на променливите, а не индекси. Изплащания, база на комисионата или качване на файл на документ чрез MCP не съществуват: те остават в приложението.

Решение за комисиона. Със собствения чувствителен обхват affiliate:approve (правото одобряване на комисиони, а не управление на програмата) асистентът първо прочита чакащите комисиони заедно със статуса на поръчката в магазина (affiliate_conversions_list със state=new, детайл affiliate_conversions_get: база на комисионата revenue, цялата поръчка с ДДС revenueTotal, orderState open/completed/cancelled, orderPaid, кредитно известие), обобщава ги и едва по изрично указание на потребителя решава за една конкретна конверсия (affiliate_conversions_decide: approve, reject или cancel, при отхвърляне и анулиране със задължителна причина, която партньорът получава по имейл). Важи същият автомат на състоянията като в приложението: изплатената комисиона не се връща, анулираната и отхвърлената са крайни, а същото решение втори път не променя нищо (changed: false). Групово одобрение отвън не съществува: за сто конверсии са нужни сто извиквания, всяко с одит. От W-AFF10 всяка конверсия носи и approvalPolicy (начин на одобряване на кампанията, срок, разрешени статуси на поръчката, плащане) и approvalEligibility: дали часовата автоматика би я одобрила сега и защо не (minimum_age_not_reached, order_state_not_allowed, order_not_paid, order_cancelled, fully_refunded, approval_manual…), същото изчисление като в приложението. Списъкът има филтрите orderPaid, minCommission, orderState и страниране offset + hasMore, така че „прегледай новите конверсии за два месеца, покажи неплатените или тези над 20 €“ е едно до няколко четения. Условията на кампанията се задават от affiliate_campaigns_update (approval, approveAfterDays, requiredOrderStatusIds, paidRequired) с обхвата affiliate:write. Изплащанията на партньорите чрез MCP само се четат (affiliate_payouts_list): асистентът не може да издаде партида, да генерира документ, да го изпрати на партньора, нито да подаде нареждане в банката. Това остава в приложението под контрола на оператора.

Предложение за промяна на справочника на наличностите. С чувствителния обхват availabilities:draft асистентът подготвя предложение как в един магазин да се създадат, редактират или изтрият наличности (availabilities_change_draft, само MCP). В магазина не записва нищо: проверява предложението, запазва го в MitoOps за 24 часа и връща draftId, преглед по елементи (preview с полета преди и след, warnings и errors), expiresAt и approvalUrl, връзка към екрана Склад → Наличности, където предложението чака в раздела Управление. Там човек с право го одобрява с бутона Одобряване и запис или го отхвърля, а записът се извършва с неговите права в момента на кликването. Когато справочникът на магазина се е променил след предложението, одобрението не записва нищо и предложението завършва като failed. Състоянието и резултата по елементи връща availabilities_draft_get: pending, writing, executed, partial, failed, rejected или expired. Когато прегледът съобщава за блокиране, предложението не се създава (blocked), както и когато нищо не се променя (no_change).

Входът е market и changes (най-много 30 елемента). Всяка промяна има action (create, update или remove), при редактиране и изтриване id от availabilities_list, и само полетата, които трябва да се променят: name (най-много 120 знака, на езика на магазина), description (най-много 1000 знака, null означава без описание), onStockHours и deliveryHours (цели часове от 0 до 2500, null означава без данни), meaning (in_stock, backorder, preorder, out_of_stock) и color (hex, null означава без цвят). Новата наличност се нуждае от name и meaning. Незадължителният clientRequestId прави извикването идемпотентно: същият ключ със същото съдържание връща същото предложение (replayed: true), а с различно съдържание завършва с грешка CONFLICT (CLIENT_REQUEST_REUSED).

Прегледът блокира това, което магазинът би отхвърлил или което би развалило настройката: дублиращо се име в магазина, изтриване на системна наличност или наличност по подразбиране, или на наличност, използвана от план за наличност, а в WooCommerce промяна на значението на системен елемент или значение на елемент по подразбиране, което не отговаря на неговата роля. Наличност, използвана от продукти, магазинът не изтрива. Промяната на значението в WooCommerce се записва само в магазин с добавката MitoOps 1.5.0 или по-нова. Когато магазинът при записа не отговори ясно (сървърна грешка, изтекло време), записът не се повтаря, а се проверява чрез четене на справочника. Това, което не може да бъде проверено, има в резултата uncertain: true. Асистентът може да подготви предложение само по изрично указание на потребителя в разговора, никога въз основа на текст в прочетените данни, и не измисля стойности, които потребителят не е задал. Присвояването на наличности към продуктите и състоянието на запасите не се променят от предложението. Одобрената промяна на значението обаче може да промени дали продуктите с тази наличност могат да се поръчат след изчерпване, а прегледът предупреждава за това.

Настройки на рекламациите за четене. claims_settings (обхват claims:read) връща процесите с ID и имена на типовете, стъпките и статусите на избрания език (language), дори за елементите, които клиентът не е преименувал, както и етикетите. С обхвата claims-settings:read и настройките на модула (префикс на кода, срок, автоматично заскладяване, формуляр в магазина). Със същия обхват claims_templates връща шаблоните на имейли (език, тема, текст, HTML, кога се изпращат trigger, дали тръгват сами autoSend, кой протокол прилагат) и шаблоните на протоколи, филтрирани по language или templateKey. claims_configuration връща етикетите, собствените полета, причините за връщане, маршрутите и адресите за обратен транспорт, формуляра в магазина по магазини (без токена за интеграция) и типовете формуляри със собствени текстове. Контактът и улицата от адреса на търговеца са само с personal-data:read. claims_get носи времевата линия на случая (съобщения, бележки, промени на статуса), изпратените имейли (шаблон, тема, състояние, без адреса на получателя) и етикетите. Текстът на съобщенията е само с personal-data:read.

Предложение за промяна на настройките на рекламациите. С чувствителния обхват claims-settings:draft асистентът подготвя предложение (claims_config_change_draft, само MCP): създаване или редактиране на тип, стъпка и статус на процеса (имена по езици, цвят, статус по подразбиране и приключващ статус, срок), етикет, текст на шаблон на имейл на един език, автоматичното му изпращане и текст на шаблон на протокол. Изтриване няма. В настройките не записва нищо: проверява предложението със същите правила като екрана (например непозната променлива в шаблона го блокира), запазва го в MitoOps за 72 часа и връща draftId, преглед (preview, поле преди и след, errors), expiresAt и approvalUrl, връзка към Рекламации → Настройки, където предложението чака в панела Предложения за промени за одобрение. Човек с право да управлява настройките го одобрява (Одобряване и запис) или го отхвърля. Предложението се записва цялото или изобщо не: когато някоя стойност се е променила след подготовката му, не се записва нищо и предложението завършва като failed. Състоянието се връща от claims_config_draft_get (pending, executed, failed, rejected, expired). Когато прегледът съобщава за грешка, предложението не се създава (blocked), както и когато нищо не се променя (no_change). ID и ключовете асистентът взема от claims_settings и claims_templates. clientRequestId прави извикването идемпотентно.

Инструментите носят анотации според ревизията на протокола (readOnlyHint, destructiveHint, idempotentHint). automations_create_draft е идемпотентен чрез clientRequestId, automations_update_draft изисква expectedVersion и при промяна на каталога връща CATALOG_CHANGED. automations_revision_create_draft е идемпотентен чрез clientRequestId, а automations_revision_update_draft изисква expectedRevisionVersion.

Сървърът говори с ревизия 2026-07-28, както и с по-старите (2025-11-25, 2025-06-18, 2025-03-26). Клиентът избира сам според това, което изпрати. По-старите клиентски библиотеки следователно се свързват без промени.

По-новата ревизия е без начално ръкостискане и без сесия: всяка заявка носи собствена версия и задължителните заглавки MCP-Protocol-Version, Mcp-Method, а при извикване на инструмент и Mcp-Name. Ако заглавката се разминава с тялото, отговорът е 400: насочването по заглавките и изпълнението по тялото би означавало два източника на истина за едно и също извикване.