Pentru dezvoltatori
Verificat
Pe scurt
Secțiune intitulată „Pe scurt”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.
REST: doar citire
Secțiune intitulată „REST: doar citire”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.
MCP: citire și scrieri restrânse
Secțiune intitulată „MCP: citire și scrieri restrânse”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.
OAuth: conectare în numele unui om
Secțiune intitulată „OAuth: conectare în numele unui om”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.
Cheia de acces
Secțiune intitulată „Cheia de acces”Pentru un server care apelează un server sau pentru propriul dumneavoastră program:
- În aplicație deschideți Setări → API & MCP și apăsați Cheie nouă.
- Introduceți un nume după care veți recunoaște cheia mai târziu.
- Alegeți domeniile, magazinele online și interfețele (REST, MCP sau ambele).
- 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ă>Domenii de permisiuni
Secțiune intitulată „Domenii de permisiuni”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.
Date personale
Secțiune intitulată „Date personale”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ă abiapersonal-data:read, cifra de afaceri și LTV abiareports: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 cucustomerEmailHashde 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ă abiapersonal-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.
Automatizări: scrierea sigură a ciornei
Secțiune intitulată „Automatizări: scrierea sigură a ciornei”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_draftcreează o ciornă în starea dezactivată: nu atinge versiunea publicată, declanșatorii sau rularea;automations_update_drafteditează 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_draftpropune 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șiGET /availabilities?market=(domeniulproducts:read) returnează nomenclatorul unui singur magazin online;marketeste obligatoriu. Câmpulmanageablespune dacă nomenclatorul acelui magazin online poate fi modificat în MitoOps, iarreasonde ce nu:PLATFORMA(platforma nu permite),BEZ_ROZSIRENIA(magazinului online WooCommerce îi lipsește extensia MitoOps) sauPROSTREDIE(scrierea în magazinele online este dezactivată în mediu).availabilities_change_draft(doar MCP, domeniul sensibilavailabilities: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șiapprovalUrl.- Î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șiGET /availabilities/drafts/:draftId(domeniulproducts:read) returnează starea propunerii:pending,writing,executed,partial,failed,rejectedsauexpired.
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(domeniulclaims:read) returnează procesele cu ID-urile și denumirile tipurilor, pașilor și stărilor, precum și etichetele; cu domeniulclaims-settings:readși setările modulului.claims_templatesșiclaims_configuration(domeniulclaims-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_getpoartă și axa temporală a cazului, e-mailurile trimise și etichetele; textul mesajelor doar cupersonal-data:read.claims_config_change_draft(doar MCP, domeniul sensibilclaims-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 șiapprovalUrl; 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.
Transport retur, texte de produs și scriere autonomă
Secțiune intitulată „Transport retur, texte de produs și scriere autonomă”claims_routes(domeniulclaims-settings:readsau 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 sensibilclaims-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șiGET /products/:code/content?market=(domeniulproduct-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șiGET /categories/:guid/content?market=(domeniulcategory-content:read) returnează același lucru pentru o categorie.products_content_change_draftșicategories_content_change_draft(doar MCP, domeniile sensibileproduct-content:draftșicategory-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:sauiframe. 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șiGET /product-content/policy?market=(domeniulproduct-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,autonomoussaudisabled) ș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 suntstatusșireasonîn răspuns, nu o eroare. Câmpulcategoryconține același lucru pentru categorii. CâmpulstructuredDataspune 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 blocFAQPage).- 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.
Webhookuri de ieșire
Secțiune intitulată „Webhookuri de ieșire”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.
Limitele contului
Secțiune intitulată „Limitele contului”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.
Plafoanele apelurilor
Secțiune intitulată „Plafoanele apelurilor”| 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.
# Comenzi pentru o perioadă, pe paginicurl -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 augustcurl -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 augustcurl -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 utilizareacurl -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).
Securitate
Secțiune intitulată „Securitate”- 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,
marketeste obligatoriu: un magazin online lipsă înseamnă400, un magazin online în afara domeniului403. - 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ă).