Sari la conținut

Interfața MCP

Verificat

MitoOps oferă un server MCP la distanță standard (Model Context Protocol) la adresa /api/mcp, prin care o aplicație AI compatibilă își cere singură datele. Se bazează pe aceleași capacități ca REST: nu este o a doua interfață cu propriile interogări, ci un alt mod de a întreba același lucru.

MCP nu este o proprietate a modelului, ci a aplicației în care rulează modelul (clientul). 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 lui exactă este mai jos; pentru o altă aplicație este valabilă procedura generală din partea următoare. Clienții pe care nu i-am testat nu îi declarăm verificați.

Autentificarea se poate face în două moduri:

  • cu o cheie de acces, pe care v-o emiteți în aplicație: pentru propriul program sau pentru un server care apelează un server;
  • prin OAuth, când se conectează o aplicație AI care știe acest lucru: atunci vă autentificați dumneavoastră și, pe ecranul de consimțământ, alegeți ce are voie aplicația să citească.

În ambele cazuri tokenul merge în antetul Authorization: Bearer și în ambele se aplică același domeniu de permisiuni: ce nu include cheia sau consimțământul, instrumentul nu returnează.

Cum conectați Claude.ai: conectare verificată, pas cu pas

Secțiune intitulată „Cum conectați Claude.ai: conectare verificată, pas cu pas”

Claude.ai nu se conectează la magazinele online individuale, ci la MitoOps, stratul care reunește deja datele tuturor magazinelor dumneavoastră online. Nu aveți nevoie de nicio cheie, Client ID sau secret. Claude.ai află totul singur din adresa interfeței.

  1. În Claude.ai deschideți Settings (Setări) → Customize → Connectors (la planul de echipă, mai întâi Organization settings → Connectors, ca administrator).
  2. Apăsați Add custom connector (Adaugă conector personalizat).
  3. În câmpul Name scrieți MitoOps.
  4. În câmpul URL introduceți adresa interfeței MCP din ecranul Setări → API & MCP, în forma https://<adresa dumneavoastră>/api/mcp, de exemplu https://app.mitoops.com/api/mcp.
  5. Advanced settings lăsați-le goale: Claude.ai folosește propriile metadate ale clientului găzduite (OAuth). Apăsați Add.
  6. La conector apăsați Connect (Conectare).
  7. Se deschide autentificarea în MitoOps (inclusiv cu al doilea factor, dacă îl aveți). Autentificați-vă.
  8. Vedeți ecranul de consimțământ: ce aplicație, ce client, ce are voie să citească și la ce magazine online se referă. Permisiunile sunt grupate pe zone ale aplicației (vânzări, stoc, expediere, marketing, program de parteneriat, automatizări). Citirea este bifată implicit, datele sensibile și pregătirea ciornelor nu; modificările cu impact direct (de exemplu ștergerea cupoanelor sau aprobarea unei trimiteri) sunt listate individual în secțiunea restrânsă Permisiuni avansate. La fiecare grup este lista a ceea ce include exact.
  9. Verificați domeniile. Cele sensibile (de exemplu Rapoarte financiare, Prețuri de achiziție, Date personale ale clienților, Furnizori și achiziții, Automatizări: schițe, Disponibilitate: propuneri de modificări și Reclamații: propuneri de modificare a setărilor) nu sunt bifate. Dacă Claude trebuie să vadă marja, datele personale, să propună ciorne și modificări ale automatizărilor sau modificări ale disponibilităților ori ale setărilor reclamațiilor, bifați-le în mod conștient. Șabloanele și setările reclamațiilor le citește domeniul Reclamații: setări și șabloane. Alegeți magazinele online.
  10. Apăsați Permite. Claude.ai revine pe pagina sa, iar conectorul este conectat.
  11. În conversație apăsați + → Connectors și activați conectorul MitoOps.

Ce bifați pe ecranul de consimțământ, aceea este valabil, și niciodată mai mult decât aveți voie dumneavoastră înșivă. Cine nu are în aplicație drept asupra prețurilor de achiziție nu îl poate transmite mai departe. Tokenul pe care îl primește Claude.ai poartă doar domeniile permise.

Aplicației îi indicați aceeași adresă /api/mcp și nimic mai mult, nicio cheie. Mai departe totul merge singur:

  1. Aplicația ne cere unde să trimită autentificarea (metadatele resursei protejate conform RFC 9728).
  2. Se deschide autentificarea dumneavoastră în MitoOps.
  3. Vedeți ecranul de consimțământ și alegeți domeniile și magazinele online.
  4. După permitere, conectarea este gata, iar aplicația vede instrumentele.

O aplicație care își alege singură domeniile trebuie să le indice în cerere: ecranul de consimțământ oferă doar ceea ce a cerut aplicația (și la ce aveți drept). Interfața anunță toate domeniile, inclusiv cele sensibile, atât în provocarea WWW-Authenticate, cât și în scopes_supported. Cele sensibile nu se permit totuși niciodată singure: pe ecranul de consimțământ sunt marcate și nebifate, iar tokenul se emite restrâns la ceea ce ați permis (scope în răspunsul tokenului).

Asistentul sau programul are nevoie de adresa /api/mcp pe domeniul dumneavoastră și de o cheie de acces care are MCP printre interfețe. Adresa exactă o afișează ecranul Setări → API & MCP, în blocul „Unde se conectează”. O cheie emisă doar pentru REST nu funcționează pentru MCP și invers.

Lista instrumentelor este guvernată de domeniile cheii sau ale consimțământului: asistentul vede exact ceea ce i s-a permis și nimic altceva. Un instrument în afara domeniului nu există pentru el.

Instrument MCP Domeniu REST Ce returnează
account_connection stores:read GET /account/connection Diagnosticul acestei conexiuni: aplicația, cine și când a acordat accesul, permisiunile acordate și lipsă pe domenii, magazinele și modul de scriere prin AI.
account_entitlements account:read GET /account/entitlements Tariful clientului, funcțiile și limitele cu utilizarea actuală.
affiliate_articles_create affiliate:write — scriere: Crearea unui articol de ajutor propriu în toate limbile deodată (titlul și corpul în limba indicată); HTML-ul se curăță.
affiliate_articles_get affiliate:read GET /affiliate/articles/:key Un articol de ajutor cu formularea (HTML) în toate limbile sau într-una singură; variabilele necompletate.
affiliate_articles_list affiliate:read GET /affiliate/articles Articolele de ajutor ale portalului partenerilor: cheie, implicit/propriu, activare, ordine, stare pe limbi (titlu, adresă, completat, identic cu cel implicit).
affiliate_articles_set_state affiliate:write — scriere: Activarea sau dezactivarea unui articol de ajutor pentru toate limbile deodată; cel implicit nu se șterge, doar se dezactivează.
affiliate_articles_update affiliate:write — scriere: Editarea unui articol de ajutor într-o singură limbă (titlu, adresă, corp; HTML-ul se curăță) sau restabilirea formulării implicite; returnează variabilele necunoscute.
affiliate_campaigns_create affiliate:write — scriere: Crearea unei campanii în magazinul online: denumire, recompensă (nu se inventează), valabilitatea atribuirii, disponibilitate, aprobarea conversiilor.
affiliate_campaigns_get affiliate:read GET /affiliate/campaigns/:campaignId O campanie a programului de parteneriat.
affiliate_campaigns_list affiliate:read GET /affiliate/campaigns Campaniile programului de parteneriat ale magazinului online, cu recompensă, disponibilitate și numere.
affiliate_campaigns_update affiliate:write — scriere: Editarea campaniei: denumire, recompensă, valabilitate, disponibilitate, aprobare, activare/dezactivare, descrierea pentru parteneri pe limbi.
affiliate_code_requests_decide affiliate:write — scriere: Rezolvarea cererii unui partener pentru un cod propriu: aprobarea creează codul direct în magazinele online ale campaniilor cu reducere pentru client (necesită și coupons:write), retry repetă crearea, respingerea necesită un motiv; partenerul primește un e-mail.
affiliate_code_requests_list affiliate:read GET /affiliate/code-requests Cererile partenerilor pentru un cod de reducere propriu, cu stare și motiv; cele în așteptare primele.
affiliate_conversions_decide affiliate:approve — scriere: Decizia asupra unui singur comision după id: approve (nouă → aprobată), reject (nouă → respinsă, motiv obligatoriu), cancel (aprobată → anulată, motiv obligatoriu); cea plătită nu se întoarce, aceeași decizie a doua oară nu schimbă nimic; partenerul primește un e-mail.
affiliate_conversions_get affiliate:read GET /affiliate/conversions/:conversionId Detaliul unei conversii: sume, comision, starea comisionului cu motiv, starea comenzii în magazinul online, notă de credit, plată.
affiliate_conversions_list affiliate:read GET /affiliate/conversions Conversiile programului de parteneriat ale magazinului online: baza comisionului și întreaga comandă cu TVA, comision, starea comisionului cu motiv, starea comenzii în magazinul online, legătura cu plata.
affiliate_discount_codes_ensure coupons:write — scriere: Asigură că partenerul are un cod de reducere în magazinul online: cuponul se creează prin cupoanele canonice (sau se folosește unul existent) și se atribuie partenerului; nota din magazinul online se creează automat.
affiliate_discount_codes_list affiliate:read GET /affiliate/discount-codes Codurile de reducere ale partenerilor în magazinul online, cu numărul de utilizări și cifra de afaceri.
affiliate_documents_draft_create affiliate:write — scriere: Propunerea unei noi formulări a unui document juridic ca ciornă; nu modifică formularea activă: o publică un om în aplicație, cu diferența și auditul.
affiliate_documents_get affiliate:read GET /affiliate/documents/:key/content Un document juridic al programului, cu formularea pe limbi (text salvat, formulare publică, versiune, amprente, sursă, metadate PDF) și ciornele deschise.
affiliate_documents_list affiliate:read GET /affiliate/documents Documentele programului (condiții, acorduri): politica de confirmare, copia semnată, anexa la e-mail, versiunile pe limbi, pregătirea și numărul de confirmări.
affiliate_documents_update affiliate:write — scriere: Politica unui document al programului (pentru cine este valabil, când se confirmă, copia semnată, anexa la e-mail, activare); formularea se încarcă în aplicație.
affiliate_email_templates_list affiliate:read GET /affiliate/email-templates Șabloanele e-mailurilor către parteneri pe limbi (subiect, activare, cu eveniment și corpul) și anexele automate ale e-mailului Cont aprobat.
affiliate_email_templates_update affiliate:write — scriere: Editarea unui șablon de e-mail către parteneri într-o singură limbă (subiect, corp) sau activarea/dezactivarea unui eveniment.
affiliate_links_generate affiliate:read GET /affiliate/links/generate Un link de partener urmărit către pagina principală, un produs sau o categorie a magazinului online al campaniei; după clic păstrează atribuirea către partener.
affiliate_partners_get affiliate:read GET /affiliate/partners/:partnerId Un partener al programului, cu campaniile pe care le are la dispoziție.
affiliate_partners_list affiliate:read GET /affiliate/partners Partenerii programului cu stare, performanță și comisioane; contactul doar cu date personale.
affiliate_partners_set_market affiliate:write — scriere: Calitatea de membru a partenerului într-un magazin online: permitere (active, aprobă și cererea din portal) sau retragere (revoked); campaniile, cupoanele și documentele magazinului online îl privesc pe partener doar cu o calitate de membru activă.
affiliate_partners_set_state affiliate:write — scriere: Decizia asupra contului partenerului (aprobare, respingere, suspendare, readucere printre cele în așteptare); aprobarea trimite un e-mail cu acordul.
affiliate_payouts_list affiliate:read GET /affiliate/payouts Plățile comisioanelor către parteneri, cu stare; fără date bancare și de facturare.
affiliate_portal_get affiliate:read GET /affiliate/portal Portalul public al partenerului: adresele pe magazine online, deschiderea înregistrării cu motiv, domenii proprii, persoana de contact, aspectul și starea textelor pe limbi.
affiliate_portal_pages_update affiliate:write — scriere: Texte proprii ale portalului public într-o singură limbă (paginile autentificare/înregistrare/prezentare, informare, descrierea programului); HTML-ul se curăță.
affiliate_settings affiliate:read GET /affiliate/settings Setarea programului de parteneriat: comisioane, clicuri, minimul plății, recomandare.
affiliate_settings_update affiliate:write — scriere: Setarea programului în afara banilor: denumire, înregistrare, aprobare automată, persoana de contact, culori, link către politică.
affiliate_signatures_get affiliate:read GET /affiliate/signatures/:signatureId O semnătură electronică, cu formularea semnată și instantaneul valorilor; înregistrare nemodificabilă, PDF-ul se compune în aplicație.
affiliate_signatures_list affiliate:read GET /affiliate/signatures Documentele semnate electronic de parteneri (cine, document, versiune, limbă, magazin online, oră, mod, verificare, amprente, stare) și partenerii cărora le lipsește semnătura; doar citire, semnătura apare exclusiv în portal.
affiliate_statistics affiliate:read GET /affiliate/statistics Statistica programului de parteneriat: evoluția pe zile, sursele atribuirii, clasamentul partenerilor.
affiliate_summary affiliate:read GET /affiliate/summary Prezentarea programului de parteneriat al magazinului online pentru o perioadă: clicuri, conversii, comisioane, parteneri.
affiliate_variables_list affiliate:read GET /affiliate/variables Registrul variabilelor de conținut și de e-mail ale programului de parteneriat: nume canonice, aliasuri, tip, suprafețe, exemplu; verificare opțională a textului pentru variabile necunoscute.
analytics_advertising reports:read GET /analytics/advertising Publicitate: cheltuieli, buget, ROAS, PNO, CPA, valoarea medie a comenzii și MER cu comparație; Google Ads și Meta Ads, clicuri din GA4, 6 luni.
analytics_channels analytics:read GET /analytics/channels Repartizarea vizitelor, comenzilor și cifrei de afaceri pe canale de marketing.
analytics_comparison reports:read GET /analytics/comparison Cifra de afaceri comparată: cifră de afaceri, comenzi, AOV, vizite, CR și AI/LLM față de perioada anterioară sau anul trecut.
analytics_monthly reports:read GET /analytics/monthly Cifra de afaceri, comenzi și vizite pe luni (cel mult 24), de exemplu an la an.
analytics_order_coverage analytics:read GET /analytics/order-coverage Acoperirea comenzilor și a cifrei de afaceri prin măsurarea din analitică.
analytics_order_heatmap reports:read GET /analytics/order-heatmap Când vin comenzile: ziua săptămânii × ora, cea mai puternică zi și oră.
analytics_overview analytics:read GET /analytics/overview Vizite, comenzi, cifră de afaceri, rata de conversie și ponderea AI/LLM pentru o perioadă.
analytics_revenue_sources reports:read GET /analytics/revenue-sources De unde a venit cifra de afaceri: canale, totaluri AI/LLM, MitoOps și Affiliate, achiziție după GA4.
analytics_seo analytics:read GET /analytics/seo Search Console: clicuri, afișări, CTR și poziție după interogări sau pagini.
automations_catalog automations:read GET /automations/catalog Catalogul automatizărilor: declanșatori, condiții, operatori, acțiuni, șabloane; catalogVersion pentru propuneri.
automations_create_draft automations:write — scriere: Creează o ciornă DEZACTIVATĂ a unei automatizări. Nu o activează și nu o pornește.
automations_get automations:read GET /automations/:workflowId O automatizare, cu DSL și rezultatul validării.
automations_list automations:read GET /automations Automatizările clientului, cu stare și domeniul magazinelor online.
automations_options automations:read GET /automations/options Nomenclatorul pentru un câmp al automatizării (stări, transporturi, plăți, șabloane, reclamații…): value pentru DSL și denumire.
automations_revision_create_draft automations:write — scriere: Propune o modificare a unei automatizări publicate ca revizie spre aprobare de către un om. Versiunea care rulează nu se schimbă.
automations_revision_discard_draft automations:write — scriere: Retrage revizia deschisă a unei automatizări publicate.
automations_revision_update_draft automations:write — scriere: Editează revizia deschisă a unei automatizări publicate.
automations_runs automations:read GET /automations/:workflowId/runs Istoricul rulărilor unei automatizări.
automations_templates automations:read GET /automations/templates Șabloane gata făcute de automatizări, cu DSL.
automations_update_draft automations:write — scriere: Editează ciorna nepublicată a unei automatizări, cu concurență optimistă.
automations_validate_draft automations:read — Verifică o propunere de automatizare fără scriere.
chatbot_conversations_get chatbot-conversations:read GET /chatbot/conversations/:sessionId Transcrierea unei conversații cu chatbotul web, inclusiv sursele răspunsurilor botului.
chatbot_conversations_list chatbot-conversations:read GET /chatbot/conversations Conversațiile clienților cu chatbotul web, de la cea activă cel mai recent, cu prima întrebare; cursor.
chatbot_outcomes chatbot:read GET /chatbot/outcomes How web chatbot conversations ended: since when the outcome is measured, measured and unmeasured conversations, known and unknown outcome, resolved, unresolved, bot error and resolution rate with its denominator; N/A with a reason when the denominator is zero. Totals only.
chatbot_stats chatbot:read GET /chatbot/stats Statistica chatbotului web pentru o perioadă: pâlnia bulei, deschideri, conversații, rezultate, evaluări.
chatbot_topics chatbot:read GET /chatbot/topics Despre ce au fost conversațiile: ponderile subiectelor, produse, tipul paginii de început și candidați pentru o lacună în cunoștințe.
claims_config_change_draft claims-settings:draft — scriere: Propune o modificare a proceselor, stărilor, etichetelor, șabloanelor, textelor formularului și setărilor modulului de reclamații; o scrie abia un om prin aprobare în aplicație.
claims_config_draft_get claims-settings:read GET /claims/config-drafts/:draftId Starea propunerii de modificare a setărilor reclamațiilor (în așteptare, scrisă, respinsă).
claims_configuration claims-settings:read GET /claims/configuration Setările reclamațiilor: etichete, câmpuri, transport retur, formularul din magazinul online, tipurile formularului.
claims_get claims:read GET /claims/:code Un caz cu articole și legături: comandă, notă de credit, colet retur, mișcare de stoc.
claims_list claims:read GET /claims Reclamațiile și retururile unui magazin online, de la cea mai nouă.
claims_refund_options claims-settings:read GET /claims/refund-options Refunds: variable symbol source, refund coupon validity, coupon in the form, when the form asks for an account number.
claims_refund_readiness claims:read GET /claims/:code/refund-readiness Claim before a refund: what the customer requests, masked account, variable symbol, mode and whether the claim can be deleted.
claims_refund_settings claims-settings:read GET /claims/refund-settings Rambursări pentru reclamații: mod, conturi bancare cu eligibilitate pentru ordine de plată (mascate), cont implicit și manual.
claims_routes claims-settings:read GET /claims/routes Transport retur pentru reclamații: rute, adrese, profiluri de curier cu ID și suport pentru retur, tipuri de caz.
claims_routes_change_draft claims-routes:draft — scriere: Propune o rută de retur (și pentru toată UE sau lumea) și o adresă de destinatar; le scrie un om prin aprobare (sau scrierea autonomă, dacă clientul a activat-o).
claims_settings claims:read GET /claims/settings Procesele reclamațiilor cu ID-uri și denumiri (tipuri, pași, stări, termene), etichete; setările modulului cu domeniul claims-settings:read.
claims_statistics claims:read GET /claims/statistics Statistica reclamațiilor și retururilor pentru o perioadă: numere, timpi de soluționare, tipuri, evaluări, motive.
claims_templates claims-settings:read GET /claims/templates Șabloanele de e-mail (subiect, text, când și dacă se trimit automat) și de procese-verbale ale reclamațiilor.
content_articles_search products:read GET /content/articles Articolele blogului magazinului online, cu adresa de pe site și imaginea de previzualizare.
coupons_activation_link coupons:read GET /coupons/activation-link Un link care aplică clientului în coș un cupon EXISTENT. Nu creează cupoane.
coupons_activation_status coupons:read GET /coupons/activation-status Dacă un cupon poate fi folosit în magazinul online prin linkul de activare: oglinda cuponului + starea codului de pe site.
coupons_capabilities coupons:read GET /coupons/capabilities Ce știe platforma magazinului online respectiv despre cupoane. Citiți înainte de creare.
coupons_ensure coupons:write — scriere: Asigură că un cupon există în magazinele online alese. La o altă valoare a reducerii NU se rescrie.
coupons_get coupons:read GET /coupons/:code Un cupon din evidența MitoOps. Când nu se află în ea, răspunsul este „nu s-a găsit”.
coupons_list coupons:read GET /coupons Cupoanele de reducere ale magazinului online, cu tipul și valoarea reducerii, valabilitatea și starea derivată.
coupons_remove coupons:delete — scriere: Ștergerea explicită a unui cupon: dependențe, previzualizare, confirmare; cu o dependență activă nu se șterge.
coupons_update coupons:write — scriere: Editarea explicită a unui cupon existent, inclusiv restricțiile la produse și categorii; previzualizare, apoi confirmare.
customers_get customers:read GET /customers/:customerKey Un client din director: identitate, magazine online, bani LIFETIME și, opțional, PERIOD, defalcare pe magazine online.
customers_list customers:read GET /customers Directorul clienților: identitate (cu mascarea datelor personale), magazine online, limbă, numere LIFETIME și cifră de afaceri pe monede; filtru opțional al activității de cumpărare în perioadă.
customers_performance reports:read GET /customers/performance Clienții ca pseudonime: număr de comenzi, cifră de afaceri, prima și ultima comandă, recumpărare, LTV.
credit_notes_search invoices:read GET /credit-notes Căutare în notele de credit.
documents_list invoices:read GET /documents Documente contabile de un singur tip (facturi, facturi proforma, note de credit) pe pagini, cu ciclu de viață, stare în sursă, filtru de valabilitate și disponibilitatea PDF.
documents_pdf_link invoices:read — Link de scurtă durată (10 minute) către PDF-ul unei facturi, facturi proforma sau note de credit, de deschis în browser.
invoices_get invoices:read GET /invoices/:invoiceCode O factură cu articole, sume, note de credit și facturile proforma aferente.
invoices_search invoices:read GET /invoices Căutare în facturi.
inventory_movements inventory:read GET /inventory/movements Istoricul mișcărilor de stoc: când, ce, cu cât, de ce și din ce sursă.
inventory_product_availability inventory:read GET /inventory/availability Stocul pentru mai multe articole deodată.
inventory_stock inventory:read GET /inventory/stock Stocul unui articol, inclusiv sursa valorii.
orders_get orders:read GET /orders/:orderCode O comandă salvată, inclusiv articolele.
orders_list orders:read GET /orders Comenzile salvate ale unui magazin online, de la cea mai nouă.
availabilities_change_draft availabilities:draft — scriere: PROPUNERE de modificare a nomenclatorului de disponibilități (creare, editare, ștergere). În magazinul online o scrie abia un om, prin aprobare în MitoOps.
availabilities_draft_get products:read GET /availabilities/drafts/:draftId Starea propunerii de modificare a nomenclatorului de disponibilități: așteaptă aprobarea, scrisă cu rezultat, respinsă, expirată.
availabilities_list products:read GET /availabilities Nomenclatorul de disponibilități al magazinului online: denumire, descriere, reaprovizionare, livrare, semnificația pentru Google, culoare, rol implicit.
categories_content_change_draft category-content:draft — scriere: PROPUNERE de texte noi pentru categorii (cel mult 30 odată); în magazin le scrie doar un om, aprobându-le în MitoOps.
categories_content_draft_get category-content:read GET /catalog/category-content-drafts/:draftId Starea unei propuneri de texte pentru categorii: așteaptă aprobarea, scrisă, respinsă, expirată.
categories_content_get category-content:read GET /categories/:guid/content Textele unei categorii (descriere de sus și de jos, titlu și descriere SEO) cu amprentă și posibilitate de scriere.
categories_list products:read GET /categories Categoriile magazinului online, cu numărul de produse.
products_content_change_draft product-content:draft — scriere: PROPUNERE de texte noi pentru produse (cel mult 30 odată); în magazin le scrie doar un om, aprobându-le în MitoOps.
products_content_draft_get product-content:read GET /catalog/product-content-drafts/:draftId Starea unei propuneri de texte pentru produse: așteaptă aprobarea, scrisă cu avertismente ale magazinului, respinsă, expirată.
products_content_get product-content:read GET /products/:code/content Textele unui produs din magazin (descriere, descriere scurtă, titlu și descriere SEO) cu amprentă și posibilitate de scriere.
products_content_policy product-content:read GET /product-content/policy Politica de conținut a magazinului fără apel către magazin: ce poate citi și propune acest acces, ce câmpuri scrie platforma, modul de aprobare și scrierea autonomă, limite și amprente.
products_get products:read GET /products/:code Un produs după cod, inclusiv încadrarea și prețul din fișă.
products_search products:read GET /products Căutarea produselor după denumire, cod, EAN sau PLU.
reports_financial_summary reports:read GET /reports/financial-summary Rezumatul financiar al perioadei: cifră de afaceri, TVA, comenzi, AOV; cu drepturi și achiziția, profitul brut, costurile și rezultatul.
sales_order_performance reports:read GET /sales/order-performance Cifra de afaceri pe comenzi în EUR, cu totaluri pentru întreaga perioadă; cu drept și achiziția, profitul brut și marja pe comandă.
sales_product_performance reports:read GET /sales/product-performance Vânzări pe produse din documente; cu drept și prețul de achiziție din momentul vânzării și marja.
search_console_query search-console:read GET /search-console/query Search Console pe zile, interogări, pagini, țări și dispozitive, cu paginare și hash al conținutului.
search_console_status search-console:read GET /search-console/status Starea Search Console a magazinului: conexiune, proprietate, permisiune, sincronizare și întinderea arhivei.
shipping_carriers shipping:read GET /shipping/carriers Curierii conectați și profilurile lor, fără date de acces.
shipping_shipment_detail shipping:read GET /shipping/shipments/:shipmentId O expediere cu toate evenimentele de urmărire.
shipping_shipments shipping:read GET /shipping/shipments Expedierile unui magazin online, cu curier, țară și orele de predare și livrare.
shipping_stats shipping:read GET /shipping/stats Statistici de livrare pe curieri: numere, rata de succes, mediana și p90 a timpului de livrare, țări.
stores_integration_status stores:read GET /stores/integration-status Starea codului MitoOps de pe site pe magazine online: instalat, versiune, module, pregătirea cuponului din adresă.
stores_list stores:read GET /stores Lista magazinelor online ale clientului, cu codul lor.
suppliers_get purchasing:read GET /suppliers/:supplierId Un furnizor cu ofertele de produse și componentele de cost.
suppliers_list purchasing:read GET /suppliers Furnizorii clientului, cu numărul de oferte și de produse asociate.
webhooks_deliveries webhooks:read GET /webhooks/endpoints/:endpointId/deliveries Jurnalul livrărilor unui endpoint, fără corp.
webhooks_endpoint webhooks:read GET /webhooks/endpoints/:endpointId Un endpoint webhook, cu numărul de livrări în așteptare.
webhooks_endpoints webhooks:read GET /webhooks/endpoints Endpointurile webhook ale clientului, fără secrete, și starea cozii.
webhooks_events webhooks:read GET /webhooks/events Catalogul evenimentelor webhookurilor de ieșire, plicul și semnătura.

Numele, e-mailul, telefonul și strada clientului se află în orders_list, orders_get, claims_list și claims_get doar cu domeniul personal-data:read; fără el, răspunsul poartă țara și orașul. Același lucru este valabil pentru contactul furnizorului și al partenerului programului (affiliate_partners_*). Domeniul nu are un instrument propriu.

În directorul clienților (customers_list, customers_get), același domeniu decide asupra numelui, firmei, e-mailului, telefonului și genului pentru marketing; fără el rămân pseudonimul, magazinele online, țara, limba, numerele și datele. Cifra de afaceri și LTV se află, în plus, în spatele reports:read. Genul pentru marketing este o estimare după prenume (genderSource: "name_inference"), nu o informație indicată de client, iar asistentul trebuie să îl prezinte ca atare. Datele bancare și fiscale ale partenerilor nu se furnizează niciodată.

Chatbotul web: subiectele conversațiilor. chatbot_topics (același domeniu chatbot:read) răspunde printr-un singur apel la întrebarea „despre ce a fost vorba”: ponderea conversațiilor pe subiecte dintr-o taxonomie închisă (transport, plată, retur, alegerea produsului, parametri, utilizare, întrebări educative…), rata de rezolvare și numărul de candidați pentru o lacună în cunoștințe pe subiect, cele mai frecvente produse (despre care au întrebat clienții și pe care le-a recomandat botul), din ce tip de pagină încep conversațiile și evoluția pe zile. Evaluarea este deterministă: se bazează pe sursele răspunsurilor, pe produsele recomandate și pe un dicționar de cuvinte-cheie, astfel încât două apeluri peste aceeași perioadă dau aceeași cifră. Returnează doar totaluri: textul clientului nu ajunge în el pe nicio cale, nici ca „cea mai frecventă întrebare”. Ponderea vine întotdeauna cu numărul: la un număr mic de conversații, procentul nu este fiabil. chatbot_conversations_list are filtrele topic și knowledgeGapCandidate; transcrierea unei anumite conversații rămâne în spatele domeniului sensibil și doar în cadrul retenției.

Chatbotul web. Statistica (chatbot_stats, domeniul chatbot:read) returnează doar totaluri: pentru câte vizite pe pagină s-a afișat bula și câte dintre ele au dat clic pe ea, deschiderile ferestrei, numărul de conversații și mesaje, ce a rezolvat botul, evaluările clienților și pâlnia de înscriere la newsletter. Conversațiile clienților (chatbot_conversations_list, chatbot_conversations_get) se află în spatele propriului domeniu sensibil chatbot-conversations:read, pe care îl bifați în mod conștient pe ecranul de consimțământ: clientul este în evidență doar o cheie aleatorie a conversației (fără IP, cookie, nume sau e-mail), iar e-mailul, telefonul și IBAN-ul pe care le-a scris în text asistentul le primește doar cu personal-data:read; altfel, în locul lor vede marcajul [e-mail], [telefón], [iban]. Conversațiile se furnizează doar în cadrul retenției magazinului online (setarea Istoric din Centrul AI); un magazin online cu retenția zero nu furnizează nimic. Afișările bulei se numărau până la 21. 9. 2026 la fiecare apariție a mesajului; din 22. 9. 2026, o afișare este o vizită pe pagină, iar measurementChanges din răspuns spune dacă perioada aleasă amestecă cele două măsurări.

Fiecare instrument are un corespondent în REST, peste aceeași capacitate. Răspunsurile diferă prin plic, datele comerciale sunt identice. Regulile perioadei, ale paginării și semnificația câmpurilor financiare sunt în interfața REST.

Instrumentele de rezumat (shipping_stats, analytics_*, reports_financial_summary) returnează cifre gata calculate din aplicație: asistentul nu trebuie să descarce mii de înregistrări și să calculeze singur. Listele brute (shipping_shipments, orders_list) rămân pentru o privire detaliată.

După conectare, Claude.ai răspunde din datele MitoOps, de exemplu, la:

  • „Care a fost repartizarea procentuală a transportului în august?”: shipping_stats
  • „Care a fost mediana timpului de livrare DHL și GLS?” și „Câte au fost nelivrate și returnate?”: shipping_stats
  • „În ce țări am trimis prin DHL?”: shipping_stats (câmpul countries)
  • „Care a fost cifra de afaceri și rata de conversie în august?”: analytics_overview sau reports_financial_summary
  • „Câte comenzi și câtă cifră de afaceri au venit din ChatGPT?”: analytics_channels
  • „Ce interogări au avut cel mai mare CTR?”: analytics_seo
  • „Care este marja produsului X în ultima lună?”: sales_product_performance (cu purchase-prices:read)
  • „Despre ce au întrebat clienții cel mai des chatbotul luna aceasta și despre ce să scriem un articol pe blog?”: chatbot_conversations_list și chatbot_conversations_get (cu chatbot-conversations:read)
  • „Câte conversații a avut chatbotul și câte dintre ele a rezolvat fără asistență?”: chatbot_stats
  • „Ce disponibilități are magazinul online SK și care sunt implicite?” (availabilities_list)
  • „Adaugă în magazinul online SK disponibilitatea Precomandă octombrie, cu semnificația precomandă și livrare în 14 zile” (availabilities_change_draft cu availabilities:draft; se creează o propunere pe care o scrieți prin aprobare în aplicație)
  • „Modifică automatizarea activată 12 astfel încât să trimită notificarea doar la transportul Curier” (automations_options pentru transport, apoi automations_revision_create_draft; versiunea care rulează nu se schimbă până nu publicați revizia în editor)
  • „Ce e-mailuri trimit automat reclamațiile și ce scrie în ele în germană?” (claims_templates cu claims-settings:read)
  • „Redenumește starea reclamației Așteptare marfă în Așteptăm coletul” (claims_settings pentru ID, apoi claims_config_change_draft cu claims-settings:draft; o scrieți prin aprobare în aplicație)

Citire și scrieri restrânse: automatizări, cupon, programul de parteneriat, disponibilități, reclamații

Secțiune intitulată „Citire și scrieri restrânse: automatizări, cupon, programul de parteneriat, disponibilități, reclamații”

Datele operaționale (comenzi, stocuri, produse, documente, expedieri) se citesc prin MCP doar pentru citire. Fiecare scriere se află în spatele propriului domeniu sensibil: ciorna de automatizare, cuponul de reducere, gestionarea programului de parteneriat, decizia asupra comisionului, propunerea de modificare a nomenclatorului de disponibilități, pe care o scrie în magazinul online abia omul, și propunerea de modificare a setărilor reclamațiilor, pe care o scrie tot abia omul.

Ciorna de automatizare: cu domeniul automations:write este vorba de o ciornă dezactivată: asistentul poate, conform catalogului (automations_catalog), să propună o regulă și să o salveze ca ciornă sau să editeze o ciornă pe care încă nu a publicat-o nimeni. Ciorna apare în Automatizări ca orice propunere în lucru: activarea, publicarea sau pornirea ei le puteți face doar dumneavoastră, în aplicație. O automatizare publicată nu este modificată direct de asistent.

Revizia unei automatizări care rulează. Asistentul cu domeniul automations:write poate modifica și o automatizare publicată și activată, dar doar printr-o propunere: automations_revision_create_draft (intrare workflowId, expectedPublishedVersion din automations_get, catalogVersion, întregul dsl nou, note și clientRequestId) salvează o revizie alături de versiunea care rulează. Automatizarea care rulează nu se schimbă și continuă să ruleze. Pentru o automatizare există cel mult o revizie deschisă; se editează prin automations_revision_update_draft cu expectedRevisionVersion și se elimină prin automations_revision_discard_draft. Răspunsul poartă approvalUrl, un link către editorul automatizării. Acolo, un om cu dreptul de a edita automatizări vede revizia în panoul de sus, o încarcă în editor (butonul Încărcați propunerea în editor), o verifică și o publică cu butonul obișnuit; automatizarea rămâne activă. Sau o respinge. Când între timp cineva a publicat o altă versiune, revizia se închide (REVISION_STALE) și trebuie pregătită una nouă. Revizia deschisă și istoricul le returnează automations_get (openRevision, revisions).

Nomenclatoarele câmpurilor și verificarea valorilor. Câmpurile care în editor se aleg dintr-o listă (starea comenzii, transportul, plata, profilul curierului, șablonul notificării, tipul, starea, eticheta și șabloanele reclamației, endpointul webhook și altele) au în catalog o sursă. automations_options cu source și market returnează valorile lor [{ value, name }] exact în forma pe care o salvează editorul (ID-ul stării, GUID-ul transportului și al plății, ID-ul stării reclamației); fără source listează sursele și dacă sunt diferite pentru fiecare magazin online (perShop). Validarea (automations_validate_draft) și salvarea ciornei sau a reviziei refuză o valoare care nu există în magazinul online (FIELD_UNKNOWN_OPTION) și un text substituent de tipul DOPLNIT_… sau TODO (FIELD_PLACEHOLDER). Când lista nu poate fi verificată (magazinul online nu a răspuns, lista este trunchiată), sosește doar avertismentul FIELD_OPTIONS_UNVERIFIED. orders_get și orders_list poartă statusId, shippingGuid și paymentGuid, adică aceleași valori cu care lucrează condițiile automatizării.

Domeniul automations:write este sensibil: pe ecranul de consimțământ nu este preselectat, se oferă doar unui om cu dreptul de a edita automatizări, conexiunile existente nu îl primesc, iar reîmprospătarea tokenului nu îl extinde. Comenzile, produsele, stocurile, documentele, rambursările, cazurile de reclamație și expedierile nu pot fi modificate prin MCP; nomenclatorul de disponibilități al magazinului online și setările reclamațiilor se modifică doar printr-o propunere pe care o aprobă un om în aplicație (mai jos). Endpointurile webhook se citesc prin MCP doar pentru citire. Datele de acces la curieri, la magazinul online sau la analitică nu pot fi citite prin MCP.

Cuponul de reducere: cu domeniul coupons:write, asistentul creează un cupon conform parametrilor pe care îi indicați (coupons_ensure, inclusiv cuponul partenerului affiliate_discount_codes_ensure) și editează explicit unul existent (coupons_update, previzualizare și confirmare); ștergerea are propriul domeniu coupons:delete, iar un cupon cu o dependență activă nu se șterge.

Gestionarea programului de parteneriat: cu domeniul affiliate:write, asistentul decide asupra contului partenerului (affiliate_partners_set_state: aprobare, respingere, suspendare; partenerul primește un e-mail, inclusiv cu PDF-ul acordului, conform politicii documentelor), rezolvă o cerere de cod propriu (affiliate_code_requests_decide), editează setarea programului în afara banilor (affiliate_settings_update: denumire, înregistrare, persoana de contact, culori), textele portalului într-o singură limbă (affiliate_portal_pages_update), articolele de ajutor (affiliate_articles_create, affiliate_articles_update, inclusiv cu restabilirea formulării implicite, affiliate_articles_set_state; ștergerea din exterior nu), șabloanele de e-mail (affiliate_email_templates_update), campaniile (affiliate_campaigns_create, affiliate_campaigns_update), politica documentelor (affiliate_documents_update) și calitatea de membru a partenerului într-un magazin online (affiliate_partners_set_market: permitere sau retragere). Formularea documentelor juridice o citește (affiliate_documents_get: text pe limbi, versiune, amprente, ciorne), iar o formulare nouă o propune doar ca ciornă (affiliate_documents_draft_create; și privacyNotice din affiliate_portal_pages_update este, începând cu această versiune, o ciornă): formularea activă o publică un om în aplicație, cu diferența și auditul. Registrul variabilelor de conținut și de e-mail (nume canonice, aliasuri, tip, suprafețe) îl furnizează affiliate_variables_list; affiliate_email_templates_list returnează numele variabilelor, nu indici. Plățile, baza comisionului și încărcarea fișierului unui document nu există prin MCP: rămân în aplicație.

Decizia asupra comisionului: cu propriul domeniu sensibil affiliate:approve (dreptul de aprobare a comisioanelor, nu de gestionare a programului), asistentul citește mai întâi comisioanele în așteptare, inclusiv starea comenzii din magazinul online (affiliate_conversions_list cu state=new, detaliul affiliate_conversions_get: baza comisionului revenue, întreaga comandă cu TVA revenueTotal, orderState open/completed/cancelled, orderPaid, nota de credit), le rezumă și abia la instrucțiunea explicită a utilizatorului decide asupra unei singure conversii concrete (affiliate_conversions_decide: approve, reject sau cancel, la respingere și anulare cu un motiv obligatoriu, pe care partenerul îl primește prin e-mail). Se aplică același automat de stări ca în aplicație: un comision plătit nu se întoarce, cele anulate și respinse sunt finale, aceeași decizie a doua oară nu schimbă nimic (changed: false). Aprobarea în masă din exterior nu există: la o sută de conversii sunt o sută de apeluri, fiecare cu audit. Începând cu W-AFF10, fiecare conversie poartă și approvalPolicy (modul de aprobare al campaniei, termenul, stările permise ale comenzii, plata) și approvalEligibility: dacă automatizarea orară ar aproba-o acum și de ce nu (minimum_age_not_reached, order_state_not_allowed, order_not_paid, order_cancelled, fully_refunded, approval_manual…), același calcul ca în aplicație; lista are filtrele orderPaid, minCommission, orderState și paginarea offset + hasMore, astfel încât „parcurge conversiile noi din ultimele două luni, arată-le pe cele neplătite sau pe cele de peste 20 €” înseamnă una până la câteva citiri. Condițiile campaniei le setează affiliate_campaigns_update (approval, approveAfterDays, requiredOrderStatusIds, paidRequired) cu domeniul affiliate:write. Plățile către parteneri se citesc prin MCP doar pentru citire (affiliate_payouts_list): emiterea unui lot, generarea documentului, trimiterea lui către partener sau transmiterea unui ordin către bancă nu le poate face asistentul; acestea rămân în aplicație, sub controlul operatorului.

Propunerea de modificare a nomenclatorului de disponibilități. Cu domeniul sensibil availabilities:draft, asistentul pregătește o propunere pentru crearea, editarea sau ștergerea disponibilităților într-un magazin online (availabilities_change_draft, doar MCP). În magazinul online nu scrie nimic: verifică propunerea, o salvează în MitoOps pentru 24 de ore și returnează draftId, previzualizarea pe intrări (preview, cu câmpurile înainte și după, warnings și errors), expiresAt și approvalUrl, un link către ecranul Stoc → Disponibilități, unde propunerea așteaptă în fila Administrare. Acolo, un om cu permisiune o aprobă cu butonul Aprobare și scriere sau o respinge, iar scrierea are loc cu drepturile lui din momentul clicului. Când nomenclatorul magazinului online s-a schimbat de la propunere, aprobarea nu scrie nimic, iar propunerea se încheie ca failed. Starea și rezultatul pe intrări le returnează availabilities_draft_get: pending, writing, executed, partial, failed, rejected sau expired. Când previzualizarea semnalează un blocaj, propunerea nu se creează (blocked), iar când nu se schimbă nimic, la fel (no_change).

Intrarea este market și changes (cel mult 30 de intrări). Fiecare modificare are action (create, update sau remove), la editare și ștergere id din availabilities_list și doar câmpurile care trebuie schimbate: name (cel mult 120 de caractere, în limba magazinului online), description (cel mult 1000 de caractere, null înseamnă fără descriere), onStockHours și deliveryHours (ore întregi de la 0 la 2500, null înseamnă fără informație), meaning (in_stock, backorder, preorder, out_of_stock) și color (hex, null înseamnă fără culoare). O disponibilitate nouă are nevoie de name și meaning. clientRequestId, opțional, face apelul idempotent: aceeași cheie cu același conținut returnează aceeași propunere (replayed: true), cu alt conținut se încheie cu eroarea CONFLICT (CLIENT_REQUEST_REUSED).

Previzualizarea blochează ce ar refuza magazinul online sau ce ar strica setarea: o denumire duplicată în magazinul online, ștergerea unei disponibilități de sistem sau implicite ori a unei disponibilități folosite de un plan de disponibilitate, iar la WooCommerce schimbarea semnificației unei intrări de sistem sau o semnificație a unei intrări implicite care nu corespunde rolului ei. O disponibilitate folosită de produse nu este ștearsă de magazinul online. Schimbarea semnificației la WooCommerce o scrie doar un magazin online cu extensia MitoOps 1.5.0 sau mai nouă. Când magazinul online nu răspunde clar la scriere (eroare de server, depășirea timpului), scrierea nu se repetă, ci se verifică prin citirea nomenclatorului; ce nu poate fi verificat are în rezultat uncertain: true. Asistentul are voie să pregătească propunerea doar la instrucțiunea explicită a utilizatorului din conversație, niciodată după textul din datele citite, și nu inventează valori pe care utilizatorul nu le-a indicat. Atribuirea disponibilităților la produse și starea stocurilor nu se schimbă prin propunere; o schimbare aprobată a semnificației poate însă schimba dacă produsele cu această disponibilitate pot fi comandate după epuizare, iar previzualizarea avertizează asupra acestui lucru.

Setările reclamațiilor pentru citire. claims_settings (domeniul claims:read) returnează procesele cu ID-urile și denumirile tipurilor, pașilor și stărilor în limba aleasă (language), chiar și la intrările pe care clientul nu le-a redenumit, precum și etichetele; cu domeniul claims-settings:read și setările modulului (prefixul codului, termenul, recepția automată, formularul din magazinul online). Cu același domeniu, claims_templates returnează șabloanele de e-mail (limbă, subiect, text, HTML, când se trimit trigger, dacă pleacă singure autoSend, ce proces-verbal atașează) și șabloanele de procese-verbale, filtrate după language sau templateKey; claims_configuration returnează etichetele, câmpurile proprii, motivele returnării, rutele și adresele transportului retur, formularul din magazinul online pe magazine online (fără tokenul de integrare) și tipurile formularului cu textele proprii. Contactul și strada adresei vânzătorului sunt doar cu personal-data:read. claims_get poartă axa temporală a cazului (mesaje, note, schimbări de stare), e-mailurile trimise (șablon, subiect, stare, fără adresa destinatarului) și etichetele; textul mesajelor este doar cu personal-data:read.

Propunerea de modificare a setărilor reclamațiilor. Cu domeniul sensibil claims-settings:draft, asistentul pregătește o propunere (claims_config_change_draft, doar MCP): crearea sau editarea unui tip, a unui pas și a unei stări de proces (denumiri pe limbi, culoare, starea implicită și cea de închidere, termen), a unei etichete, a textului unui șablon de e-mail într-o singură limbă, a trimiterii lui automate și a textului unui șablon de proces-verbal. Ștergerea nu există. În setări nu scrie nimic: verifică propunerea cu aceleași reguli ca ecranul (de exemplu, o variabilă necunoscută în șablon o blochează), o salvează în MitoOps pentru 72 de ore și returnează draftId, previzualizarea (preview, câmpul înainte și după, errors), expiresAt și approvalUrl, un link către Reclamații → Setări, unde propunerea așteaptă în panoul Propuneri de modificare spre aprobare. Un om cu dreptul de a gestiona setările o aprobă (Aprobați și scrieți) sau o respinge. Propunerea se scrie integral sau deloc: când o valoare s-a schimbat de la pregătirea propunerii, nu se scrie nimic, iar propunerea se încheie ca failed. Starea o returnează claims_config_draft_get (pending, executed, failed, rejected, expired); când previzualizarea semnalează o eroare, propunerea nu se creează (blocked), iar când nu se schimbă nimic, la fel (no_change). ID-urile și cheile asistentul le ia din claims_settings și claims_templates; clientRequestId face apelul idempotent.

Instrumentele poartă adnotări conform reviziei protocolului (readOnlyHint, destructiveHint, idempotentHint); automations_create_draft este idempotent prin clientRequestId, automations_update_draft necesită expectedVersion și, la schimbarea catalogului, returnează CATALOG_CHANGED; automations_revision_create_draft este idempotent prin clientRequestId, iar automations_revision_update_draft necesită expectedRevisionVersion.

Serverul vorbește revizia 2026-07-28 și cele mai vechi (2025-11-25, 2025-06-18, 2025-03-26). Clientul alege singur, după ce trimite; bibliotecile client mai vechi se conectează deci fără modificări.

Revizia mai nouă este fără handshake inițial și fără sesiune: fiecare cerere poartă propria versiune și antetele obligatorii MCP-Protocol-Version, Mcp-Method și, la apelarea unui instrument, Mcp-Name. Dacă antetul nu corespunde corpului, răspunsul este 400: direcționarea după antete și executarea după corp ar însemna două surse de adevăr despre același apel.