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

За разработчици

Проверено

MitoOps има публичен интерфейс с три форми върху един и същ нормализиран слой от данни. Те се различават по това кой пита и какво има право да прави:

Форма Посока Какво има право да прави
REST API (/api/v1) Вашата програма пита само четене: отговаря изключително на GET, никоя операция не променя нищо
MCP (/api/mcp) AI приложението пита четене на същите данни и освен това тесни записи зад чувствителни обхвати, които човек предоставя изрично: automations:write (изключена чернова на автоматизация и предложение за промяна на работеща, което се публикува от човек), coupons:write и coupons:delete (купон за отстъпка с преглед и потвърждение), affiliate:write (управление на партньорската програма: акаунт на партньор, текстове на портала, шаблони, кампании, политика на документите), affiliate:approve (решение за една посочена комисиона, изплащанията остават в приложението), availabilities:draft (предложение за промяна на справочника на наличностите, което в магазина се записва едва от човек с одобрение в приложението) и claims-settings:draft (предложение за промяна на настройките на рекламациите, което се записва едва от човек с одобрение в приложението). Освен това claims-routes:draft, product-content:draft и category-content:draft: предложение за обратен транспорт при рекламации и за текстове на продукти и категории, което се записва от човек с одобрение в приложението или веднага, ако клиентът съзнателно включи автономен запис за областта. Нищо друго чрез MCP не се създава и не се променя
Изходящи webhook-ове MitoOps изпраща на Вас подписано съобщение за събитие (поръчка, плащане, пратка, склад, фактура, рекламация) на Вашия адрес

Интерфейсът в момента предоставя 130 MCP инструмента (102 за четене, 28 за запис зад чувствителни обхвати: чернова и ревизия на автоматизация, купони за отстъпка, управление на партньорската програма и предложения за промени в наличностите, в настройките и обратния транспорт на рекламациите и в текстовете на продукти и категории, които записва едва човек чрез одобрение в приложението, освен ако клиентът съзнателно не включи автономен запис за тази област), 101 REST маршрута (всички само за четене) и 32 обхвата на разрешения, от които 13 чувствителни, в 19 области с данни. Числата се получават от каталога на приложението при изграждането на тази страница, никой не ги въвежда ръчно.

Какво прочитате чрез REST и MCP: онлайн магазини, поръчки, продукти и категории, запаси с история на движенията, фактури и кредитни известия, пратки и статистики на доставките, посещаемост и канали, финансови отчети и продажби, адресна книга на клиентите и клиентска аналитика в псевдоними, доставчици, рекламации със статистика, партньорска програма, автоматизации, справочник на наличностите на магазините, webhook endpoint-и и тарифата на акаунта с лимитите.

Адресът е /api/v1 във Вашия домейн на приложението. Извикванията, параметрите, формата на отговора, периодът и странирането са описани в REST интерфейса. Машинно четимото описание е на /api/v1/openapi.json зад същия ключ. Влязъл човек може да го отвори и от екрана Настройки → API & MCP. Описанието се създава от същия източник като интерфейса, така че не може да се разминава с него.

Всичко различно от GET получава 405, преди сървърът да погледне ключа. Това не е временно ограничение: REST v1 няма извиквания за запис, а записите на MCP умишлено не са включени в него. Предложението за промяна на наличностите чрез REST само прочитате (неговото състояние), но не можете да го подготвите.

MCP: четене и тесни записи

Раздел „MCP: четене и тесни записи“

Адресът е /api/mcp. MitoOps е стандартен отдалечен MCP сървър (Model Context Protocol, отворен протокол, независим от доставчика на AI). Свързва се всяко приложение, което поддържа отдалечен MCP през HTTP с OAuth или с ключ за достъп. Claude.ai е клиент, проверен в реална среда. Точната процедура е в MCP интерфейса.

Инструментите на MCP стоят върху същите възможности като REST: това не е втори интерфейс със собствени заявки. Списъкът с инструменти се определя от обхватите на ключа или на съгласието: инструмент извън обхвата за приложението не съществува. Всеки инструмент носи анотации според ревизията на протокола 2026-07-28 (readOnlyHint, destructiveHint, idempotentHint), от които AI приложението знае дали става дума за четене или за запис.

OAuth: свързване от името на човек

Раздел „OAuth: свързване от името на човек“

AI приложение, което поддържа отдалечен MCP с OAuth, не се свързва с ключ. Въвеждате в него адреса /api/mcp, то Ви изпраща към входа в MitoOps (включително с втори фактор) и на екрана за съгласие избирате какво може да чете, за кои магазини и какви записи може да прави (чернови на автоматизации, купони, управление на партньорската програма, решение за комисиона, предложения за промени на наличностите). Паролата приложението никога не вижда.

Какво се предоставя, решава влезлият човек, и никога повече от това, което има право да прави сам. Който няма право на покупни цени, няма как да го предаде нататък. Който няма право да редактира автоматизации, изобщо няма да види обхвата automations:write на екрана за съгласие. Съгласието чрез OAuth не изразходва ключ за достъп от лимита на тарифата, но изисква тарифа с API & MCP: без нея екранът за съгласие не се отваря и казва защо.

Разрешението може да бъде отнето по всяко време в Настройки → API & MCP и всички достъпи от него престават да важат в същия момент.

За сървър, който вика сървър, или за Ваша собствена програма:

  1. В приложението отворете Настройки → API & MCP и натиснете Нов ключ.
  2. Въведете име, по което по-късно ще разпознаете ключа.
  3. Изберете обхвати, онлайн магазини и интерфейси (REST, MCP или и двата).
  4. Изберете валидност и създайте ключа.

Ключът се изпраща в заглавката. В адреса умишлено не се приема (адресите се записват в логове и в историята на браузъра):

Authorization: Bearer <Вашият ключ>

Ключът или съгласието никога не виждат повече от това, което им е предоставено. Таблицата се създава от каталога на приложението:

Обхват Достъп Чувствителен До какво дава достъп
stores:read четене не списък на магазините с код
orders:read четене не поръчки, включително артикулите; адресът само държава и град, сумите само с reports:read
products:read четене не продукти, категории и продажната цена от картата на продукта
invoices:read четене не фактури с артикули, кредитни известия и проформи
shipping:read четене не пратки, събития от проследяването, куриери (без данни за достъп) и статистики на доставките
analytics:read четене не посещаемост, канали, резултати в търсенето и покритие на поръчките от измерването
search-console:read четене не ефективност в търсенето на Google от синхронизирания архив: дни, заявки, страници, държави и устройства
inventory:read четене не състояние на запасите и история на складовите движения
reports:read четене чувствителен оборот със сравнение и по месеци, реклама (разходи, бюджет, ROAS, дял на рекламните разходи, CPA, MER), кога идват поръчките, източници на оборота; финансово обобщение за периода (оборот, ДДС, разходи, резултат), продажби по продукти, резултати по поръчки, клиенти като псевдоними и суми в груповия списък на поръчките
purchasing:read четене чувствителен доставчици, техните оферти и разходни компоненти
claims:read четене не рекламации и връщания с връзки към поръчката, кредитното известие и обратната пратка, времевата линия и изпратените имейли по случая; статистика и процеси на модула
automations:read четене не каталог на задействанията и действията, списък на автоматизациите, тяхната настройка, история на изпълненията и валидиране на предложение
automations:write запис чувствителен създаване или редактиране на изключена чернова на автоматизация и предложение за промяна на включена автоматизация (ревизия); да включи черновата и да публикува ревизията може само човек в приложението, работещата автоматизация не се променя от предложението
webhooks:read четене не каталог на събитията, endpoint-и без тайна и дневник на доставките без тяло
account:read четене не тарифа, включени функции и лимити с текущото използване
affiliate:read четене не партньорска програма: преглед, партньори, кампании, кодове за отстъпка, конверсии, изплащания, статистика, настройка, документи, публичен портал, шаблони на имейли, статии за помощ и заявки за код; контакт на партньора само с personal-data:read, банкови и данъчни данни никога
affiliate:write запис чувствителен управление на партньорската програма: решение за акаунта на партньор (одобряване, отхвърляне, спиране), обработка на заявка за код, настройка на програмата извън парите, текстове на портала, статии за помощ, шаблони на имейли, кампании и политика на документите; решението за комисиона има собствен обхват, изплащанията остават в приложението
affiliate:approve запис чувствителен решение за една комисиона от партньорската програма по id на конверсията: одобряване, отхвърляне или анулиране (отхвърлянето и анулирането с причина, партньорът получава имейл); изплатената не се връща, групово одобрение и изплащания отвън не съществуват
customers:read четене не адресна книга на клиентите: псевдоним, магазини, държава, език, бройки и дати за целия период; име, фирма, имейл и телефон само с personal-data:read, оборот и LTV само с reports:read
coupons:read четене не купони за отстъпка на магазина с размера на отстъпката и валидността, поддръжка на платформата, връзка за активиране и нейната готовност
coupons:write запис чувствителен създаване на купон в избрани магазини (съществуващ с други параметри не се презаписва без изрично съгласие)
coupons:delete запис чувствителен необратимо изтриване на купон в избран магазин след преглед и изрично потвърждение; купон с жива зависимост (AI Mailing, прозорец за регистрация, планирана кампания, партньор) не се изтрива
chatbot:read четене не статистика на уеб чатбота за периода: показвания и кликове върху съобщението (процент кликове), отваряния на чата заедно с това от какво са възникнали, брой разговори и съобщения, резултати, оценки от клиентите, фуния за абонамент за бюлетин и детерминирана оценка на темите на разговорите (дялове, продукти, кандидати за пропуск): само сборове
chatbot-conversations:read четене чувствителен разговори на клиентите с уеб чатбота: списък с първия въпрос и препис с източниците на отговорите на бота; клиентът е само случаен ключ на разговора, имейл, телефон и IBAN в текста само с personal-data:read, иначе заменени с маркер; само в рамките на срока на съхранение на магазина
availabilities:draft запис чувствителен предложение за промяна на справочника на наличностите на магазина (създаване, редактиране, изтриване) с преглед; в магазина се записва едва от човек с право, когато го одобри в приложението, иначе изтича след 24 часа; не променя присвояването на наличностите към продуктите, нито състоянието на запасите
claims-settings:read четене не шаблони на имейли и протоколи за рекламации, настройки на модула, етикети, обратен транспорт и формуляр в магазина; без токени за достъп
claims-settings:draft запис чувствителен предложение за промяна на процеси, статуси, етикети и текстове на шаблони за рекламации с преглед; записва се едва от човек с право с одобрение в приложението, иначе изтича след 72 часа; не изтрива нищо
claims-routes:draft запис чувствителен предложение за създаване, промяна, включване или изключване на обратен маршрут, проверено както на екрана; записва го човек с одобрение в приложението или веднага, ако клиентът съзнателно е включил автономен запис за областта; никога не изтрива маршрут
product-content:read четене не описание, кратко описание и SEO текстове на продукт директно от магазина, с отпечатък и възможност за запис на всяко поле
product-content:draft запис чувствителен предложение за нови текстове на продукти (до 30 наведнъж), само полета със съдържание, никога цена, наличност, код или EAN; записва го човек с одобрение или веднага при съзнателно включен автономен запис
category-content:read четене не горно и долно описание и SEO текстове на категория, с отпечатък и възможност за запис според платформата на магазина
category-content:draft запис чувствителен предложение за нови текстове на категории (до 30 наведнъж), само полета, които платформата на магазина може да запише; записва го човек с одобрение или веднага при съзнателно включен автономен запис

Чувствителните обхвати не са предварително избрани нито на екрана за издаване на ключ, нито на екрана за съгласие: човекът трябва да ги отметне съзнателно. purchase-prices:read и personal-data:read нямат собствен инструмент. Те решават за полетата в отговорите на останалите. Липсващото поле не е нулево: то липсва.

Обхватите са публичен ангажимент: променят се само обратно съвместимо, а удостоверение, издадено по-рано, не наследява новия обхват (обхватите са записани в него поименно). Затова по-старият ключ или по-старото съгласие не получиха лични данни, когато на 2. 9. 2026 за тях възникна собствен обхват, и няма да получат и запис на чернова: за това е нужно ново съгласие или нов ключ.

Към съществуващ ключ нов обхват може да се добави и без смяна на ключа: Настройки → API & MCP → Редактиране на обхватите. Стойността на ключа остава същата, интеграцията, която го използва, продължава да работи и получава новия обхват от следващата заявка. Промяната се прави от човек с право да управлява ключове; тарифата и чувствителните обхвати се проверяват както при издаване.

Интерфейсът предоставя оперативни данни, а лични само с обхвата personal-data:read:

  • Поръчките и рекламациите без него връщат само държава и град: не име, имейл, телефон или улица.
  • Адресната книга на клиентите (customers:read) сама предоставя само псевдоним, магазини, държава, език, бройки и дати. Име, фирма, имейл, телефон и маркетингов пол добавя едва personal-data:read, а оборот и LTV едва reports:read: липсващото поле се премахва, а не се нулира.
  • Клиентската аналитика (customers/performance) изобщо няма лични данни: клиентът е псевдоним (отпечатък на имейла), същият като customerEmailHash в документите и в адресната книга.
  • Контактът на доставчика и на партньора от програмата е зад същия обхват.
  • Разговорите с уеб чатбота (chatbot-conversations:read, чувствителен) носят само случаен ключ на разговора: без име, имейл, IP или бисквитка. Имейлът, телефонът и IBAN, които клиентът е написал в текста, се предоставят едва с personal-data:read. Без него на тяхно място има маркер.
  • Банковите и данъчните данни на партньорите (IBAN, ЕИК, данъчен номер, данни за фактуриране на изплащанията), вътрешните бележки, паролите и тайните на втория фактор не се предоставят никога: нито един обхват не ги отваря.
  • Webhook-овете изпращат идентификатори и състояния, а не съдържанието на поръчката или данни за клиента.

Всяко извикване се записва в одита без стойностите на входа, само с имената на полетата и отпечатък.

Автоматизации: безопасен запис на чернова

Раздел „Автоматизации: безопасен запис на чернова“

AI асистентът може да предложи автоматизация, но не може да я включи. С обхвата automations:write (чувствителен, никога предварително отметнат, предлага се само на човек с право да редактира автоматизации):

  • automations_create_draft създава чернова в състояние изключено: не засяга публикуваната версия, задействанията, нито изпълнението;
  • automations_update_draft редактира само чернова, която още никой не е публикувал. Чернова, започната в редактора на приложението, не се презаписва;
  • черновата се появява в Автоматизации като всяко незавършено предложение и да я включи, публикува или стартира може само човек в приложението с право на одобрение;
  • automations_revision_create_draft предлага промяна на публикувана и включена автоматизация като ревизия. Работещата версия не се променя, докато човек не зареди ревизията в редактора и не я публикува (automations_revision_update_draft, automations_revision_discard_draft).

Стойностите на полетата, които в редактора се избират от списък (статус на поръчката, доставка, плащане, статус на рекламацията…), се връщат от automations_options във формата, в който ги запазва редакторът. Стойност, която не съществува в магазина, и заместващ текст от вида DOPLNIT_… са грешка при валидиране, а не успех.

Създаването е идемпотентно чрез clientRequestId, редактирането изисква expectedVersion, а и двете изискват catalogVersion от automations_catalog: остарелият каталог е конфликт, а не тих запис. Предложение, което засяга непознато задействане, магазин извън обхвата или чужд webhook endpoint, не се запазва. Подробно в MCP интерфейса.

Наличности: предложение за промяна, което се одобрява от човек

Раздел „Наличности: предложение за промяна, което се одобрява от човек“

Наличностите са елементи от справочника на конкретен магазин, които магазинът показва при продукта, например На склад, По заявка или Предварителна поръчка: име, описание, наличност на склад и доставка в часове, значение за Google Shopping и цвят. Това не е състоянието на запасите.

  • availabilities_list и GET /availabilities?market= (обхват products:read) връщат справочника на един магазин. market е задължителен. Полето manageable казва дали справочникът на този магазин може да се променя в MitoOps, а reason защо не: PLATFORMA (платформата не го поддържа), BEZ_ROZSIRENIA (на магазина с WooCommerce липсва добавката MitoOps) или PROSTREDIE (записът в магазините е изключен в средата).
  • availabilities_change_draft (само MCP, чувствителен обхват availabilities:draft) не записва нищо в магазина. Той проверява промяната, запазва я като предложение, валидно 24 часа, и връща преглед (поле преди и след, предупреждения, блокирания), draftId и approvalUrl.
  • В магазина предложението се записва едва от човек в приложението с бутона Одобряване и запис в Склад → Наличности → Управление, или той го отхвърля. Решават неговите права в момента на кликването, а не обхватът на ключа или съгласието. Моделът или ключът за достъп без човек не записват нищо в магазина.
  • availabilities_draft_get и GET /availabilities/drafts/:draftId (обхват products:read) връщат състоянието на предложението: pending, writing, executed, partial, failed, rejected или expired.

Обхватът availabilities:draft се предлага само на човек, който би имал право и да одобри промяната (право да управлява синхронизацията на склада и да редактира продукти). Съществуващ ключ или съгласие не го наследяват. REST v1 остава само за четене. Параметрите на предложението са в MCP интерфейса, а екранът за одобрение в ръководството Наличности.

Рекламации: настройки за четене и предложение за промяна

Раздел „Рекламации: настройки за четене и предложение за промяна“
  • claims_settings (обхват claims:read) връща процесите с ID и имена на типовете, стъпките и статусите, както и етикетите. С обхвата claims-settings:read и настройките на модула.
  • claims_templates и claims_configuration (обхват claims-settings:read) връщат шаблоните на имейли и протоколи (тема, текст, кога и дали се изпращат автоматично) и останалите настройки: етикети, полета, обратен транспорт и формуляр в магазина, без токена за интеграция.
  • claims_get носи и времевата линия на случая, изпратените имейли и етикетите. Текста на съобщенията само с personal-data:read.
  • claims_config_change_draft (само MCP, чувствителен обхват claims-settings:draft) не променя настройките. Той запазва предложение за промяна на процеси, статуси, етикети и текстове на шаблони за 72 часа с преглед и approvalUrl. Записва го едва човек с право да управлява настройките с бутона Одобряване и запис в Рекламации → Настройки, цялото или изобщо не. Състоянието се връща от claims_config_draft_get.

Параметрите са в MCP интерфейса.

Обратен транспорт, текстове на продукти и автономен запис

Раздел „Обратен транспорт, текстове на продукти и автономен запис“
  • claims_routes (обхват claims-settings:read или който и да е обхват за предложения по рекламации) връща маршрутите за обратен транспорт, адресите на получателя, профилите на куриерите с ID, признак за връщане и обхват, както и ключовете на видовете случаи. claims_routes_change_draft (само MCP, чувствителен обхват claims-routes:draft) предлага създаване, промяна, включване или изключване на маршрут. Сървърът го проверява точно както екранът: профил с разрешено връщане, обхват на куриера, съществуващ адрес и видове, неотрицателна цена и без конфликт с включен маршрут. Изтриване на маршрут чрез MCP няма.
  • products_content_get и GET /products/:code/content?market= (обхват product-content:read) връщат описанието, краткото описание и SEO текстовете на продукт директно от магазина, всяко поле с отпечатък (hash) и дали платформата може да го запише. categories_content_get и GET /categories/:guid/content?market= (обхват category-content:read) връщат същото за категория.
  • products_content_change_draft и categories_content_change_draft (само MCP, чувствителни обхвати product-content:draft и category-content:draft) предлагат нови текстове, до 30 позиции наведнъж. Приемат само полета със съдържание; цена, наличност, достъпност, код, EAN или име не може да се променят така. HTML се проверява: никакъв скрипт освен един блок JSON-LD FAQPage, никакви on…, javascript: или iframe. При одобрение текстът се сравнява със състоянието на магазина и ако някой го е променил междувременно, не се записва нищо (CHANGED_SINCE_DRAFT). Ако магазинът промени текста при запис, резултатът го казва (MODIFIED_BY_PLATFORM). Предложенията се одобряват в Склад → Промени на продукти. В WooCommerce предложение със скрипт (включително JSON-LD) или с обратна наклонена черта се блокира (PLATFORM_STRIPS_SCRIPT, PLATFORM_STRIPS_BACKSLASH): WordPress ги премахва при запис и клиентите биха видели останалото като текст.
  • products_content_policy и GET /product-content/policy?market= (обхват product-content:read) казват без обръщение към магазина какво може да прави вашият ключ с текстовете в даден магазин: дали може да чете (readEnabled) и да предлага (draftEnabled, предложения само през MCP), кои полета платформата записва (supportedFields; SEO полетата в WooCommerce само със SEO добавка), режима на одобрение (approvalMode: human, autonomous или disabled) и дали предложението ще се запише само (autonomousWriteEnabled), лимитите на предложенията и алгоритъма на отпечатъците (sha256). Спрян магазин, неподдържана платформа или ключ на магазина само за четене са status и reason в отговора, а не грешка. Полето category съдържа същото за категориите. Полето structuredData казва дали платформата запазва структурираните данни в описанието на продукта: в WooCommerce не (NOT_SUPPORTED, PLATFORM_STRIPS_SCRIPT; там структурираните данни се управляват от темата на магазина, THEME_MANAGED), в Shoptet да (един блок FAQPage).
  • Автономен запис. По подразбиране всяко предложение (настройки и маршрути на рекламации, текстове на продукти и категории) се записва едва след одобрение от човек. Администратор може да го включи за отделна област в Настройки → API & MCP → Запис чрез AI. Тогава предложението се записва веднага, по същия път като одобрението, от името на човека, който е дал достъп на AI, и само ако този човек точно сега има право да одобри промяната. Иначе предложението чака и отговорът казва защо. Всяка промяна на режима се записва.

Съществуващ ключ или съгласие не наследяват новите обхвати; нужно е ново съгласие.

REST и MCP са четене при поискване. Когато Вашата система трябва да научи за събитие веднага (нова поръчка, плащане, промяна на статус, пратка, доставка, движение на запаси, фактура, рекламация), тя се абонира за него чрез изходящи webhook-ове: MitoOps изпраща на Вашия адрес кратък плик с идентификатори, подписан с HMAC-SHA256, с повторни опити при неуспех и дневник на опитите. Детайла системата след това зарежда чрез REST.

Абонаментите се създават от човек в приложението на същия екран като ключовете. Чрез REST и MCP endpoint-ите само се четат (webhooks:read, без тайната). Endpoint може да се използва и като стъпка в автоматизация. Подробно в изходящите webhook-ове.

API & MCP и webhook-овете са част от всяка платена тарифа от Start нагоре. Тарифите се различават по броя на активните ключове и endpoint-и, а не по това какво може да се прочете:

Тарифа API & MCP Активни ключове за достъп Webhook endpoint-и
Пробна версия не 0 0
Начинаещ не 0 0
Start да 1 5
Растеж да 2 20
Pro да 5 50
По поръчка да по договаряне по договаряне

Лимитите се прилагат от сървъра: опит за още един ключ или endpoint над лимита завършва с отказ с обяснение. Смяната на ключ и ротацията на тайната на endpoint не заемат място. Понижаването на тарифата не отменя съществуващите ключове и endpoint-и: престава да може да се създаде нов, докато броят не спадне под новия таван. Свързването чрез OAuth не изразходва ключ.

Актуалните стойности за Вашия акаунт, включително използването (активни автоматизации, изпълнения за месеца, имейли, кредити), предоставя account_entitlements / GET /account/entitlements с обхвата account:read. Носи само тарифата, функциите и лимитите, без данни за фактуриране. Актуалният ценоразпис е на mitoops.com/cennik.

Таван на извикванията

Раздел „Таван на извикванията“
Таван На какво се измерва Колко
преди удостоверяване на адреса, от който викате 300 извиквания / 60 s
след удостоверяване на конкретния ключ 600 извиквания / 60 s

Първият пречи на налучкването на ключове, вторият е Ваш и не го споделяте с никого. Превишаването е 429 със заглавки RateLimit-*. Това не е тарифна величина: за броя извиквания не се таксува.

Отговорът при грешка винаги има еднаква форма и носи код:

{ "error": { "code": "store_required", "message": "…", "requestId": "…" } }
Състояние Код Кога
400 invalid_request параметърът не отговаря на описанието (грешна дата, обърнат период, невалиден курсор)
400 store_required извикване върху данни на магазин без market
401 unauthorized липсващ, непознат, отменен или невалиден ключ
403 forbidden ключът няма нужния обхват
403 store_forbidden магазин извън обхвата на ключа
404 not_found записът не съществува (и когато принадлежи на друг магазин)
405 няма всичко различно от GET (REST)
409 conflict записът на черновата е попаднал на друга версия, използван clientRequestId или променен каталог (MCP)
429 rate_limited превишен технически таван на извикванията

Причината за отказ при 401 не се разграничава: разликата би помогнала на този, който налучква ключове. Посочете requestId, когато съобщавате проблем на поддръжката. Чрез MCP грешка, която асистентът може да поправи, идва като резултат от инструмента с флаг isError, а грешка в протокола като грешка на JSON-RPC.

Terminal window
# Поръчки за период, по страници
curl -H "Authorization: Bearer <Вашият ключ>" \
"https://<Вашият адрес>/api/v1/orders?market=sk&from=2026-08-01&to=2026-08-31&limit=50"
# Статистики на доставките за август
curl -H "Authorization: Bearer <Вашият ключ>" \
"https://<Вашият адрес>/api/v1/shipping/stats?market=sk&from=2026-08-01&to=2026-08-31"
# Статистика на рекламациите за август
curl -H "Authorization: Bearer <Вашият ключ>" \
"https://<Вашият адрес>/api/v1/claims/statistics?market=sk&from=2026-08-01&to=2026-08-31"
# Тарифа и лимити на акаунта с използването
curl -H "Authorization: Bearer <Вашият ключ>" \
"https://<Вашият адрес>/api/v1/account/entitlements"

Въпроси, на които след свързването Claude.ai отговаря от данните на MitoOps: „Каква беше медианата на времето за доставка на DHL и GLS за август?“, „Колко поръчки дойдоха от ChatGPT?“, „Какъв е маржът на продукт X за последния месец?“ (с purchase-prices:read), „Колко рекламации са просрочени?“, „Предложи автоматизация, която при неплатена поръчка след три дни изпраща напомняне“ (с automations:write се създава изключена чернова), „Преименувай в магазина SK наличността По заявка на До 5 дни“ (с availabilities:draft се създава предложение, което записвате с одобрение в приложението).

  • Изолация на клиентските пространства. Клиентът се определя изключително от удостоверението. Всеки клиент има собствена база данни.
  • Обхватът на магазините е сечението на списъка от удостоверението и магазините, които имате свързани в момента. При извиквания върху данни на един магазин market е задължителен: липсващ магазин е 400, а магазин извън обхвата 403.
  • Правата на човека. Екранът за съгласие предлага само обхватите, които влезлият човек има сам. Решава собственият набор от права на акаунта.
  • Границите на записите се налагат от услугата, а не от анотацията: черновата на автоматизацията винаги възниква изключена, публикуваната автоматизация не се променя чрез MCP, а предложението за промяна на наличностите не записва нищо в магазина, докато човек не го одобри в приложението.
  • Валидност и отмяна. Токенът за достъп чрез OAuth важи един час, а токенът за обновяване 30 дни. Отмененото съгласие спира всеки токен, възникнал от него. Ключовете могат да бъдат незабавно отменени или сменени.
  • Одит. Всяко извикване е записано с името на възможността, интерфейса и отпечатъка на входа, без стойностите.
  • На какво не можете да разчитате: непублични адреси на приложението (интерфейсът е /api/v1 и /api/mcp, нищо друго), директен достъп до базата данни (не съществува) и данни за достъп (интерфейсът не ги предоставя).