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 сам открива всичко от адреса на интерфейса.
- В Claude.ai отворете Settings (Настройки) → Customize → Connectors (в екипния план първо Organization settings → Connectors като администратор).
- Натиснете Add custom connector (Добавяне на собствен конектор).
- В полето Name напишете
MitoOps. - В полето URL поставете адреса на MCP интерфейса от екрана Настройки → API & MCP: във вида
https://<Вашият адрес>/api/mcp, напримерhttps://app.mitoops.com/api/mcp. - Advanced settings оставете празни: Claude.ai използва собствените си хоствани метаданни на клиента (OAuth). Натиснете Add.
- При конектора натиснете Connect (Свързване).
- Отваря се входът в MitoOps (включително с втори фактор, ако го имате). Влезте.
- Ще видите екрана за съгласие: кое приложение, кой клиент, какво може да чете и за кои магазини се отнася. Разрешенията са групирани по области на приложението (продажби, склад, доставка, маркетинг, партньорска програма, автоматизации). Четенето е предварително отметнато, чувствителните данни и подготовката на чернови не са; промените с пряко въздействие (например изтриване на купони или одобряване на изпращане) са поотделно в свития раздел Разширени разрешения. При всяка група е посочено какво точно включва.
- Проверете обхватите. Чувствителните (например Отчети, Покупни цени, Лични данни на клиентите, Доставчици и покупки, Автоматизации: чернови, Наличности: чернови на промени и Рекламации: предложения за промени в настройките) не са отметнати. Ако Claude трябва да вижда маржа, личните данни, да предлага чернови и промени на автоматизации или промени на наличностите или настройките на рекламациите, отметнете ги съзнателно. Шаблоните и настройките на рекламациите се четат с обхвата Рекламации: настройки и шаблони. Изберете магазините.
- Натиснете Разреши. Claude.ai се връща на своята страница и конекторът е свързан.
- В разговора натиснете + → Connectors и включете конектора MitoOps.
Това, което отметнете на екрана за съгласие, важи, и никога повече от това, което имате право да правите сами. Който няма в приложението право на покупни цени, няма как да го предаде нататък. Токенът, който Claude.ai получава, носи само разрешените обхвати.
Друг MCP клиент или AI приложение чрез OAuth
Раздел „Друг MCP клиент или AI приложение чрез OAuth“Въвеждате в приложението същия адрес /api/mcp и нищо повече: никакъв ключ. Нататък всичко става само:
- Приложението пита при нас къде да изпрати входа (метаданни на защитения ресурс според RFC 9728).
- Отваря се Вашият вход в MitoOps.
- Виждате екрана за съгласие и избирате обхватите и магазините.
- След разрешаването свързването е готово и приложението вижда инструментите.
Приложение, което само избира обхватите, трябва да ги посочи в заявката: екранът за съгласие предлага само това, което приложението е поискало (и до което имате право). Интерфейсът обявява всички обхвати, включително чувствителните: в предизвикателството 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: насочването по заглавките и изпълнението по тялото би означавало два източника на истина за едно и също извикване.