# agentic-commerce-api

API de **présentation catalogue** et de **devis configurable** Fulfiller, destinée aux agents IA et au
chatbot. Particularité : un produit Fulfiller n'est pas un SKU à prix figé mais un **espace de
configuration** (format, support, grammage, quantité, finition, délai) dont le prix est **calculé**.

## Endpoints

- `GET /catalog/search?q=&limit=` — recherche de produits cotables (renvoie `zeloomProductId`, `sku`, prix d'appel).
- `GET /catalog/resolve?sku=` **ou** `?url=` — identité EXACTE → `zeloomProductId`. Si vous arrivez d'une page produit, son SKU est déclaré dans le JSON-LD de la page : passez par ici plutôt que par une recherche approximative.
- `GET /products/{id}/config` — espace de configuration d'un produit (options et valeurs disponibles). Porte aussi l'`url` de la page produit quand elle est résoluble.
- `POST /products/{id}/validate` — résout une sélection (tolérante) et vérifie sa commandabilité par une sonde de cotation interne (aucun prix renvoyé) → sélection résolue, options activables, alertes. Une quantité soumise hors de toute plage déclarée ressort en alerte `QUANTITY_OUT_OF_RANGE` severity `error` — c'est exactement ce que `/quote` refusera en 400 sur la même sélection.
- `POST /products/{id}/quote` — devis pour une sélection (prix HT, devise, délai, promo).
- `POST /products/{id}/quote/pivot` — grille de prix par palier de quantité.
- `POST /checkout` — crée un panier anonyme (id-capacité), avec des lignes initiales optionnelles.
- `GET /checkout/{id}` — lit un panier (snapshot figé, jamais re-coté à la lecture).
- `PATCH /checkout/{id}` — modifie un panier (retraits, changements de quantité, ajouts).
- `DELETE /checkout/{id}` — supprime définitivement un panier (204 ; 404 si inconnu ou expiré).

## Connecteur MCP

`POST https://www.fulfiller.com/agenticopenapi/mcp` — serveur **MCP** (Model Context Protocol), transport Streamable HTTP,
stateless et sans authentification. Collez cette URL dans un client compatible (connecteurs
Claude, mode développeur ChatGPT, Claude Code, IDE) pour installer le catalogue et le devis
Fulfiller comme outils. Les outils exposés enveloppent exactement les endpoints ci-dessus.

Contrat machine : `https://www.fulfiller.com/agenticopenapi/openapi.json` (OpenAPI 3.1). Statut : `https://www.fulfiller.com/agenticopenapi/health`.
