6 endpoints
Produits
Un catalogue simple, avec ses commandes, pour vendre par lien de paiement ou checkout — sans construire de boutique.
Les intitulés et descriptions d'endpoints viennent du contrat OpenAPI, en anglais — ils ne peuvent pas diverger de l'API.
En clair
Un mini-catalogue hébergé : publiez un produit, partagez sa page, vendez.
Quand l'utiliser
Pour un commerçant qui vend quelques références et n'a pas de site marchand : le produit porte son prix, son stock et sa page de vente.
Comment l'intégrer
- 1Créez le produit avec son prix et, si besoin, sa quantité disponible.
- 2Partagez sa page de vente comme vous partageriez un lien de paiement.
- 3Suivez ses commandes pour préparer et expédier.
- 4Désactivez le produit plutôt que de le supprimer : l'historique des commandes reste lisible.
- GET
/v1/productsLister les produits - POST
/v1/productsCréer un produit - GET
/v1/products/{reference}Récupérer un produit - PATCH
/v1/products/{reference}Mettre à jour un produit - DELETE
/v1/products/{reference}Désactiver un produit - GET
/v1/products/{reference}/ordersLister les commandes d'un produit
Lister les produits
Renvoie les produits de l'appelant pour l'environnement de la clé, sous forme de Page paginée.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
origin | enum | query | Optionnel | Filtrer par origine de création (API ou DASHBOARD).Valeurs APIDASHBOARD |
pageable | Pageable | query | Requis |
Créer un produit
Crée un produit dans le catalogue de l'appelant. Fournissez un externalId facultatif, défini par vos soins (unique par marchand), pour rendre la création idempotente : un externalId en doublon renvoie le produit existant avec 200 OK.
Schéma · CreateProductRequest
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
name | string | body | Requis | Nom du produit. |
description | string | body | Optionnel | Description longue facultative. |
imageUrl | string | body | Optionnel | URL d'image du produit, facultative. |
price | number | body | Requis | Prix unitaire en MAD, exprimé en unités principales. |
currency | string | body | Optionnel | Devise ISO-4217 ; vaut MAD par défaut. |
stockQuantity | integer (int32) | body | Optionnel | Stock facultatif à suivre ; illimité si omis. |
expiresAt | string (date-time) | body | Optionnel | Horodatage facultatif de fin de vente (ISO-8601 UTC), qui doit être dans le futur. |
externalId | string | body | Optionnel | Identifiant facultatif fourni côté client, unique par marchand. La création d'un produit avec un externalId déjà existant renvoie le produit existant (rejeu idempotent). |
metadata | object | body | Optionnel | Objet metadata libre et facultatif, renvoyé tel quel en lecture et dans le webhook de paiement des commandes de ce produit. |
Récupérer un produit
Récupère un produit par sa référence.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis | Référence du produit. |
Mettre à jour un produit
Met à jour partiellement un produit ; seuls les champs présents dans le corps sont modifiés.
Schéma · UpdateProductRequest
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis | |
name | string | body | Optionnel | Nom du produit. Facultatif ; appliqué uniquement s'il est présent. |
description | string | body | Optionnel | Description du produit. Facultative ; appliquée uniquement si présente. |
imageUrl | string | body | Optionnel | URL de l'image du produit. Facultative ; appliquée uniquement si présente. |
price | number | body | Optionnel | Prix unitaire. Facultatif ; appliqué uniquement s'il est présent. |
active | boolean | body | Optionnel | Indique si le produit est actif. Facultatif ; appliqué uniquement s'il est présent. |
stockQuantity | integer (int32) | body | Optionnel | Quantité totale en stock. Facultatif ; appliqué uniquement s'il est présent. |
expiresAt | string (date-time) | body | Optionnel | Horodatage d'expiration de la fiche produit. Facultatif ; appliqué uniquement s'il est présent. |
clearExpiration | boolean | body | Optionnel | Passez à true pour supprimer l'expiration existante. Facultatif ; appliqué uniquement s'il est présent. |
Désactiver un produit
Désactive le produit afin qu'il ne puisse plus être commandé. Renvoie le produit mis à jour.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis |
Lister les commandes d'un produit
Renvoie les commandes passées pour ce produit sous forme de Page paginée.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis | |
pageable | Pageable | query | Requis |
Une question sur l'intégration ?
Notre équipe technique répond aux intégrateurs, du premier appel en sandbox jusqu'à la mise en production.