Aller au contenu
Matajirai

Développeurs

Connectez Matajirai à vos outils existants.

Une API REST versionnée, des webhooks sortants signés et un serveur MCP pour les assistants IA. Les mêmes jetons, les mêmes règles métier et la même isolation par boutique.

API REST /api/v1

Consultez et modifiez produits, stock, commandes, clients et points de webhook. Montants entiers dans la plus petite unité monétaire, dates ISO 8601 UTC, CORS fermé : l'API est destinée à vos serveurs.

Ressources

  • GET /products, /products/{id}catalog:read
  • POST, PATCH /products, /products/{id}catalog:write
  • POST /inventory/adjustmentsinventory:write
  • GET /orders, /orders/{id}orders:read
  • POST /orders/{id}/transitionsorders:write
  • GET /customers, /customers/{id}customers:read
  • GET, POST, DELETE /webhooks, /webhooks/{id}webhooks:write

Pagination ?limit=1..100 et ?cursor=, tri stable du plus récent au plus ancien. Les écritures exécutent exactement les mêmes règles métier que l'espace marchand : quotas du plan, stock jamais négatif, transitions de commande contrôlées, journal d'audit.

TOKEN=axi_live_…
BASE=https://matajirai.com/api/v1

curl -s "$BASE/orders?status=NEW,CONFIRMED" \
  -H "Authorization: Bearer $TOKEN"

curl -s -X POST "$BASE/products" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"name":"Cold brew 1 L","price":1290}'

Chaque réponse porte Axi-Api-Version et X-Request-Id.

  • Jeton porteur, boutique déduite

    Authorization: Bearer axi_live_… La boutique vient du jeton : aucun paramètre ne permet d'en viser une autre.

  • Portée effective

    Scopes du jeton, croisés avec votre plan et le rôle de son créateur, recalculés à chaque requête.

  • Idempotence obligatoire sur POST

    Idempotency-Key conservée 24 h : la même requête rejoue la réponse enregistrée au lieu de s'exécuter deux fois.

  • Erreurs RFC 9457

    application/problem+json avec un code stable, le scope requis et un request_id à transmettre au support.

Accès à l'API REST et nombre de points de webhook selon le plan
PlanAPI RESTWebhooks
StarterNon incluseNon inclus
BusinessLecture seule (GET)2 points
ScaleLecture et écriture10 points
EnterpriseLecture et écritureIllimités

Webhooks sortants signés

Matajirai appelle votre serveur à chaque événement. Charge utile minimale, signature HMAC, relances jusqu'à 24 heures, et vérification anti-SSRF avant chaque envoi.

Événements

Commandes
order.createdorder.updatedorder.status_changedorder.paidorder.refundedorder.cancelled
Catalogue
product.createdproduct.updatedproduct.deletedinventory.updated
Clients et après-vente
customer.createdcustomer.updatedreturn.createdreturn.status_changedgiftcard.issued
Service
app.ping
Axi-Event: order.created
Axi-Webhook-Id: evt_3f2a…
Axi-Signature: t=1760184000,v1=5f2b…

v1 = hex(HMAC-SHA256(secret, t + "." + corps_brut))
  • Répondez avec un code 2xx en moins de 10 secondes et effectuez le traitement en arrière-plan.
  • Relances à 1 min, 5 min, 30 min, 2 h, 6 h, 12 h puis 24 h.
  • Dédupliquez sur Axi-Webhook-Id : la livraison est garantie au moins une fois.
  • Rotation de secret : deux signatures envoyées pendant 24 heures.
  • HTTPS uniquement, adresses privées et noms internes refusés.

44 outils MCP pour gérer une boutique.

Chaque outil vérifie l'autorisation du jeton, les limites du plan, et ne voit qu'une seule boutique. Toute modification est inscrite au journal d'audit.

Boutique

  • get_store_overview

    Identité, plan, devise et chiffres clés : ventes du jour, 7 et 30 jours, panier moyen, commandes à traiter, meilleures ventes.

    Lecture
  • list_webhook_deliveries

    Livraisons des webhooks sortants : statut, essais, code HTTP, erreur ; filtres par point, statut, événement.

    Lecture
  • list_saved_sections

    Sections de thème enregistrées : nom, type, pages compatibles, usage, limite du plan.

    Lecture
  • get_tax_settings

    Réglages fiscaux : TVA collectée ou non, TTC ou HT, régime, identité fiscale, taux par pays et catégorie, factures émises.

    Lecture

Catalogue

  • search_products

    Recherche par texte, statut, étiquette ou collection, avec pagination.

    Lecture
  • get_product

    Fiche complète : variantes, options, suppléments, stock, collections.

    Lecture
  • create_product

    Crée un produit, en brouillon par défaut, dans la limite du plan.

    Écriture
  • update_product

    Titre, description, prix, promotion, statut, étiquettes, collections.

    Écriture
  • update_variant_price_stock

    Prix et niveau de stock d'une variante, historisé.

    Écriture
  • list_collections

    Collections manuelles et automatiques avec leur nombre de produits.

    Lecture
  • add_products_to_collection

    Ajoute des produits à une collection manuelle.

    Écriture
  • get_catalog_sync_status

    Catalogue WhatsApp / Meta : URL des flux, état de la synchronisation, articles refusés par Meta et motif.

    Lecture
  • trigger_catalog_sync

    Lance une synchronisation complète du catalogue WhatsApp (6 par heure au plus).

    Écriture
  • set_metafield

    Renseigne ou efface un champ personnalisé (défini dans Matajirai) d'un produit, d'une variante ou d'une collection ; valeur validée par type.

    Écriture
  • list_product_files

    Fichiers vendus d'un produit numérique : nom, taille, type, version. Jamais de clé de stockage ni de lien.

    Lecture

Stock

  • adjust_inventory

    Entrée ou sortie de stock avec motif, jamais en négatif.

    Écriture
  • list_low_stock

    Ruptures et stocks bas, du plus urgent au moins urgent.

    Lecture
  • list_locations

    Dépôts, magasins et points de retrait : rôle, retrait possible, nombre d'articles détenus.

    Lecture
  • get_inventory_levels

    Stock par dépôt et stock total de chaque article suivi, avec signalement des écarts et des surventes.

    Lecture
  • transfer_stock

    Déplace des unités d'un dépôt à l'autre (stock total inchangé) ; confirmation exigée au-delà de 50 unités.

    Écriture

Commandes

  • list_orders

    Commandes filtrées par statut, paiement, période ou référence.

    Lecture
  • get_order

    Détail, paiement, historique et prochains statuts possibles.

    Lecture
  • update_order_status

    Fait avancer une commande selon le cycle de vie Matajirai (stock et client mis à jour).

    Écriture
  • add_order_note

    Note interne dans l'historique, jamais visible du client.

    Écriture
  • list_digital_downloads

    Accès de téléchargement des produits numériques : téléchargements utilisés, limite, expiration, dernier téléchargement. Jamais de lien ni de jeton.

    Lecture
  • create_shipment

    Crée une expédition, même partielle, avec livreur interne ou transporteur, et le code de remise à transmettre à l'acheteur.

    Écriture
  • update_shipment_status

    Fait avancer une expédition dans les seules transitions permises ; une expédition partie ne s'annule pas.

    Écriture

Clients

  • list_customers

    Clients avec commandes, montant dépensé et dernière visite.

    Lecture
  • get_customer

    Coordonnées, consentement WhatsApp, fidélité et historique.

    Lecture

Marketing

  • create_discount_code

    Code promo en pourcentage, montant fixe ou livraison offerte, daté.

    Écriture
  • list_discount_codes

    Codes promo, validité et nombre d'utilisations.

    Lecture
  • list_automatic_discounts

    Remises automatiques (lots, 2 achetés = 1 offert, paliers), résumé en phrase et statut.

    Lecture
  • create_automatic_discount

    Crée une remise automatique ; confirmation requise au-delà de 50 %, du panier moyen ou d'un lot à moitié prix.

    Écriture
  • set_automatic_discount_active

    Active ou désactive une remise automatique.

    Écriture
  • list_blog_posts

    Articles du blog : statut (programmé échu = publié), date, catégorie, étiquettes, adresse publique.

    Lecture
  • create_blog_post

    Crée un BROUILLON d'article (jamais publié) en Markdown limité, sans image ; quota d'articles du plan.

    Écriture

Cartes cadeaux

  • list_gift_cards

    Cartes cadeaux, solde et statut ; 4 derniers caractères du code uniquement.

    Lecture
  • issue_gift_card

    Émet une carte cadeau (confirmation toujours requise) ; le code n'est jamais renvoyé à l'assistant.

    Écriture
  • grant_store_credit

    Crédite l'avoir d'un client avec motif (confirmation toujours requise, nécessite aussi customers:read).

    Écriture

Retours

  • list_returns

    Demandes de retour par statut, textes de l'acheteur isolés.

    Lecture
  • get_return

    Détail d'un retour : articles, motif, montants, historique, prochains statuts.

    Lecture
  • update_return_status

    Approuve, refuse (motif), annule, réceptionne ou résout un retour selon son cycle de vie.

    Écriture

Analyses

  • sales_report

    Ventes par jour, semaine ou produit, comparées à la période précédente.

    Lecture
  • pos_daily_report

    Ventes du jour en caisse : nombre, chiffre d'affaires, moyens de paiement, espèces attendues et comptées, écarts de prix hors ligne.

    Lecture

Formulez une demande, l'assistant l'exécute.

L'assistant consulte les données de votre boutique Matajirai, propose des actions, puis les exécute uniquement dans le cadre des autorisations que vous lui avez accordées.

  • « Quels produits sont en rupture ? »

    Liste des articles épuisés, replacés dans vos ventes du mois.

  • « Crée un code promo de 10 % pour ce week-end. »

    Code créé avec sa fenêtre et sa limite d'usage, plus un message prêt à envoyer.

  • « Résume les ventes de la semaine. »

    Évolution du chiffre d'affaires, panier moyen et commandes à préparer en priorité.

  • « Passe la commande BT-7K3P9Q en préparation. »

    Transition appliquée par la machine d'états ; le client est notifié.

Réponses données à titre d'illustration : la formulation varie selon l'assistant.

Compatible avec les assistants que vous utilisez déjà.

Adresse du serveur : matajirai.com/api/mcp.

  • Claude.ai

    Connecteur personnalisé, connexion en un clic (OAuth 2.1 + PKCE)

    Dès Business

  • ChatGPT

    Mode développeur, connecteur MCP avec OAuth

    Dès Business

  • Claude Desktop et Claude Code

    Jeton API, une commande à coller

    Tous les plans

  • Cursor, VS Code, Windsurf

    Fichier mcp.json avec votre jeton

    Tous les plans

  • Vos agents et automatisations

    Tout client MCP en HTTP : n8n, Make, scripts maison

    Tous les plans

Vitrine publique lisible par les IA.

Chaque boutique publiée peut ouvrir son catalogue aux assistants : ils trouvent les produits, vérifient la disponibilité et la livraison, puis préparent un panier que l'acheteur valide lui-même.

  • get_store_info

    Présentation, horaires, contact WhatsApp, livraison, paiements et conditions.

  • search_catalog

    Produits en vente, prix du moment et disponibilité.

  • get_product

    Fiche publique : variantes, suppléments, photos.

  • check_availability

    Vérifie qu'un panier peut être commandé maintenant.

  • get_delivery_options

    Zones et frais de livraison, créneaux de retrait.

  • create_checkout_link

    Prépare un panier : l'acheteur ouvre le lien et valide lui-même sa commande.

POST /api/mcp/store/{slug}
GET  /s/{slug}/llms.txt

Accès sans authentification, limité par adresse IP et désactivable à tout moment. Aucune donnée client, aucune commande et aucun paiement ne sont exposés. Pour en savoir plus, consultez la page intelligence artificielle.

Un App Store pour étendre votre boutique.

Les marchands installent des applications depuis leur espace, avec des autorisations claires. Les développeurs créent, testent et publient les leurs, puis les proposent à toutes les boutiques.

  1. Installation en un clic

    Autorisations demandées affichées avant l'installation, désinstallation à tout moment.

  2. Espace développeur

    Création d'applications, identifiants OAuth, installation de test sur votre boutique, revue avant publication.

  3. Applications embarquées

    Votre interface s'affiche dans l'espace marchand, avec un jeton de session vérifié côté serveur.

Des accès sous votre contrôle.

Les mêmes règles que pour votre équipe : chaque accès est limité à ce qui est nécessaire.

  • Jetons API par boutique

    Affichés une seule fois, stockés hachés, avec expiration, rotation et révocation immédiate.

  • OAuth 2.1 pour la connexion en un clic

    PKCE obligatoire, jetons d'une heure renouvelés par rotation, page de consentement Matajirai.

  • Isolation stricte

    Un accès est lié à une seule boutique. Votre plan et votre rôle limitent ce qu'il peut faire.

  • Journal et quotas

    Chaque appel est journalisé 30 jours ; les quotas par minute et par jour protègent votre boutique.

Connecteur IA inclus dans chaque plan

Starter
Lecture et écriture, 3 jetons
Business
Complet, OAuth, 10 jetons
Scale
Complet, jetons illimités
Enterprise
Complet, quotas sur mesure

Autorisations

  • Informations de la boutiquestore:read
  • Lire le cataloguecatalog:read
  • Modifier le cataloguecatalog:write
  • Ajuster le stockinventory:write
  • Lire les commandesorders:read
  • Traiter les commandesorders:write
  • Données clientscustomers:read
  • Statistiques de ventesanalytics:read
  • Codes promomarketing:write
  • Cartes cadeaux et avoirsgiftcards:write
  • Contenuscontent:write
  • Webhookswebhooks:write
  • Thème de la boutiquetheme:write

Questions fréquentes

La référence complète (outils, OAuth, exemples, codes d'erreur) est fournie avec votre compte.

Quelle est la différence entre l'API REST et le serveur MCP ?
Les deux accèdent à la même boutique, avec les mêmes règles métier et les mêmes jetons. L'API REST est destinée à vos serveurs : routes stables, pagination par curseur, idempotence, spécification OpenAPI. Le serveur MCP est destiné aux assistants IA : il expose des outils décrits en langage naturel, que Claude ou ChatGPT sélectionnent eux-mêmes.
Quels plans donnent accès à l'API REST ?
Lecture seule (GET) à partir du plan Business, lecture et écriture à partir de Scale. Les webhooks sortants suivent la même logique : 2 points sur Business, 10 sur Scale, illimités sur Enterprise. Le connecteur MCP, lui, est inclus dans tous les plans, essai compris.
Comment vérifier la signature d'un webhook ?
Chaque envoi porte un en-tête Axi-Signature au format t=horodatage,v1=signature, où v1 est le HMAC-SHA256 de « horodatage.corps_brut » avec votre secret whsec_. Calculez sur le corps brut reçu, comparez en temps constant, et refusez au-delà de 300 secondes d'écart. Pendant une rotation de secret, deux v1 sont envoyés pendant 24 heures.
Qu'est-ce que MCP ?
Le Model Context Protocol est un standard ouvert qui permet à un assistant IA d'utiliser des outils externes. Matajirai expose un serveur MCP en Streamable HTTP sans état : Claude, ChatGPT ou Cursor peuvent consulter et gérer votre boutique à votre demande.
Un assistant peut-il passer commande à la place d'un client ?
Non. Sur la vitrine publique, un assistant peut uniquement préparer un lien de panier : l'acheteur ouvre lui-même ce lien, choisit la livraison et valide sa commande.
Mes données clients sont-elles protégées ?
Les noms, téléphones et adresses ne sont transmis qu'avec l'autorisation « données clients ». Les webhooks n'envoient aucune donnée personnelle par défaut. Chaque appel est journalisé, chaque accès se révoque en un clic, et les secrets sont stockés hachés ou chiffrés : Matajirai ne peut pas les relire.

Testez l'intégration avec votre propre boutique.

Créez un jeton depuis la page Connecteurs IA, ou connectez Claude.ai en un clic à partir du plan Business.

Façade d'une petite boutique de quartier