API REST de la marketplace marocaine d’influence Wassit. Recherchez les créateurs, créez des commandes, gérez les livrables, les paiements en escrow et les webhooks. Tous les montants sont en MAD par défaut ; la conversion EUR/USD/GBP/CAD est exposée via `/v1/fx`.
Chaque appel doit être signé via une clé API privée transmise dans l'en-tête X-API-Key ou via un jeton porteur Authorization: Bearer sk_live_*. Un flux OAuth 2.0 sera proposé aux intégrations multi-utilisateurs.
# En-tête X-API-Keycurl https://api.wassit.ma/v1/account/me \ -H "X-API-Key: sk_live_REPLACE_ME" # En-tête Authorization Bearercurl https://api.wassit.ma/v1/account/me \ -H "Authorization: Bearer sk_live_REPLACE_ME"Profils publics des créateurs vérifiés.
/v1/creatorsRenvoie la liste paginée des créateurs publics, filtrable par niche, ville et seuil d’abonnés.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| cursor | query | string | non | Curseur de pagination renvoyé par la réponse précédente. cur_eyJpZCI6Im9yZF83SzJNOVAifQ |
| limit | query | integer | non | Nombre maximum d’éléments par page (1 à 100). 20 |
| niche | query | string | non | Filtrer par niche (fashion, beauty, food, tech...). fashion |
| city | query | string | non | Filtrer par ville marocaine. Casablanca |
| minFollowers | query | integer | non | Nombre minimum d’abonnés. 10000 |
| Statut | Schéma | Description |
|---|---|---|
200 | Pagination & object | Liste paginée de créateurs. |
401 | ApiError | Jeton manquant, expiré ou révoqué. |
{ "object": "list", "hasMore": true, "nextCursor": "cur_eyJpZCI6InNhbG1hZWxpZHJpc3NpIn0", "data": [ { "handle": "salmaelidrissi", "displayName": "Salma El Idrissi", "avatarUrl": "https://cdn.wassit.ma/creators/salmaelidrissi.jpg", "bio": "Créatrice mode & lifestyle basée à Casablanca. Bilingue FR/AR.", "city": "Casablanca", "niches": [ "fashion", "lifestyle", "beauty" ], "followers": 184200, "engagementRate": 4.7, "languages": [ "fr", "ar", "en" ], "verified": true, "address": { "line1": "12 rue Ibn Khaldoun", "city": "Casablanca", "region": "Casablanca-Settat", "postalCode": "20000", "country": "MA" } } ]}Langage : json/v1/creators/{handle}Renvoie le profil public détaillé d’un créateur via son handle.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| handle | path | string | oui | Identifiant public du créateur. salmaelidrissi |
| Statut | Schéma | Description |
|---|---|---|
200 | Creator | Profil créateur. |
404 | ApiError | Ressource introuvable. |
{ "handle": "salmaelidrissi", "displayName": "Salma El Idrissi", "avatarUrl": "https://cdn.wassit.ma/creators/salmaelidrissi.jpg", "bio": "Créatrice mode & lifestyle basée à Casablanca. Bilingue FR/AR.", "city": "Casablanca", "niches": [ "fashion", "lifestyle", "beauty" ], "followers": 184200, "engagementRate": 4.7, "languages": [ "fr", "ar", "en" ], "verified": true, "address": { "line1": "12 rue Ibn Khaldoun", "city": "Casablanca", "region": "Casablanca-Settat", "postalCode": "20000", "country": "MA" }}Langage : jsonOffres publiées par les créateurs.
/v1/packagesListe les offres publiées, filtrable par créateur, niche et fourchette de budget en MAD.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| cursor | query | string | non | Curseur de pagination renvoyé par la réponse précédente. cur_eyJpZCI6Im9yZF83SzJNOVAifQ |
| limit | query | integer | non | Nombre maximum d’éléments par page (1 à 100). 20 |
| creatorHandle | query | string | non | Restreindre aux packages d’un créateur donné. salmaelidrissi |
| niche | query | string | non | Filtrer par niche. fashion |
| minPriceMad | query | integer | non | Prix plancher en MAD. 2000 |
| maxPriceMad | query | integer | non | Prix plafond en MAD. 15000 |
| Statut | Schéma | Description |
|---|---|---|
200 | Pagination & object | Liste paginée de packages. |
401 | ApiError | Jeton manquant, expiré ou révoqué. |
{ "object": "list", "hasMore": false, "nextCursor": null, "data": [ { "id": "pkg_reel_30s_salma", "creatorHandle": "salmaelidrissi", "title": "Reel Instagram 30 secondes", "description": "Vidéo Reel verticale de 30s avec montage, voix-off et hashtags proposés.", "format": "reel", "deliveryDays": 7, "revisionsIncluded": 2, "price": { "amount": 8500, "currency": "MAD" }, "priceMad": 8500, "niche": "fashion", "active": true } ]}Langage : jsonCycle de vie des commandes : création, paiement, livraison, litige.
/v1/ordersCrée une commande pour le compte d’une marque. Le paiement est capturé en escrow lors de l’appel à `/pay`.
{ "packageId": "pkg_reel_30s_salma", "brief": "Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7.", "deliveryDate": "2026-06-04", "hashtags": [ "#AtlasN7", "#MadeInMorocco" ]}Langage : json| Statut | Schéma | Description |
|---|---|---|
201 | Order | Commande créée, en attente de paiement. |
400 | ApiError | Le corps de requête est invalide. |
401 | ApiError | Jeton manquant, expiré ou révoqué. |
{ "id": "ord_7K2M9P", "reference": "WST-2026-00042", "packageId": "pkg_reel_30s_salma", "creatorHandle": "salmaelidrissi", "brandId": "org_atlas_cosmetics", "status": "pending_payment", "amount": { "amount": 8500, "currency": "MAD" }, "platformFee": { "amount": 1275, "currency": "MAD" }, "brief": "Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7.", "proofUrl": null, "createdAt": "2026-05-18T10:24:00Z", "updatedAt": "2026-05-21T08:00:00Z", "escrowReleaseAt": "2026-06-04T12:00:00Z"}Langage : json/v1/orders/{id}Renvoie l’état détaillé, le brief et la timeline d’une commande.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| id | path | string | oui | Identifiant de la commande (`ord_*`). ord_7K2M9P |
| Statut | Schéma | Description |
|---|---|---|
200 | Order | Détail de la commande. |
404 | ApiError | Ressource introuvable. |
{ "id": "ord_7K2M9P", "reference": "WST-2026-00042", "packageId": "pkg_reel_30s_salma", "creatorHandle": "salmaelidrissi", "brandId": "org_atlas_cosmetics", "status": "paid", "amount": { "amount": 8500, "currency": "MAD" }, "platformFee": { "amount": 1275, "currency": "MAD" }, "brief": "Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7.", "proofUrl": null, "createdAt": "2026-05-18T10:24:00Z", "updatedAt": "2026-05-21T08:00:00Z", "escrowReleaseAt": "2026-06-04T12:00:00Z"}Langage : json/v1/orders/{id}/payCapture le paiement en escrow. Cet endpoint est mocké en bac à sable : aucune carte n’est débitée réellement.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| id | path | string | oui | Identifiant de la commande (`ord_*`). ord_7K2M9P |
{ "method": "cmi", "paymentMethodId": "pm_cmi_demo"}Langage : json| Statut | Schéma | Description |
|---|---|---|
200 | Order | Paiement capturé, commande passée à `paid`. |
400 | ApiError | Le corps de requête est invalide. |
404 | ApiError | Ressource introuvable. |
{ "id": "ord_7K2M9P", "reference": "WST-2026-00042", "packageId": "pkg_reel_30s_salma", "creatorHandle": "salmaelidrissi", "brandId": "org_atlas_cosmetics", "status": "paid", "amount": { "amount": 8500, "currency": "MAD" }, "platformFee": { "amount": 1275, "currency": "MAD" }, "brief": "Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7.", "proofUrl": null, "createdAt": "2026-05-18T10:24:00Z", "updatedAt": "2026-05-21T08:00:00Z", "escrowReleaseAt": "2026-06-04T12:00:00Z"}Langage : json/v1/orders/{id}/proofLe créateur transmet l’URL publique de la publication et les métriques associées.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| id | path | string | oui | Identifiant de la commande (`ord_*`). ord_7K2M9P |
{ "proofUrl": "https://www.instagram.com/reel/Cxy_demo/", "metrics": { "views": 18400, "likes": 1320, "saves": 86 }, "note": "Publié ce matin 9h. Engagement initial conforme aux estimations."}Langage : json| Statut | Schéma | Description |
|---|---|---|
200 | Order | Preuve enregistrée, commande passée à `proof_submitted`. |
404 | ApiError | Ressource introuvable. |
{ "id": "ord_7K2M9P", "reference": "WST-2026-00042", "packageId": "pkg_reel_30s_salma", "creatorHandle": "salmaelidrissi", "brandId": "org_atlas_cosmetics", "status": "proof_submitted", "amount": { "amount": 8500, "currency": "MAD" }, "platformFee": { "amount": 1275, "currency": "MAD" }, "brief": "Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7.", "proofUrl": "https://www.instagram.com/reel/Cxy_demo/", "createdAt": "2026-05-18T10:24:00Z", "updatedAt": "2026-05-21T08:00:00Z", "escrowReleaseAt": "2026-06-04T12:00:00Z"}Langage : json/v1/orders/{id}/approveLa marque valide la livraison ; le paiement est libéré au créateur sous 24h ouvrées.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| id | path | string | oui | Identifiant de la commande (`ord_*`). ord_7K2M9P |
| Statut | Schéma | Description |
|---|---|---|
200 | Order | Commande passée à `completed`. |
404 | ApiError | Ressource introuvable. |
{ "id": "ord_7K2M9P", "reference": "WST-2026-00042", "packageId": "pkg_reel_30s_salma", "creatorHandle": "salmaelidrissi", "brandId": "org_atlas_cosmetics", "status": "completed", "amount": { "amount": 8500, "currency": "MAD" }, "platformFee": { "amount": 1275, "currency": "MAD" }, "brief": "Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7.", "proofUrl": null, "createdAt": "2026-05-18T10:24:00Z", "updatedAt": "2026-05-21T08:00:00Z", "escrowReleaseAt": "2026-06-04T12:00:00Z"}Langage : json/v1/orders/{id}/revisionLa marque demande une révision du livrable selon les quotas du package.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| id | path | string | oui | Identifiant de la commande (`ord_*`). ord_7K2M9P |
{ "note": "Merci de retravailler le cadrage final pour mieux faire apparaitre le flacon."}Langage : json| Statut | Schéma | Description |
|---|---|---|
200 | Order | Commande passée à `revision_requested`. |
404 | ApiError | Ressource introuvable. |
{ "id": "ord_7K2M9P", "reference": "WST-2026-00042", "packageId": "pkg_reel_30s_salma", "creatorHandle": "salmaelidrissi", "brandId": "org_atlas_cosmetics", "status": "revision_requested", "amount": { "amount": 8500, "currency": "MAD" }, "platformFee": { "amount": 1275, "currency": "MAD" }, "brief": "Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7.", "proofUrl": null, "createdAt": "2026-05-18T10:24:00Z", "updatedAt": "2026-05-21T08:00:00Z", "escrowReleaseAt": "2026-06-04T12:00:00Z"}Langage : json/v1/orders/{id}/disputeOuvre un litige formel : un médiateur Wassit prend le dossier sous 48h ouvrées.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| id | path | string | oui | Identifiant de la commande (`ord_*`). ord_7K2M9P |
{ "reason": "content_off_brief", "description": "Le brief mentionnait un fond clair, la vidéo est tournée de nuit."}Langage : json| Statut | Schéma | Description |
|---|---|---|
200 | Order | Litige enregistré, commande passée à `disputed`. |
404 | ApiError | Ressource introuvable. |
{ "id": "ord_7K2M9P", "reference": "WST-2026-00042", "packageId": "pkg_reel_30s_salma", "creatorHandle": "salmaelidrissi", "brandId": "org_atlas_cosmetics", "status": "disputed", "amount": { "amount": 8500, "currency": "MAD" }, "platformFee": { "amount": 1275, "currency": "MAD" }, "brief": "Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7.", "proofUrl": null, "createdAt": "2026-05-18T10:24:00Z", "updatedAt": "2026-05-21T08:00:00Z", "escrowReleaseAt": "2026-06-04T12:00:00Z"}Langage : jsonAbonnements aux événements asynchrones.
/v1/webhooksRenvoie tous les abonnements webhook actifs pour l’organisation.
| Statut | Schéma | Description |
|---|---|---|
200 | Pagination & object | Liste d’abonnements. |
401 | ApiError | Jeton manquant, expiré ou révoqué. |
{ "object": "list", "hasMore": false, "nextCursor": null, "data": [ { "id": "whk_01HQRB1C7N", "url": "https://hooks.atlas-cosmetics.ma/wassit", "events": [ "order.created", "order.completed" ], "secret": "whsec_HxJpQ8R2zT...", "active": true, "createdAt": "2026-05-10T09:00:00Z" } ]}Langage : json/v1/webhooksCrée un nouvel abonnement webhook. Un `secret` HMAC est renvoyé une seule fois.
{ "url": "https://hooks.atlas-cosmetics.ma/wassit", "events": [ "order.created", "order.completed", "order.disputed" ]}Langage : json| Statut | Schéma | Description |
|---|---|---|
201 | WebhookSubscription | Abonnement créé. |
400 | ApiError | Le corps de requête est invalide. |
401 | ApiError | Jeton manquant, expiré ou révoqué. |
{ "id": "whk_01HQRB1C7N", "url": "https://hooks.atlas-cosmetics.ma/wassit", "events": [ "order.created", "order.completed", "order.disputed" ], "secret": "whsec_HxJpQ8R2zT...", "active": true, "createdAt": "2026-05-21T12:00:00Z"}Langage : json/v1/webhooks/{id}Supprime un abonnement webhook. Opération irréversible.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| id | path | string | oui | Identifiant de l’abonnement webhook (`whk_*`). whk_01HQRB1C7N |
| Statut | Schéma | Description |
|---|---|---|
204 | — | Webhook supprimé. |
404 | ApiError | Ressource introuvable. |
Informations sur l’organisation appelante.
/v1/account/meRenvoie l’organisation appelante, les scopes accordés et le quota de rate-limit.
| Statut | Schéma | Description |
|---|---|---|
200 | Account | Informations sur le compte appelant. |
401 | ApiError | Jeton manquant, expiré ou révoqué. |
{ "organization": "atlas-cosmetics", "scopes": [ "creators.read", "orders.write", "webhooks.manage" ], "rateLimit": 600, "environment": "live", "contactEmail": "[email protected]"}Langage : jsonTransactions, payouts et factures.
/v1/transactionsRenvoie la liste paginée des transactions comptables (charges, payouts, frais).
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| cursor | query | string | non | Curseur de pagination renvoyé par la réponse précédente. cur_eyJpZCI6Im9yZF83SzJNOVAifQ |
| limit | query | integer | non | Nombre maximum d’éléments par page (1 à 100). 20 |
| orderId | query | string | non | Filtrer par commande. ord_7K2M9P |
| type | query | string | non | Filtrer par type de transaction. payout |
| Statut | Schéma | Description |
|---|---|---|
200 | Pagination & object | Liste de transactions. |
401 | ApiError | Jeton manquant, expiré ou révoqué. |
{ "object": "list", "hasMore": false, "nextCursor": null, "data": [ { "id": "tx_01HQR9X4F2", "orderId": "ord_7K2M9P", "type": "charge", "amount": { "amount": 8500, "currency": "MAD" }, "method": "cmi", "createdAt": "2026-05-18T10:25:11Z", "invoiceUrl": "https://api.wassit.ma/v1/invoices/inv_01HQR9X4F2.pdf" } ]}Langage : jsonRecherche plein texte.
/v1/search/creatorsRecherche plein texte sur le nom, le handle et la biographie des créateurs.
| Nom | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
| q | query | string | oui | Texte de recherche (au moins 2 caractères). salma |
| limit | query | integer | non | Nombre maximum d’éléments par page (1 à 100). 20 |
| Statut | Schéma | Description |
|---|---|---|
200 | Pagination & object | Résultats de recherche. |
400 | ApiError | Le corps de requête est invalide. |
{ "object": "list", "hasMore": false, "nextCursor": null, "data": [ { "handle": "salmaelidrissi", "displayName": "Salma El Idrissi", "avatarUrl": "https://cdn.wassit.ma/creators/salmaelidrissi.jpg", "bio": "Créatrice mode & lifestyle basée à Casablanca. Bilingue FR/AR.", "city": "Casablanca", "niches": [ "fashion", "lifestyle", "beauty" ], "followers": 184200, "engagementRate": 4.7, "languages": [ "fr", "ar", "en" ], "verified": true, "address": { "line1": "12 rue Ibn Khaldoun", "city": "Casablanca", "region": "Casablanca-Settat", "postalCode": "20000", "country": "MA" } } ]}Langage : jsonTaux de change indicatifs MAD.
/v1/fxRenvoie la table des taux indicatifs MAD vers EUR/USD/GBP/CAD. Mise à jour quotidienne.
| Statut | Schéma | Description |
|---|---|---|
200 | FxRates | Taux indicatifs. |
{ "baseCurrency": "MAD", "rates": { "EUR": 0.0918, "USD": 0.0996, "GBP": 0.0782, "CAD": 0.1358 }, "updatedAt": "2026-05-21T06:00:00Z"}Langage : jsonObjets renvoyés ou attendus par l'API. Les références $ref pointent vers ces définitions.
Montant monétaire avec devise ISO-4217.
| Champ | Type | Requis | Description |
|---|---|---|---|
| amount | integer | oui | Montant en unité mineure (centimes) ou entier MAD. 8500 |
| currency | enum(5) | oui | Code devise ISO-4217. MAD |
Adresse postale marocaine.
| Champ | Type | Requis | Description |
|---|---|---|---|
| line1 | string | non | 12 rue Ibn Khaldoun |
| line2 | string | non | Résidence Al Andalous, Apt 4B |
| city | string | oui | Casablanca |
| region | string | non | Casablanca-Settat |
| postalCode | string | non | 20000 |
| country | string | oui | Code pays ISO-3166 alpha-2. MA |
Cycle de vie d’une commande Wassit.
pending_paymentpaidin_productionproof_submittedrevision_requestedcompleteddisputedcancelledrefundedpaidLangage : jsonProfil public d’un créateur vérifié sur Wassit.
| Champ | Type | Requis | Description |
|---|---|---|---|
| handle | string | oui | Identifiant unique (slug) du créateur. salmaelidrissi |
| displayName | string | oui | Salma El Idrissi |
| avatarUrl | string<uri> | non | https://cdn.wassit.ma/creators/salmaelidrissi.jpg |
| bio | string | non | Créatrice mode & lifestyle basée à Casablanca. Bilingue FR/AR. |
| city | string | oui | Casablanca |
| niches | string[] | oui | ["fashion","lifestyle","beauty"] |
| followers | integer | oui | 184200 |
| engagementRate | number<float> | non | Taux d’engagement moyen sur 30 jours (pourcentage). 4.7 |
| languages | string[] | non | ["fr","ar","en"] |
| verified | boolean | non | true |
| address | Address | non |
Offre publiée par un créateur (story, reel, post UGC...).
| Champ | Type | Requis | Description |
|---|---|---|---|
| id | string | oui | pkg_reel_30s_salma |
| creatorHandle | string | oui | salmaelidrissi |
| title | string | oui | Reel Instagram 30 secondes |
| description | string | non | Vidéo Reel verticale de 30s avec montage, voix-off et hashtags proposés. |
| format | enum(6) | oui | reel |
| deliveryDays | integer | non | 7 |
| revisionsIncluded | integer | non | 2 |
| price | Money | oui | |
| priceMad | integer | non | Prix en MAD (raccourci, sans objet Money). 8500 |
| niche | string | non | fashion |
| active | boolean | non | true |
Commande passée par une marque auprès d’un créateur.
| Champ | Type | Requis | Description |
|---|---|---|---|
| id | string | oui | ord_7K2M9P |
| reference | string | oui | Référence humaine pour la facturation. WST-2026-00042 |
| packageId | string | oui | pkg_reel_30s_salma |
| creatorHandle | string | non | salmaelidrissi |
| brandId | string | non | org_atlas_cosmetics |
| status | OrderStatus | oui | |
| amount | Money | oui | |
| platformFee | Money | non | |
| brief | string | non | Lancement du parfum Atlas N°7 : ambiance rosée, plan large sur la bouteille, mention #AtlasN7. |
| proofUrl | string<uri> | non | https://www.instagram.com/reel/Cxy_demo/ |
| createdAt | string<date-time> | non | 2026-05-18T10:24:00Z |
| updatedAt | string<date-time> | non | 2026-05-21T08:00:00Z |
| escrowReleaseAt | string<date-time> | non | 2026-06-04T12:00:00Z |
Mouvement comptable lié à une commande.
| Champ | Type | Requis | Description |
|---|---|---|---|
| id | string | oui | tx_01HQR9X4F2 |
| orderId | string | oui | ord_7K2M9P |
| type | enum(5) | oui | charge |
| amount | Money | oui | |
| method | enum(5) | non | cmi |
| createdAt | string<date-time> | oui | 2026-05-18T10:25:11Z |
| invoiceUrl | string<uri> | non | https://api.wassit.ma/v1/invoices/inv_01HQR9X4F2.pdf |
Format unifié des erreurs renvoyées par l’API.
| Champ | Type | Requis | Description |
|---|---|---|---|
| error | object | oui |
Enveloppe de pagination par curseur.
| Champ | Type | Requis | Description |
|---|---|---|---|
| object | enum(1) | oui | list |
| data | object[] | oui | |
| hasMore | boolean | oui | true |
| nextCursor | string | non | cur_eyJpZCI6Im9yZF83SzJNOVAifQ |
| total | integer | non | 312 |
Abonnement à un ou plusieurs événements webhook.
| Champ | Type | Requis | Description |
|---|---|---|---|
| id | string | oui | whk_01HQRB1C7N |
| url | string<uri> | oui | https://hooks.atlas-cosmetics.ma/wassit |
| events | string[] | oui | ["order.created","order.completed","order.disputed"] |
| secret | string | non | Clé partagée pour signer les payloads (HMAC-SHA256). whsec_HxJpQ8R2zT... |
| active | boolean | non | true |
| createdAt | string<date-time> | non | 2026-05-10T09:00:00Z |
Compte appelant : organisation, scopes et quotas.
| Champ | Type | Requis | Description |
|---|---|---|---|
| organization | string | oui | atlas-cosmetics |
| scopes | string[] | oui | ["creators.read","orders.write","webhooks.manage"] |
| rateLimit | integer | oui | 600 |
| environment | enum(2) | oui | live |
| contactEmail | string<email> | non | [email protected] |
Table des taux indicatifs depuis MAD.
| Champ | Type | Requis | Description |
|---|---|---|---|
| baseCurrency | enum(1) | oui | MAD |
| rates | object | oui | {"EUR":0.0918,"USD":0.0996,"GBP":0.0782,"CAD":0.1358} |
| updatedAt | string<date-time> | oui | 2026-05-21T06:00:00Z |
Le playground exécute de vraies requêtes avec vos clés sandbox et vous rend le cURL prêt à coller. Un doute sur un schéma ? L’équipe technique répond sur WhatsApp.