Sari la conținut

Pentru dezvoltatori

Verificat

MitoOps are o interfață publică cu trei forme, peste același strat normalizat de date. Diferă prin cine întreabă și ce are voie:

Formă Direcție Ce are voie
API REST (/api/v1) programul dumneavoastră întreabă doar citire: răspunde exclusiv la GET, nicio operație nu schimbă nimic
MCP (/api/mcp) o aplicație AI întreabă citirea acelorași date și, în plus, scrieri restrânse în spatele domeniilor sensibile, pe care omul le acordă explicit: automations:write (o ciornă de automatizare dezactivată și o propunere de modificare a uneia care rulează, publicată de om), coupons:write și coupons:delete (cupon de reducere cu previzualizare și confirmare), affiliate:write (gestionarea programului de parteneriat: contul partenerului, textele portalului, șabloanele, campaniile, politica documentelor), affiliate:approve (decizia asupra unui singur comision numit; plățile rămân în aplicație), availabilities:draft (propunerea de modificare a nomenclatorului de disponibilități, pe care o scrie în magazinul online abia omul, prin aprobare în aplicație) și claims-settings:draft (propunerea de modificare a setărilor reclamațiilor, pe care o scrie abia omul, prin aprobare în aplicație). De asemenea claims-routes:draft, product-content:draft și category-content:draft: propunerea de transport retur al reclamațiilor și de texte ale produselor și categoriilor, pe care o scrie omul prin aprobare în aplicație sau imediat, dacă clientul activează conștient scrierea autonomă pentru acea zonă. Nimic altceva nu se creează și nu se modifică prin MCP
Webhookuri de ieșire MitoOps vă trimite un mesaj semnat despre un eveniment (comandă, plată, expediere, stoc, factură, reclamație) la adresa dumneavoastră

Interfața oferă în prezent 130 instrumente MCP (102 pentru citire, 28 pentru scriere în spatele unor domenii sensibile: ciorna și revizia unei automatizări, cupoane de reducere, administrarea programului de afiliere și propuneri de modificare a disponibilităților, a setărilor și a transportului retur pentru reclamații și a textelor produselor și categoriilor, pe care le înregistrează doar un om, aprobându-le în aplicație, dacă clientul nu activează conștient scrierea autonomă pentru acea zonă), 101 rute REST (toate doar pentru citire) și 32 domenii de permisiuni, dintre care 13 sensibile, în 19 zone de date. Numerele rezultă din catalogul aplicației la construirea acestei pagini, nu sunt scrise de mână.

Ce citiți prin REST și MCP: magazine online, comenzi, produse și categorii, stocuri cu istoricul mișcărilor, facturi și note de credit, expedieri și statistici de livrare, trafic și canale, rapoarte financiare și vânzări, directorul clienților și analiza clienților sub pseudonime, furnizori, reclamații cu statistică, programul de parteneriat, automatizări, nomenclatorul de disponibilități al magazinelor online, endpointuri webhook și tariful contului cu limitele.

Adresa este /api/v1 pe domeniul aplicației dumneavoastră. Apelurile, parametrii, forma răspunsului, perioada și paginarea sunt în interfața REST. Descrierea care poate fi citită automat se află la /api/v1/openapi.json, în spatele aceleiași chei; un om autentificat o deschide și din ecranul Setări → API & MCP. Descrierea rezultă din aceeași sursă ca interfața, deci nu se poate despărți de ea.

Orice altceva decât GET primește 405 înainte ca serverul să se uite la cheie. Nu este o restricție temporară: REST v1 nu are apeluri de scriere, iar scrierile MCP nu au ajuns în el intenționat. O propunere de modificare a disponibilităților doar o citiți prin REST (starea ei); nu se poate pregăti prin REST.

Adresa este /api/mcp. MitoOps este un server MCP la distanță standard (Model Context Protocol, un protocol deschis, independent de furnizorul AI); se conectează orice aplicație care acceptă MCP la distanță prin HTTP, cu OAuth sau cu cheie de acces. Claude.ai este clientul verificat în producție; procedura exactă este în interfața MCP.

Instrumentele MCP se bazează pe aceleași capacități ca REST: nu este o a doua interfață cu propriile interogări. Lista instrumentelor este guvernată de domeniile cheii sau ale consimțământului: un instrument în afara domeniului nu există pentru aplicație. Fiecare instrument poartă adnotări conform reviziei protocolului 2026-07-28 (readOnlyHint, destructiveHint, idempotentHint), din care aplicația AI știe dacă este vorba de citire sau de scriere.

O aplicație AI care acceptă MCP la distanță cu OAuth nu se conectează cu o cheie. Îi introduceți adresa /api/mcp, ea vă trimite la autentificarea în MitoOps (inclusiv cu al doilea factor), iar pe ecranul de consimțământ alegeți ce are voie să citească, la ce magazine online se referă și ce scrieri are voie să facă (ciorne de automatizare, cupoane, gestionarea programului de parteneriat, decizia asupra comisionului, propuneri de modificare a disponibilităților). Parola nu o vede niciodată aplicația.

Ce se transmite decide omul autentificat, și niciodată mai mult decât are voie el însuși. Cine nu are drept asupra prețurilor de achiziție nu îl poate transmite mai departe; cine nu are voie să editeze automatizări nici nu vede domeniul automations:write pe ecranul de consimțământ. Consimțământul OAuth nu consumă o cheie de acces din limita tarifului, dar necesită un tarif cu API & MCP: fără el, ecranul de consimțământ nu se deschide și spune de ce.

Permisiunea poate fi retrasă oricând în Setări → API & MCP, iar toate accesele din ea încetează să fie valabile în același moment.

Pentru un server care apelează un server sau pentru propriul dumneavoastră program:

  1. În aplicație deschideți Setări → API & MCP și apăsați Cheie nouă.
  2. Introduceți un nume după care veți recunoaște cheia mai târziu.
  3. Alegeți domeniile, magazinele online și interfețele (REST, MCP sau ambele).
  4. Alegeți valabilitatea și creați cheia.

Cheia se trimite în antet; în adresă nu este acceptată intenționat (adresele se scriu în jurnale și în istoricul browserului):

Authorization: Bearer <cheia dumneavoastră>

Nici cheia, nici consimțământul nu văd niciodată mai mult decât li s-a atribuit. Tabelul rezultă din catalogul aplicației:

Domeniu Acces Sensibil La ce dă acces
stores:read citire nu lista magazinelor online cu codul lor
orders:read citire nu comenzi, inclusiv articolele; adresa doar ca țară și oraș, sumele doar cu reports:read
products:read citire nu produse, categorii și prețul de vânzare din fișa produsului
invoices:read citire nu facturi cu articole, note de credit și facturi proforma
shipping:read citire nu expedieri, evenimente de urmărire, curieri (fără date de acces) și statistici de livrare
analytics:read citire nu trafic, canale, rezultate în căutare și acoperirea comenzilor prin măsurare
search-console:read citire nu performanța în Căutarea Google din arhiva sincronizată: zile, interogări, pagini, țări și dispozitive
inventory:read citire nu starea stocurilor și istoricul mișcărilor de stoc
reports:read citire sensibil cifra de afaceri comparată și pe luni, publicitate (cheltuieli, buget, ROAS, PNO, CPA, MER), când vin comenzile, sursele cifrei de afaceri; rezumatul financiar al perioadei (cifră de afaceri, TVA, costuri, rezultat), vânzări pe produse, performanță pe comenzi, clienți ca pseudonime și sume în lista în masă a comenzilor
purchasing:read citire sensibil furnizori, ofertele lor și componentele de cost
claims:read citire nu reclamații și retururi cu legături către comandă, nota de credit și coletul retur, axa temporală și e-mailurile trimise ale cazului; statistica și procesele modulului
automations:read citire nu catalogul declanșatorilor și acțiunilor, lista automatizărilor, setarea lor, istoricul rulărilor și validarea propunerii
automations:write scriere sensibil crearea sau editarea unei ciorne de automatizare dezactivate și propunerea de modificare a unei automatizări activate (revizie); activarea ciornei și publicarea reviziei le poate face doar un om în aplicație, automatizarea care rulează nu se schimbă prin propunere
webhooks:read citire nu catalogul evenimentelor, endpointuri fără secret și jurnalul livrărilor fără corp
account:read citire nu tariful, funcțiile activate și limitele cu utilizarea actuală
affiliate:read citire nu programul de parteneriat: prezentare generală, parteneri, campanii, coduri de reducere, conversii, plăți, statistică, setare, documente, portalul public, șabloane de e-mail, articole de ajutor și cereri de cod; contactul partenerului doar cu personal-data:read, datele bancare și fiscale niciodată
affiliate:write scriere sensibil gestionarea programului de parteneriat: decizia asupra contului partenerului (aprobare, respingere, suspendare), rezolvarea cererii de cod, setarea programului în afara banilor, textele portalului, articolele de ajutor, șabloanele de e-mail, campaniile și politica documentelor; decizia asupra comisionului are propriul domeniu, plățile rămân în aplicație
affiliate:approve scriere sensibil decizia asupra unui singur comision din programul de parteneriat după id-ul conversiei: aprobare, respingere sau anulare (respingerea și anularea cu motiv, partenerul primește un e-mail); cel plătit nu se întoarce, aprobarea în masă și plățile nu există din exterior
customers:read citire nu directorul clienților: pseudonim, magazine online, țară, limbă, numere și date de-a lungul întregii relații; numele, firma, e-mailul și telefonul doar cu personal-data:read, cifra de afaceri și LTV doar cu reports:read
coupons:read citire nu cupoanele de reducere ale magazinului online cu valoarea reducerii și valabilitatea, suportul platformei, linkul de activare și pregătirea lui
coupons:write scriere sensibil crearea unui cupon în magazinele online alese (unul existent cu alți parametri nu se rescrie fără consimțământ explicit)
coupons:delete scriere sensibil ștergerea ireversibilă a unui cupon în magazinul online ales, după previzualizare și confirmare explicită; un cupon cu o dependență activă (AI Mailing, fereastra de înregistrare, o campanie programată, un partener) nu se șterge
chatbot:read citire nu statistica chatbotului web pentru o perioadă: afișările și clicurile mesajului (rata de clic), deschiderile chatului inclusiv cum au apărut, numărul de conversații și mesaje, rezultate, evaluările clienților, pâlnia de înscriere la newsletter și evaluarea deterministă a subiectelor conversațiilor (ponderi, produse, candidați pentru lacune); doar totaluri
chatbot-conversations:read citire sensibil conversațiile clienților cu chatbotul web: listă cu prima întrebare și transcrierea cu sursele răspunsurilor botului; clientul este doar o cheie aleatorie a conversației, e-mailul, telefonul și IBAN-ul din text doar cu personal-data:read, altfel înlocuite cu un marcaj; doar în cadrul retenției magazinului online
availabilities:draft scriere sensibil propunerea de modificare a nomenclatorului de disponibilități al magazinului online (creare, editare, ștergere) cu previzualizare; o scrie în magazinul online abia un om cu permisiune, când o aprobă în aplicație, altfel expiră după 24 de ore; nu modifică atribuirea disponibilităților la produse și nici starea stocurilor
claims-settings:read citire nu șabloanele de e-mail și de procese-verbale ale reclamațiilor, setările modulului, etichetele, transportul retur și formularul din magazinul online; fără tokenuri de acces
claims-settings:draft scriere sensibil propunerea de modificare a proceselor, stărilor, etichetelor și textelor șabloanelor de reclamații, cu previzualizare; o scrie abia un om cu permisiune, prin aprobare în aplicație, altfel expiră după 72 de ore; nu șterge nimic
claims-routes:draft scriere sensibil o propunere de a crea, modifica, activa sau dezactiva o rută de retur, validată ca pe ecran; o scrie un om aprobând-o în aplicație sau imediat, dacă clientul a activat conștient scrierea autonomă pentru acea zonă; nu șterge niciodată o rută
product-content:read citire nu descrierea, descrierea scurtă și textele SEO ale unui produs direct din magazin, cu amprentă și posibilitatea de scriere pentru fiecare câmp
product-content:draft scriere sensibil propunere de texte noi pentru produse (cel mult 30 odată), doar câmpuri de conținut, niciodată preț, stoc, cod sau EAN; o scrie un om prin aprobare sau imediat, la scrierea autonomă activată conștient
category-content:read citire nu descrierea de sus și de jos și textele SEO ale unei categorii, cu amprentă și posibilitate de scriere în funcție de platforma magazinului
category-content:draft scriere sensibil propunere de texte noi pentru categorii (cel mult 30 odată), doar câmpurile pe care platforma magazinului le poate scrie; o scrie un om prin aprobare sau imediat, la scrierea autonomă activată conștient

Domeniile sensibile nu sunt preselectate pe ecranul de emitere a cheii și nici pe ecranul de consimțământ: omul trebuie să le bifeze în mod conștient. purchase-prices:read și personal-data:read nu au un instrument propriu; decid asupra câmpurilor din răspunsurile celorlalte. Un câmp lipsă nu este zero: lipsește.

Domeniile sunt un angajament public: se schimbă doar în mod compatibil retroactiv, iar o credențială emisă mai devreme nu moștenește un domeniu nou (domeniile sunt înscrise în ea nominal). De aceea, o cheie sau un consimțământ mai vechi nu au primit datele personale când, la 2. 9. 2026, a apărut un domeniu propriu pentru ele, și nu vor primi nici scrierea ciornei: pentru aceasta este nevoie de un consimțământ nou sau de o cheie nouă.

Unei chei existente i se poate adăuga un domeniu nou și fără înlocuirea cheii: Setări → API & MCP → Editează domeniile. Valoarea cheii rămâne aceeași, integrarea care o folosește rulează în continuare și primește noul domeniu de la următoarea cerere. Modificarea o face o persoană cu dreptul de a gestiona cheile; tariful și domeniile sensibile se verifică la fel ca la emitere.

Interfața furnizează date operaționale, iar pe cele personale doar cu domeniul personal-data:read:

  • Comenzile și reclamațiile returnează fără el doar țara și orașul: nu numele, e-mailul, telefonul sau strada.
  • Directorul clienților (customers:read) furnizează singur doar pseudonimul, magazinele online, țara, limba, numerele și datele. Numele, firma, e-mailul, telefonul și genul pentru marketing le adaugă abia personal-data:read, cifra de afaceri și LTV abia reports:read: un câmp lipsă se elimină, nu se pune pe zero.
  • Analiza clienților (customers/performance) nu are deloc date personale: clientul este un pseudonim (amprenta e-mailului), același cu customerEmailHash de pe documente și din director.
  • Contactul furnizorului și al partenerului programului se află în spatele aceluiași domeniu.
  • Conversațiile cu chatbotul web (chatbot-conversations:read, sensibil) poartă doar o cheie aleatorie a conversației, fără nume, e-mail, IP sau cookie. E-mailul, telefonul și IBAN-ul pe care clientul le-a scris în text le furnizează abia personal-data:read; fără el, în locul lor apare un marcaj.
  • Datele bancare și fiscale ale partenerilor (IBAN, IČO, DIČ, datele de facturare ale plăților), notele interne, parolele și secretele celui de-al doilea factor nu se furnizează niciodată: niciun domeniu nu le deschide.
  • Webhookurile trimit identificatori și stări, nu conținutul comenzii sau datele clientului.

Fiecare apel se înregistrează în audit fără valorile intrării, doar cu numele câmpurilor și amprenta.

Asistentul AI are voie să propună o automatizare, nu are voie să o activeze. Cu domeniul automations:write (sensibil, niciodată preselectat, oferit doar unui om cu dreptul de a edita automatizări):

  • automations_create_draft creează o ciornă în starea dezactivată: nu atinge versiunea publicată, declanșatorii sau rularea;
  • automations_update_draft editează doar o ciornă pe care nu a publicat-o încă nimeni; o ciornă începută în editorul aplicației nu se rescrie;
  • ciorna apare în Automatizări ca orice propunere în lucru, iar activarea, publicarea sau pornirea ei o poate face doar un om în aplicație, cu dreptul de aprobare;
  • automations_revision_create_draft propune o modificare a unei automatizări publicate și activate ca revizie; versiunea care rulează nu se schimbă până când omul nu încarcă revizia în editor și nu o publică (automations_revision_update_draft, automations_revision_discard_draft).

Valorile câmpurilor care în editor se aleg dintr-o listă (starea comenzii, transportul, plata, starea reclamației…) le returnează automations_options, în forma pe care o salvează editorul. O valoare care nu există în magazinul online și un text substituent de tipul DOPLNIT_… sunt o eroare de validare, nu un succes.

Crearea este idempotentă prin clientRequestId, editarea necesită expectedVersion, iar ambele necesită catalogVersion din automations_catalog: un catalog învechit este un conflict, nu o scriere tăcută. O propunere care atinge un declanșator necunoscut, un magazin online în afara domeniului sau un endpoint webhook străin nu se salvează. Detalii în interfața MCP.

Disponibilități: propunerea de modificare pe care o aprobă omul

Secțiune intitulată „Disponibilități: propunerea de modificare pe care o aprobă omul”

Disponibilitățile sunt intrări din nomenclatorul unui anumit magazin online, pe care magazinul online le arată la produs, de exemplu În stoc, La comandă sau Precomandă: denumire, descriere, reaprovizionare și livrare în ore, semnificația pentru Google Shopping și culoare. Nu sunt starea stocurilor.

  • availabilities_list și GET /availabilities?market= (domeniul products:read) returnează nomenclatorul unui singur magazin online; market este obligatoriu. Câmpul manageable spune dacă nomenclatorul acelui magazin online poate fi modificat în MitoOps, iar reason de ce nu: PLATFORMA (platforma nu permite), BEZ_ROZSIRENIA (magazinului online WooCommerce îi lipsește extensia MitoOps) sau PROSTREDIE (scrierea în magazinele online este dezactivată în mediu).
  • availabilities_change_draft (doar MCP, domeniul sensibil availabilities:draft) nu scrie nimic în magazinul online. Verifică modificarea, o salvează ca propunere valabilă 24 de ore și returnează previzualizarea (câmpul înainte și după, avertismente, blocaje), draftId și approvalUrl.
  • În magazinul online propunerea o scrie abia un om în aplicație, cu butonul Aprobare și scriere din Stoc → Disponibilități → Administrare, sau o respinge. Decid aici drepturile lui din momentul clicului, nu domeniul cheii sau al consimțământului. Modelul sau cheia de acces nu scriu nimic în magazinul online fără om.
  • availabilities_draft_get și GET /availabilities/drafts/:draftId (domeniul products:read) returnează starea propunerii: pending, writing, executed, partial, failed, rejected sau expired.

Domeniul availabilities:draft este oferit doar unui om care ar avea voie să și aprobe modificarea (dreptul de a administra sincronizarea stocului și de a edita produse). O cheie sau un consimțământ existent nu îl moștenește. REST v1 rămâne doar pentru citire. Parametrii propunerii sunt în interfața MCP, ecranul de aprobare în ghidul Disponibilități.

Reclamații: setările pentru citire și propunerea de modificare

Secțiune intitulată „Reclamații: setările pentru citire și propunerea de modificare”
  • claims_settings (domeniul claims:read) returnează procesele cu ID-urile și denumirile tipurilor, pașilor și stărilor, precum și etichetele; cu domeniul claims-settings:read și setările modulului.
  • claims_templates și claims_configuration (domeniul claims-settings:read) returnează șabloanele de e-mail și de procese-verbale (subiect, text, când și dacă se trimit automat) și celelalte setări: etichete, câmpuri, transportul retur și formularul din magazinul online, fără tokenul de integrare.
  • claims_get poartă și axa temporală a cazului, e-mailurile trimise și etichetele; textul mesajelor doar cu personal-data:read.
  • claims_config_change_draft (doar MCP, domeniul sensibil claims-settings:draft) nu modifică setările. Salvează o propunere de modificare a proceselor, stărilor, etichetelor și textelor șabloanelor pentru 72 de ore, cu previzualizare și approvalUrl; o scrie abia un om cu dreptul de a gestiona setările, cu butonul Aprobați și scrieți din Reclamații → Setări, integral sau deloc. Starea o returnează claims_config_draft_get.

Parametrii sunt în interfața MCP.

  • claims_routes (domeniul claims-settings:read sau oricare domeniu de propuneri pentru reclamații) returnează rutele de transport retur, adresele destinatarului, profilurile de curier cu ID, indicator de retur și acoperire, precum și cheile tipurilor de caz. claims_routes_change_draft (doar MCP, domeniul sensibil claims-routes:draft) propune crearea, modificarea, activarea sau dezactivarea unei rute. Serverul o verifică exact ca ecranul: profil cu returul activat, acoperirea curierului, adresă și tipuri existente, preț nenegativ și niciun conflict cu o rută activă. Ștergerea unei rute prin MCP nu există.
  • products_content_get și GET /products/:code/content?market= (domeniul product-content:read) returnează descrierea, descrierea scurtă și textele SEO ale unui produs direct din magazin, fiecare câmp cu amprentă (hash) și cu informația dacă platforma îl poate scrie. categories_content_get și GET /categories/:guid/content?market= (domeniul category-content:read) returnează același lucru pentru o categorie.
  • products_content_change_draft și categories_content_change_draft (doar MCP, domeniile sensibile product-content:draft și category-content:draft) propun texte noi, cel mult 30 de elemente odată. Acceptă doar câmpuri de conținut; prețul, stocul, disponibilitatea, codul, EAN-ul sau numele nu se pot schimba astfel. HTML-ul este verificat: niciun script în afară de un bloc JSON-LD FAQPage, fără on…, javascript: sau iframe. La aprobare, textul este comparat cu starea magazinului, iar dacă cineva l-a modificat între timp, nu se scrie nimic (CHANGED_SINCE_DRAFT). Dacă magazinul modifică textul la salvare, rezultatul o spune (MODIFIED_BY_PLATFORM). Propunerile se aprobă în Stoc → Modificări produse. Pe WooCommerce, o propunere cu script (inclusiv JSON-LD) sau cu bară oblică inversă este blocată (PLATFORM_STRIPS_SCRIPT, PLATFORM_STRIPS_BACKSLASH): WordPress le elimină la salvare, iar restul l-ar vedea clienții ca text.
  • products_content_policy și GET /product-content/policy?market= (domeniul product-content:read) spun, fără apel către magazin, ce poate face cheia dumneavoastră cu textele pe un anumit magazin: dacă poate citi (readEnabled) și propune (draftEnabled, propuneri doar prin MCP), ce câmpuri scrie platforma (supportedFields; câmpurile SEO pe WooCommerce doar cu un modul SEO), modul de aprobare (approvalMode: human, autonomous sau disabled) și dacă o propunere se scrie singură (autonomousWriteEnabled), limitele propunerilor și algoritmul amprentelor (sha256). Un magazin suspendat, o platformă nesuportată sau o cheie de magazin doar pentru citire sunt status și reason în răspuns, nu o eroare. Câmpul category conține același lucru pentru categorii. Câmpul structuredData spune dacă platforma păstrează datele structurate în descrierea produsului: pe WooCommerce nu (NOT_SUPPORTED, PLATFORM_STRIPS_SCRIPT; acolo datele structurate sunt gestionate de tema magazinului, THEME_MANAGED), pe Shoptet da (un bloc FAQPage).
  • Scriere autonomă. Implicit, fiecare propunere (setările și rutele reclamațiilor, textele produselor și categoriilor) este scrisă doar după aprobarea unui om. Un administrator o poate activa pe zone în Setări → API & MCP → Scriere prin AI. Propunerea se scrie atunci imediat, pe aceeași cale ca o aprobare, în numele persoanei care a acordat accesul AI, și doar dacă acea persoană are chiar acum dreptul să aprobe modificarea. Altfel, propunerea așteaptă și răspunsul spune de ce. Fiecare schimbare a modului este înregistrată.

Cheile și consimțămintele existente nu moștenesc noile domenii; este nevoie de un consimțământ nou.

REST și MCP sunt citire la cerere. Când sistemul dumneavoastră trebuie să afle imediat de un eveniment (comandă nouă, plată, schimbare de stare, expediere, livrare, mișcare de stoc, factură, reclamație), se abonează la el prin webhookuri de ieșire: MitoOps trimite la adresa dumneavoastră un plic scurt cu identificatori, semnat HMAC-SHA256, cu repetare la eșec și cu un jurnal al încercărilor. Detaliul îl încarcă apoi sistemul prin REST.

Abonamentele le creează un om în aplicație, pe același ecran ca și cheile; prin REST și MCP endpointurile doar se citesc (webhooks:read, fără secret). Un endpoint poate fi folosit și ca pas al unei automatizări. Detalii în webhookurile de ieșire.

API & MCP și webhookurile fac parte din fiecare tarif plătit, începând cu Start. Tarifele diferă prin numărul de chei și endpointuri active, nu prin ceea ce se poate citi:

Tarif API & MCP Chei de acces active Endpointuri webhook
Versiune de probă — 0 0
Începător — 0 0
Start da 1 5
Creștere da 2 20
Pro da 5 50
Personalizat da conform acordului conform acordului

Limitele le impune serverul: încercarea de a crea încă o cheie sau un endpoint peste limită se încheie cu un refuz, cu explicație. Înlocuirea cheii și rotirea secretului endpointului nu consumă un loc. Reducerea tarifului nu anulează cheile sau endpointurile existente: încetează doar posibilitatea de a crea unele noi, până când numărul scade sub noul plafon. Conectarea prin OAuth nu consumă o cheie.

Valorile actuale pentru contul dumneavoastră, inclusiv utilizarea (automatizări active, rulări pe lună, e-mailuri, credite), le furnizează account_entitlements / GET /account/entitlements cu domeniul account:read. Conțin doar tariful, funcțiile și limitele, fără date de facturare. Lista de prețuri actuală este la mitoops.com/cennik.

Plafon Pe ce se măsoară Cât
înainte de verificare pe adresa de pe care apelați 300 de apeluri / 60 s
după verificare pe o anumită cheie 600 de apeluri / 60 s

Primul împiedică ghicirea cheilor, al doilea este al dumneavoastră și nu îl împărțiți cu nimeni. Depășirea înseamnă 429, cu antetele RateLimit-*. Nu este o mărime tarifară: numărul de apeluri nu se facturează.

Răspunsul la o eroare are întotdeauna aceeași formă și poartă un cod:

{ "error": { "code": "store_required", "message": "…", "requestId": "…" } }
Stare Cod Când
400 invalid_request parametrul nu corespunde descrierii (dată greșită, perioadă inversată, cursor nevalid)
400 store_required un apel asupra datelor unui magazin online fără market
401 unauthorized cheie lipsă, necunoscută, revocată sau nevalidă
403 forbidden cheia nu are domeniul necesar
403 store_forbidden magazin online în afara domeniului cheii
404 not_found înregistrarea nu există (și atunci când aparține altui magazin online)
405 — orice altceva decât GET (REST)
409 conflict scrierea ciornei a întâlnit altă versiune, un clientRequestId deja folosit sau un catalog modificat (MCP)
429 rate_limited plafonul tehnic al apelurilor a fost depășit

Motivul refuzului la 401 nu se distinge: diferența l-ar ajuta pe cel care ghicește cheile. Indicați requestId când raportați o problemă asistenței. Prin MCP, o eroare pe care asistentul o poate corecta sosește ca rezultat al instrumentului, cu semnalul isError; o eroare de protocol, ca eroare JSON-RPC.

Terminal window
# Comenzi pentru o perioadă, pe pagini
curl -H "Authorization: Bearer <cheia dumneavoastră>" \
"https://<adresa dumneavoastră>/api/v1/orders?market=sk&from=2026-08-01&to=2026-08-31&limit=50"
# Statistici de livrare pentru august
curl -H "Authorization: Bearer <cheia dumneavoastră>" \
"https://<adresa dumneavoastră>/api/v1/shipping/stats?market=sk&from=2026-08-01&to=2026-08-31"
# Statistica reclamațiilor pentru august
curl -H "Authorization: Bearer <cheia dumneavoastră>" \
"https://<adresa dumneavoastră>/api/v1/claims/statistics?market=sk&from=2026-08-01&to=2026-08-31"
# Tariful și limitele contului, cu utilizarea
curl -H "Authorization: Bearer <cheia dumneavoastră>" \
"https://<adresa dumneavoastră>/api/v1/account/entitlements"

Întrebări la care, după conectare, Claude.ai răspunde din datele MitoOps: „Care a fost mediana timpului de livrare DHL și GLS în august?”, „Câte comenzi au venit din ChatGPT?”, „Care este marja produsului X în ultima lună?” (cu purchase-prices:read), „Câte reclamații au depășit termenul?”, „Propune o automatizare care, la o comandă neplătită, trimite după trei zile o notificare” (cu automations:write: se creează o ciornă dezactivată), „Redenumește în magazinul online SK disponibilitatea La comandă în În 5 zile” (cu availabilities:draft se creează o propunere, pe care o scrieți prin aprobare în aplicație).

  • Izolarea spațiilor clienților. Clientul provine exclusiv din credențială; fiecare client are propria bază de date.
  • Domeniul magazinelor online este intersecția dintre lista din credențială și magazinele online pe care le aveți conectate în acel moment. La apelurile asupra datelor unui singur magazin online, market este obligatoriu: un magazin online lipsă înseamnă 400, un magazin online în afara domeniului 403.
  • Drepturile omului. Ecranul de consimțământ oferă doar domeniile pe care le are omul autentificat; decide setul propriu de permisiuni al contului.
  • Limitele scrierilor le impune serviciul, nu o adnotare: ciorna de automatizare apare întotdeauna dezactivată, o automatizare publicată nu se schimbă prin MCP, iar propunerea de modificare a disponibilităților nu scrie nimic în magazinul online până nu o aprobă omul în aplicație.
  • Valabilitate și revocare. Tokenul de acces OAuth este valabil o oră, cel de reîmprospătare 30 de zile; un consimțământ revocat oprește orice token care a rezultat din el. Cheile pot fi revocate sau înlocuite imediat.
  • Audit. Fiecare apel este înregistrat cu numele capacității, interfața și amprenta intrării, fără valori.
  • Pe ce nu vă puteți baza: adresele nepublice ale aplicației (interfața este /api/v1 și /api/mcp, nimic altceva), accesul direct la baza de date (nu există) și datele de acces (interfața nu le furnizează).