Prijeđi na sadržaj

Za programere

Provjereno

MitoOps ima javno sučelje u tri oblika nad istim normaliziranim slojem podataka. Razlikuju se po tome tko pita i što smije:

Oblik Smjer Što smije
REST API (/api/v1) Vaš program pita samo čitanje: odgovara isključivo na GET, nijedna operacija ništa ne mijenja
MCP (/api/mcp) AI aplikacija pita čitanje istih podataka i dodatno uski zapisi iza osjetljivih opsega, koje osoba dodjeljuje izričito: automations:write (isključeni koncept automatizacije i prijedlog izmjene automatizacije koja radi, koji objavljuje osoba), coupons:write i coupons:delete (kupon za popust s pregledom i potvrdom), affiliate:write (upravljanje partnerskim programom: račun partnera, tekstovi portala, predlošci, kampanje, pravila dokumenata), affiliate:approve (odluka o jednoj imenovanoj proviziji, isplate ostaju u aplikaciji), availabilities:draft (nacrt izmjene šifrarnika dostupnosti, koji u web trgovinu upisuje tek osoba odobrenjem u aplikaciji) i claims-settings:draft (nacrt promjene postavki reklamacija, koji upisuje tek osoba odobrenjem u aplikaciji). Nadalje claims-routes:draft, product-content:draft i category-content:draft: nacrt povratnog prijevoza reklamacija i tekstova proizvoda i kategorija, koji upisuje osoba odobrenjem u aplikaciji ili odmah ako klijent za to područje svjesno uključi autonomni upis. Ništa drugo putem MCP-a ne nastaje niti se mijenja
Odlazni webhookovi MitoOps šalje Vama potpisana poruka o događaju (narudžba, plaćanje, pošiljka, skladište, račun, reklamacija) na Vašu adresu

Sučelje trenutačno nudi 130 MCP alata (102 za čitanje, 28 za pisanje iza osjetljivih opsega: nacrt i revizija automatizacije, kuponi za popust, upravljanje partnerskim programom te prijedlozi izmjena dostupnosti, postavki i povratnog prijevoza reklamacija te tekstova proizvoda i kategorija, koje upisuje tek čovjek odobrenjem u aplikaciji, osim ako klijent za to područje svjesno ne uključi autonomni upis), 101 REST ruta (sve samo za čitanje) i 32 opsega ovlasti, od toga 13 osjetljivih, u 19 područja podataka. Brojevi nastaju iz kataloga aplikacije pri izradi ove stranice, nitko ih ne upisuje ručno.

Što ćete putem REST-a i MCP-a pročitati: web trgovine, narudžbe, proizvode i kategorije, zalihe s poviješću kretanja, račune i odobrenja, pošiljke i statistike dostave, posjećenost i kanale, financijske izvještaje i prodaju, imenik kupaca i analitiku kupaca u pseudonimima, dobavljače, reklamacije sa statistikom, partnerski program, automatizacije, šifrarnik dostupnosti web trgovina, webhook endpointe i tarifu računa s ograničenjima.

Adresa je /api/v1 na domeni Vaše aplikacije. Pozivi, parametri, oblik odgovora, razdoblje i straničenje nalaze se u REST sučelju. Strojno čitljiv opis nalazi se na /api/v1/openapi.json iza istog ključa; prijavljena osoba otvara ga i sa zaslona Postavke → API & MCP. Opis nastaje iz istog izvora kao sučelje, pa se s njim ne razilazi.

Sve osim GET dobiva 405 prije nego što poslužitelj pogleda ključ. To nije privremeno ograničenje: REST v1 nema pozive za zapis, a zapisi MCP-a namjerno u njega nisu ušli. Nacrt izmjene dostupnosti putem REST-a samo čitate (njegovo stanje), a pripremiti ga putem REST-a nije moguće.

Adresa je /api/mcp. MitoOps je standardni udaljeni MCP poslužitelj (Model Context Protocol, otvoreni protokol neovisan o dobavljaču AI-ja); povezuje se svaka aplikacija koja podržava udaljeni MCP putem HTTP-a s OAuthom ili s pristupnim ključem. Claude.ai je klijent provjeren u produkciji; točan postupak je u MCP sučelju.

MCP alati stoje nad istim sposobnostima kao REST: to nije drugo sučelje s vlastitim upitima. Popis alata ravna se prema opsezima ključa ili privole: alat izvan opsega za aplikaciju ne postoji. Svaki alat nosi anotacije prema reviziji protokola 2026-07-28 (readOnlyHint, destructiveHint, idempotentHint), iz kojih AI aplikacija zna je li riječ o čitanju ili o zapisu.

OAuth: povezivanje u ime osobe

Odjeljak „OAuth: povezivanje u ime osobe”

AI aplikacija koja podržava udaljeni MCP s OAuthom ne povezuje se ključem. Unesete joj adresu /api/mcp, ona Vas šalje na prijavu u MitoOps (i s drugim faktorom), a na zaslonu privole odabirete što smije čitati, na koje se web trgovine to odnosi i koje zapise smije (koncepti automatizacija, kuponi, upravljanje partnerskim programom, odluka o proviziji, nacrti izmjena dostupnosti). Lozinku aplikacija nikada ne vidi.

Što se predaje, odlučuje prijavljena osoba, i nikada više nego što smije sama. Tko nema pravo na nabavne cijene, nema ga kako predati dalje; tko ne smije uređivati automatizacije, opseg automations:write na zaslonu privole uopće neće vidjeti. OAuth privola ne troši pristupni ključ iz ograničenja tarife, ali zahtijeva tarifu s API & MCP: bez nje se zaslon privole ne otvara i kaže zašto.

Dopuštenje se može bilo kada oduzeti u Postavke → API & MCP i svi pristupi iz njega prestaju vrijediti u istom trenutku.

Za poslužitelj koji poziva poslužitelj ili za Vaš vlastiti program:

  1. U aplikaciji otvorite Postavke → API & MCP i pritisnite Novi ključ.
  2. Unesite naziv prema kojem ćete ključ kasnije prepoznati.
  3. Odaberite opsege, web trgovine i sučelja (REST, MCP ili oba).
  4. Odaberite valjanost i izradite ključ.

Ključ se šalje u zaglavlju, u adresi se namjerno ne prima (adrese se zapisuju u logove i povijest preglednika):

Authorization: Bearer <vaš ključ>

Ključ ni privola nikada ne vide više nego što im je dodijeljeno. Tablica nastaje iz kataloga aplikacije:

Opseg Pristup Osjetljiv Čemu daje pristup
stores:read čitanje ne popis web trgovina s kodom
orders:read čitanje ne narudžbe uključujući stavke; adresa samo zemlja i mjesto, iznosi samo s reports:read
products:read čitanje ne proizvode, kategorije i prodajnu cijenu s kartice proizvoda
invoices:read čitanje ne račune sa stavkama, odobrenja i predračune
shipping:read čitanje ne pošiljke, događaje praćenja, dostavne službe (bez pristupnih podataka) i statistike dostave
analytics:read čitanje ne posjećenost, kanale, rezultate u pretraživanju i pokrivenost narudžbi mjerenjem
search-console:read čitanje ne uspješnost u Google pretraživanju iz sinkroniziranog arhiva: dani, upiti, stranice, zemlje i uređaji
inventory:read čitanje ne stanje zaliha i povijest skladišnih kretanja
reports:read čitanje osjetljiv promet s usporedbom i po mjesecima, oglašavanje (troškovi, proračun, ROAS, udio troška u prihodu, CPA, MER), kada stižu narudžbe, izvori prometa; financijski sažetak razdoblja (promet, PDV, troškovi, rezultat), prodaju po proizvodima, učinak po narudžbama, kupce kao pseudonime i iznose u skupnom ispisu narudžbi
purchasing:read čitanje osjetljiv dobavljače, njihove ponude i troškovne sastavnice
claims:read čitanje ne reklamacije i povrate s vezama na narudžbu, odobrenje i povratnu pošiljku, vremensku crtu i poslane e-poruke predmeta; statistiku i procese modula
automations:read čitanje ne katalog okidača i radnji, popis automatizacija, njihove postavke, povijest pokretanja i validaciju nacrta
automations:write pisanje osjetljiv izradu ili uređivanje isključenog koncepta automatizacije i prijedlog izmjene uključene automatizacije (revizija); uključiti koncept i objaviti reviziju može samo osoba u aplikaciji, a automatizacija koja radi prijedlogom se ne mijenja
webhooks:read čitanje ne katalog događaja, endpointe bez tajne i dnevnik dostava bez tijela
account:read čitanje ne tarifu, uključene funkcije i ograničenja s trenutačnom iskorištenošću
affiliate:read čitanje ne partnerski program: pregled, partnere, kampanje, kodove za popust, konverzije, isplate, statistiku, postavke, dokumente, javni portal, predloške e-poruka, članke pomoći i zahtjeve za kod; kontakt partnera samo s personal-data:read, bankovne i porezne podatke nikada
affiliate:write pisanje osjetljiv upravljanje partnerskim programom: odluka o računu partnera (odobriti, odbiti, suspendirati), rješavanje zahtjeva za kod, postavke programa osim novca, tekstovi portala, članci pomoći, predlošci e-poruka, kampanje i pravila dokumenata; odluka o proviziji ima vlastiti opseg, isplate ostaju u aplikaciji
affiliate:approve pisanje osjetljiv odluku o jednoj proviziji partnerskog programa prema id-u konverzije: odobriti, odbiti ili otkazati (odbijanje i otkazivanje uz razlog, partner dobiva e-poruku); isplaćena se ne vraća, skupno odobrenje ni isplate izvana ne postoje
customers:read čitanje ne imenik kupaca: pseudonim, web trgovine, zemlja, jezik, brojevi i datumi za cijeli životni vijek; ime, tvrtka, e-pošta i telefon samo s personal-data:read, promet i LTV samo s reports:read
coupons:read čitanje ne kupone za popust web trgovine s iznosom popusta i valjanošću, podršku platforme, aktivacijsku poveznicu i njezinu spremnost
coupons:write pisanje osjetljiv otvaranje kupona na odabranim web trgovinama (postojeći s drugim parametrima ne prepisuje se bez izričite suglasnosti)
coupons:delete pisanje osjetljiv nepovratno brisanje kupona na odabranoj web trgovini nakon pregleda i izričite potvrde; kupon sa živom ovisnošću (AI Mailing, prozor za registraciju, planirana kampanja, partner) ne briše se
chatbot:read čitanje ne statistiku web chatbota za razdoblje: prikaze i klikove poruke (stopa klikova), otvaranja chata i čime su nastala, broj razgovora i poruka, rezultate, ocjene kupaca, lijevak registracije za newsletter i determinističku procjenu tema razgovora (udjeli, proizvodi, kandidati za prazninu); samo zbrojevi
chatbot-conversations:read čitanje osjetljiv razgovore kupaca s web chatbotom: popis s prvim pitanjem i prijepis s izvorima odgovora bota; kupac je samo nasumični ključ razgovora, e-pošta, telefon i IBAN u tekstu samo s personal-data:read, inače zamijenjeni oznakom; samo u okviru razdoblja čuvanja web trgovine
availabilities:draft pisanje osjetljiv nacrt izmjene šifrarnika dostupnosti web trgovine (otvoriti, urediti, izbrisati) s pregledom; u web trgovinu upisuje ga tek osoba s ovlaštenjem kada ga odobri u aplikaciji, inače nakon 24 sata istječe; dodjelu dostupnosti proizvodima ni stanje zaliha ne mijenja
claims-settings:read čitanje ne predloške e-poruka i zapisnika reklamacija, postavke modula, oznake, povratni prijevoz i obrazac na web trgovini; bez pristupnih tokena
claims-settings:draft pisanje osjetljiv nacrt promjene procesa, stanja, oznaka i tekstova predložaka reklamacija s pregledom; upisuje ga tek osoba s ovlaštenjem odobrenjem u aplikaciji, inače nakon 72 sata istječe; ništa ne briše
claims-routes:draft pisanje osjetljiv prijedlog stvaranja, izmjene, uključivanja ili isključivanja povratne rute, provjeren kao na zaslonu; upisuje ga čovjek odobrenjem u aplikaciji ili odmah ako je klijent za to područje svjesno uključio autonomni upis; rutu nikad ne briše
product-content:read čitanje ne opis, kratki opis i SEO tekstovi proizvoda izravno iz web trgovine, s otiskom i mogućnošću upisa svakog polja
product-content:draft pisanje osjetljiv prijedlog novih tekstova proizvoda (najviše 30 odjednom), samo polja sadržaja, nikad cijena, zaliha, šifra ni EAN; upisuje ga čovjek odobrenjem ili odmah uz svjesno uključen autonomni upis
category-content:read čitanje ne gornji i donji opis te SEO tekstovi kategorije, s otiskom i mogućnošću upisa ovisno o platformi web trgovine
category-content:draft pisanje osjetljiv prijedlog novih tekstova kategorija (najviše 30 odjednom), samo polja koja platforma web trgovine može upisati; upisuje ga čovjek odobrenjem ili odmah uz svjesno uključen autonomni upis

Osjetljivi opsezi na zaslonu izdavanja ključa ni na zaslonu privole nisu zadani: osoba ih mora označiti svjesno. purchase-prices:read i personal-data:read nemaju vlastiti alat; odlučuju o poljima u odgovorima ostalih. Polje koje nedostaje nije nula: nedostaje.

Opsezi su javna obveza: mijenjaju se samo unatrag kompatibilno, a vjerodajnica izdana ranije novi opseg ne nasljeđuje (opsezi su u njoj zapisani imenom). Zato stariji ključ ni starija privola nisu dobili osobne podatke kada je 2. 9. 2026. za njih nastao vlastiti opseg, a neće dobiti ni zapis koncepta: za njega je potrebna nova privola ili novi ključ.

Postojećem ključu novi se opseg može dodati i bez zamjene ključa: Postavke → API & MCP → Uredi opsege. Vrijednost ključa ostaje ista, integracija koja ga koristi radi dalje i novi opseg dobiva od sljedećeg zahtjeva. Promjenu radi osoba s pravom upravljanja ključevima; tarifa i osjetljivi opsezi provjeravaju se kao pri izdavanju.

Sučelje izdaje operativne podatke, a osobne samo s opsegom personal-data:read:

  • Narudžbe i reklamacije bez njega vraćaju samo zemlju i mjesto, a ne ime, e-poštu, telefon ni ulicu.
  • Imenik kupaca (customers:read) sam izdaje samo pseudonim, web trgovine, zemlju, jezik, brojeve i datume. Ime, tvrtku, e-poštu, telefon i marketinški spol dodaje tek personal-data:read, a promet i LTV tek reports:read: polje koje nedostaje uklanja se, a ne poništava.
  • Analitika kupaca (customers/performance) uopće nema osobne podatke: kupac je pseudonim (otisak e-pošte), isti kao customerEmailHash na dokumentima i u imeniku.
  • Kontakt dobavljača i partnera programa ide iza istog opsega.
  • Razgovori s web chatbotom (chatbot-conversations:read, osjetljiv) nose samo nasumični ključ razgovora: bez imena, e-pošte, IP-a ili kolačića. E-poštu, telefon i IBAN koje je kupac napisao u tekst izdaje tek personal-data:read; bez njega na njihovu je mjestu oznaka.
  • Bankovni i porezni podaci partnera (IBAN, matični broj, porezni broj, podaci za naplatu isplata), interne napomene, lozinke i tajne drugog faktora nikada se ne izdaju: nijedan ih opseg ne otvara.
  • Webhookovi šalju identifikatore i stanja, a ne sadržaj narudžbe ni podatke kupca.

Svaki se poziv zapisuje u reviziju bez vrijednosti ulaza, samo s nazivima polja i otiskom.

Automatizacije: siguran zapis koncepta

Odjeljak „Automatizacije: siguran zapis koncepta”

AI asistent smije automatizaciju predložiti, ali je ne smije uključiti. S opsegom automations:write (osjetljiv, nikada unaprijed označen, nudi se samo osobi s pravom uređivanja automatizacija):

  • automations_create_draft izrađuje koncept u stanju isključeno: ne dira objavljenu verziju, okidače ni izvođenje;
  • automations_update_draft uređuje samo koncept koji još nitko nije objavio; koncept započet u uređivaču aplikacije ne prepisuje se;
  • koncept se pojavljuje u Automatizacije kao svaki započeti nacrt, a uključiti, objaviti ili pokrenuti ga može samo osoba u aplikaciji s pravom odobravanja;
  • automations_revision_create_draft predlaže izmjenu objavljene i uključene automatizacije kao reviziju; verzija koja radi ne mijenja se dok osoba reviziju ne učita u uređivač i ne objavi (automations_revision_update_draft, automations_revision_discard_draft).

Vrijednosti polja koje se u uređivaču biraju s popisa (status narudžbe, dostava, plaćanje, stanje reklamacije…) vraća automations_options u obliku koji uređivač sprema. Vrijednost koja u web trgovini ne postoji i zamjenski tekst tipa DOPLNIT_… greška su validacije, a ne uspjeh.

Izrada je idempotentna putem clientRequestId, uređivanje zahtijeva expectedVersion, a oboje zahtijeva catalogVersion iz automations_catalog: zastarjeli katalog je sukob, a ne tihi zapis. Nacrt koji poseže za nepoznatim okidačem, web trgovinom izvan opsega ili tuđim webhook endpointom ne sprema se. Detaljno u MCP sučelju.

Dostupnosti: nacrt izmjene koji odobrava osoba

Odjeljak „Dostupnosti: nacrt izmjene koji odobrava osoba”

Dostupnosti su stavke šifrarnika konkretne web trgovine koje web trgovina prikazuje uz proizvod, na primjer Na zalihi, Po narudžbi ili Pretprodaja: naziv, opis, uskladištenje i dostava u satima, značenje za Google Shopping i boja. To nije stanje zaliha.

  • availabilities_list i GET /availabilities?market= (opseg products:read) vraćaju šifrarnik jedne web trgovine; market je obavezan. Polje manageable govori može li se šifrarnik te web trgovine mijenjati u MitoOps, a reason zašto ne: PLATFORMA (platforma to ne može), BEZ_ROZSIRENIA (web trgovini WooCommerce nedostaje dodatak MitoOps) ili PROSTREDIE (upis u web trgovine isključen je u okruženju).
  • availabilities_change_draft (samo MCP, osjetljiv opseg availabilities:draft) u web trgovinu ništa ne upisuje. Izmjenu provjerava, sprema kao nacrt koji vrijedi 24 sata i vraća pregled (polje prije i poslije, upozorenja, blokade), draftId i approvalUrl.
  • U web trgovinu nacrt upisuje tek osoba u aplikaciji gumbom Odobri i zapiši u Skladište → Dostupnosti → Upravljanje, ili ga odbacuje. Pritom odlučuju njezina prava u trenutku klika, a ne opseg ključa ili privole. Model ni pristupni ključ bez osobe u web trgovinu ništa ne upisuju.
  • availabilities_draft_get i GET /availabilities/drafts/:draftId (opseg products:read) vraćaju stanje nacrta: pending, writing, executed, partial, failed, rejected ili expired.

Opseg availabilities:draft nudi se samo osobi koja bi izmjenu smjela i odobriti (pravo upravljanja sinkronizacijom skladišta i uređivanja proizvoda). Postojeći ključ ni privola ga ne nasljeđuju. REST v1 ostaje samo za čitanje. Parametri nacrta nalaze se u MCP sučelju, a zaslon odobrenja u uputama Dostupnosti.

Reklamacije: postavke za čitanje i nacrt promjene

Odjeljak „Reklamacije: postavke za čitanje i nacrt promjene”
  • claims_settings (opseg claims:read) vraća procese s ID-ovima i nazivima vrsta, koraka i stanja te oznake; s opsegom claims-settings:read i postavke modula.
  • claims_templates i claims_configuration (opseg claims-settings:read) vraćaju predloške e-poruka i zapisnika (predmet, tekst, kada i šalju li se automatski) i ostale postavke: oznake, polja, povratni prijevoz i obrazac na web trgovini, bez tokena integracije.
  • claims_get nosi i vremensku crtu predmeta, poslane e-poruke i oznake; tekst poruka samo s personal-data:read.
  • claims_config_change_draft (samo MCP, osjetljiv opseg claims-settings:draft) postavke ne mijenja. Sprema nacrt promjene procesa, stanja, oznaka i tekstova predložaka na 72 sata s pregledom i approvalUrl; upisuje ga tek osoba s pravom upravljanja postavkama gumbom Odobri i zapiši u Reklamacije → Postavke, cijeli ili nikako. Stanje vraća claims_config_draft_get.

Parametri su u MCP sučelju.

Povratni prijevoz, tekstovi proizvoda i autonomni upis

Odjeljak „Povratni prijevoz, tekstovi proizvoda i autonomni upis”
  • claims_routes (opseg claims-settings:read ili bilo koji opseg prijedloga reklamacija) vraća rute povratnog prijevoza, adrese primatelja, profile prijevoznika s ID-jem, oznakom povrata i dosegom te ključeve vrsta slučajeva. claims_routes_change_draft (samo MCP, osjetljivi opseg claims-routes:draft) predlaže stvaranje, izmjenu, uključivanje ili isključivanje rute. Poslužitelj je provjerava jednako kao zaslon: profil s uključenim povratom, doseg prijevoznika, postojeća adresa i vrste, nenegativna cijena i bez sukoba s uključenom rutom. Brisanja rute putem MCP-a nema.
  • products_content_get i GET /products/:code/content?market= (opseg product-content:read) vraćaju opis, kratki opis i SEO tekstove proizvoda izravno iz web trgovine, svako polje s otiskom (hash) i podatkom može li ga platforma upisati. categories_content_get i GET /categories/:guid/content?market= (opseg category-content:read) vraćaju isto za kategoriju.
  • products_content_change_draft i categories_content_change_draft (samo MCP, osjetljivi opsezi product-content:draft i category-content:draft) predlažu nove tekstove, najviše 30 stavki odjednom. Prihvaćaju samo polja sadržaja; cijenu, zalihu, dostupnost, šifru, EAN ni naziv tako ne možete promijeniti. HTML se provjerava: nema skripte osim jednog bloka JSON-LD FAQPage, nema on…, javascript: ni iframe. Pri odobrenju se tekst uspoređuje sa stanjem web trgovine i ako ga je netko u međuvremenu promijenio, ne upisuje se ništa (CHANGED_SINCE_DRAFT). Ako web trgovina pri spremanju izmijeni tekst, rezultat to kaže (MODIFIED_BY_PLATFORM). Prijedlozi se odobravaju u Skladište → Promjene proizvoda. Na WooCommerceu se prijedlog sa skriptom (i JSON-LD) ili s obrnutom kosom crtom blokira (PLATFORM_STRIPS_SCRIPT, PLATFORM_STRIPS_BACKSLASH): WordPress ih pri spremanju uklanja, a ostatak bi kupci vidjeli kao tekst.
  • products_content_policy i GET /product-content/policy?market= (opseg product-content:read) kažu, bez poziva web trgovini, što vaš ključ smije raditi s tekstovima u određenoj web trgovini: smije li čitati (readEnabled) i predlagati (draftEnabled, prijedlog samo putem MCP-a), koja polja platforma upisuje (supportedFields; SEO polja na WooCommerceu samo uz SEO dodatak), način odobravanja (approvalMode: human, autonomous ili disabled) i hoće li se prijedlog upisati sam (autonomousWriteEnabled), ograničenja prijedloga i algoritam otisaka (sha256). Pauzirana web trgovina, nepodržana platforma ili ključ web trgovine samo za čitanje su status i reason u odgovoru, a ne pogreška. Polje category nosi isto za kategorije. Polje structuredData govori zadržava li platforma strukturirane podatke u opisu proizvoda: na WooCommerceu ne (NOT_SUPPORTED, PLATFORM_STRIPS_SCRIPT; strukturiranim podacima ondje upravlja tema trgovine, THEME_MANAGED), na Shoptetu da (jedan blok FAQPage).
  • Autonomni upis. Prema zadanim postavkama svaki prijedlog (postavke i rute reklamacija, tekstovi proizvoda i kategorija) upisuje tek čovjek odobrenjem. Administrator ga može uključiti za pojedino područje u Postavke → API & MCP → Upis putem AI. Prijedlog se tada upisuje odmah, istim putem kao odobrenje, u ime osobe koja je AI-u dala pristup, i samo ako ta osoba upravo sada ima pravo odobriti promjenu. Inače prijedlog čeka, a odgovor kaže zašto. Svaka promjena načina se bilježi.

Postojeći ključ ni privola ne nasljeđuju nove opsege; potrebna je nova privola.

REST i MCP su čitanje na zahtjev. Kada Vaš sustav o događaju treba saznati odmah (nova narudžba, plaćanje, promjena statusa, pošiljka, dostava, kretanje zalihe, račun, reklamacija), pretplaćuje se na njega putem odlaznih webhookova: MitoOps na Vašu adresu šalje kratku omotnicu s identifikatorima, potpisanu HMAC-SHA256, s ponavljanjem pri neuspjehu i dnevnikom pokušaja. Detalje sustav zatim učitava putem REST-a.

Pretplate otvara osoba u aplikaciji na istom zaslonu kao ključeve; putem REST-a i MCP-a endpointi se samo čitaju (webhooks:read, bez tajne). Endpoint se može koristiti i kao korak automatizacije. Detaljno u odlaznim webhookovima.

API & MCP i webhookovi dio su svake plaćene tarife od Start naviše. Tarife se razlikuju po broju aktivnih ključeva i endpointa, a ne po tome što se može pročitati:

Tarifa API & MCP Aktivni pristupni ključevi Webhook endpointi
Probna verzija ne 0 0
Početnik ne 0 0
Start da 1 5
Rast da 2 20
Pro da 5 50
Po mjeri da prema dogovoru prema dogovoru

Ograničenja provodi poslužitelj: pokušaj izrade dodatnog ključa ili endpointa iznad ograničenja završava odbijanjem s objašnjenjem. Zamjena ključa ni rotacija tajne endpointa ne troše mjesto. Snižavanje tarife postojeće ključeve ni endpointe ne ukida: prestaje biti moguće izraditi novi dok broj ne padne ispod novog ograničenja. Povezivanje putem OAutha ne troši ključ.

Aktualne vrijednosti za Vaš račun, uključujući iskorištenost (aktivne automatizacije, pokretanja u mjesecu, e-poruke, krediti), daje account_entitlements / GET /account/entitlements s opsegom account:read. Nosi samo tarifu, funkcije i ograničenja, bez podataka za naplatu. Aktualni cjenik je na mitoops.com/cennik.

Ograničenje Na čemu se mjeri Koliko
prije provjere na adresu s koje pozivate 300 poziva / 60 s
nakon provjere na konkretan ključ 600 poziva / 60 s

Prvo sprječava pogađanje ključeva, a drugo je Vaše i ne dijelite ga ni s kim. Prekoračenje je 429 sa zaglavljima RateLimit-*. To nije tarifna veličina: broj poziva se ne naplaćuje.

Odgovor s greškom uvijek ima isti oblik i nosi kod:

{ "error": { "code": "store_required", "message": "…", "requestId": "…" } }
Status Kod Kada
400 invalid_request parametar ne odgovara opisu (pogrešan datum, obrnuto razdoblje, nevažeći kursor)
400 store_required poziv nad podacima web trgovine bez market
401 unauthorized ključ nedostaje, nepoznat je, opozvan ili nevažeći
403 forbidden ključ nema potreban opseg
403 store_forbidden web trgovina izvan opsega ključa
404 not_found zapis ne postoji (i kada pripada drugoj web trgovini)
405 nema koda sve osim GET (REST)
409 conflict zapis koncepta naišao je na drugu verziju, iskorišten clientRequestId ili promijenjen katalog (MCP)
429 rate_limited prekoračeno tehničko ograničenje poziva

Razlog odbijanja kod 401 ne razlikuje se: razlika bi pomogla onome tko pogađa ključeve. requestId navedite kada prijavljujete problem podršci. Putem MCP-a greška koju asistent može ispraviti stiže kao rezultat alata s oznakom isError, a greška protokola kao JSON-RPC greška.

Terminal window
# Narudžbe za razdoblje, po stranicama
curl -H "Authorization: Bearer <vaš ključ>" \
"https://<vaša adresa>/api/v1/orders?market=sk&from=2026-08-01&to=2026-08-31&limit=50"
# Statistike dostave za kolovoz
curl -H "Authorization: Bearer <vaš ključ>" \
"https://<vaša adresa>/api/v1/shipping/stats?market=sk&from=2026-08-01&to=2026-08-31"
# Statistika reklamacija za kolovoz
curl -H "Authorization: Bearer <vaš ključ>" \
"https://<vaša adresa>/api/v1/claims/statistics?market=sk&from=2026-08-01&to=2026-08-31"
# Tarifa i ograničenja računa s iskorištenošću
curl -H "Authorization: Bearer <vaš ključ>" \
"https://<vaša adresa>/api/v1/account/entitlements"

Pitanja na koja nakon povezivanja Claude.ai odgovara iz podataka MitoOps: „Koliki je bio medijan vremena dostave DHL-a i GLS-a za kolovoz?“, „Koliko je narudžbi došlo iz ChatGPT-a?”, „Kolika je marža proizvoda X za posljednji mjesec?“ (s purchase-prices:read), „Koliko je reklamacija nakon roka?“, „Predloži automatizaciju koja kod neplaćene narudžbe nakon tri dana pošalje upozorenje” (s automations:write nastaje isključeni koncept), „Preimenuj na web trgovini SK dostupnost Po narudžbi u Do 5 dana“ (s availabilities:draft nastaje nacrt, koji upisujete odobrenjem u aplikaciji).

  • Izolacija prostora klijenata. Klijent proizlazi isključivo iz vjerodajnice; svaki klijent ima vlastitu bazu podataka.
  • Opseg web trgovina presjek je popisa iz vjerodajnice i web trgovina koje u tom trenutku imate povezane. Kod poziva nad podacima jedne web trgovine market je obavezan: web trgovina koja nedostaje je 400, a web trgovina izvan opsega 403.
  • Prava osobe. Zaslon privole nudi samo opsege koje prijavljena osoba ima sama; odlučuje vlastiti skup ovlaštenja računa.
  • Granice zapisa provodi usluga, a ne anotacija: koncept automatizacije uvijek nastaje isključen, objavljena automatizacija putem MCP-a se ne mijenja, a nacrt izmjene dostupnosti u web trgovinu ništa ne upisuje dok ga osoba ne odobri u aplikaciji.
  • Valjanost i opoziv. Pristupni OAuth token vrijedi sat vremena, token za obnovu 30 dana; opozvana privola zaustavlja svaki token koji je iz nje nastao. Ključevi se mogu odmah opozvati ili zamijeniti.
  • Revizija. Svaki je poziv zapisan s nazivom sposobnosti, sučeljem i otiskom ulaza, bez vrijednosti.
  • Na što se ne može osloniti: nejavne adrese aplikacije (sučelje je /api/v1 i /api/mcp, ništa drugo), izravan pristup bazi podataka (ne postoji) i pristupni podaci (sučelje ih ne izdaje).