Authentification
L'API de Swinmo Shop utilise des clés API pour authentifier les requêtes. Vous pouvez obtenir vos clés API dans le tableau de bord de votre boutique sous l'onglet Paramètres > Développeurs.
Authorization: Bearer sk_live_votre_cle_secrete_iciGardez votre clé secrète ! Ne la partagez jamais publiquement et ne l'utilisez pas dans du code côté client (navigateur, application mobile publique). Utilisez toujours un proxy serveur pour appeler l'API.
Checkout & Validation API
Créez une session de paiement unique pour vos clients, et vérifiez le statut de la commande en temps réel pour sécuriser la livraison de vos produits.
| Champ | Type | Description |
|---|---|---|
productIdObligatoire | String | L'identifiant unique du produit dans votre boutique. |
amount | Integer | Montant en sous-unité (ex: 25000 pour 25000 XAF). |
email | String | Email du client. |
Order Validation API
Utilisez cet endpoint pour vérifier le statut d'une commande côté serveur après avoir reçu une notification webhook. Cela garantit que le paiement a été réellement validé avant de livrer votre produit.
{
"success": true,
"data": {
"orderId": "ord_123...",
"status": "paid",
"amount": 5000,
"currency": "XAF",
"customerEmail": "client@email.com",
"metadata": { "orderId": "custom_999" }
}
}List Orders API
Récupérez toutes les commandes associées à une adresse email spécifique.
curl -X GET "https://api.swinmo.shop/v1/developer/orders?email=client@email.com" \
-H "Authorization: Bearer sk_live_..."Où trouver vos IDs ?
Pour utiliser l'API, vous avez besoin des identifiants (ID) de vos produits.
Connectez-vous à votre Tableau de Bord, accédez à Paramètres > Développeurs. Vous y trouverez un tableau récapitulatif de tous vos produits avec leurs IDs copiables en un clic.
Webhooks
Les webhooks permettent à Swinmo de vous envoyer des notifications en temps réel sur les événements qui se produisent dans votre boutique. C'est la méthode recommandée pour automatiser la livraison de vos produits numériques.
order.paidDéclenché dès que le paiement est confirmé par l'opérateur (Orange, MTN, Moov, etc).
order.failedDéclenché si le paiement est rejeté ou si la transaction expire.
Vérification de la signature
Pour garantir que les requêtes proviennent bien de Swinmo, nous signons chaque payload avec un code HMAC SHA-256. Vérifiez toujours l'en-tête X-Swinmo-Signature. Nous fournissons un helper simple pour faciliter cette vérification :
const { verifySwinmoSignature } = require("@swinmo/sdk"); // Ou importez le helper depuis notre doc
app.post("/webhook", (req, res) => {
const signature = req.headers["x-swinmo-signature"];
const secret = process.env.SWINMO_WEBHOOK_SECRET;
if (verifySwinmoSignature(JSON.stringify(req.body), secret, signature)) {
const { event, data } = req.body;
// Événement authentique
if (event === "order.paid") {
// Livrez le produit !
}
res.status(200).send("OK");
} else {
res.status(401).send("Signature invalide");
}
});Codes d'erreurs
| Status | Code / Message | Description |
|---|---|---|
| 401 | Invalid API Key | La clé API fournie est incorrecte ou a été révoquée. |
| 403 | Developer features disabled | L'accès API n'est pas activé pour cette boutique. |
| 404 | Product not found | Le productId spécifié n'existe pas ou n'appartient pas à ce compte. |
| 400 | Missing fields | Un ou plusieurs paramètres obligatoires manquent dans le corps de la requête. |