Aller au contenu

Collection Postman

La collection Postman officielle Sangho regroupe tous les endpoints de l’API, préconfigurés avec des exemples de requêtes, des variables d’environnement et des tests automatisés. Elle est mise à jour à chaque nouvelle version de l’API.

1. Importer la collection

Deux méthodes sont disponibles — choisissez celle qui correspond à votre workflow.

Via le bouton Run in Postman

  • Cliquez sur le bouton Run in Postman affiché dans cette page
  • Postman s’ouvre et propose de fork la collection dans votre workspace
  • Choisissez votre workspace et cliquez sur Fork Collection
  • La collection et les deux environnements (Sandbox / Production) sont importés automatiquement

Via le fichier JSON

  • Connectez-vous à votre Dashboard → Développeurs → API → Collection Postman
  • Cliquez sur Télécharger la collection — un fichier sangho-api-vX.X.json est généré
  • Dans Postman : File → Import → Upload Files → sélectionnez le fichier
  • Importez également le fichier d’environnement sangho-env-sandbox.json ou sangho-env-production.json

2. Configurer les variables d’environnement

La collection utilise des variables Postman pour éviter de saisir les clés et IDs manuellement. Renseignez-les une seule fois dans l’environnement actif.

VariableValeurObligatoire
SANGHO_SECRET_KEYsk_test_xxxx (Sandbox) ou sk_live_xxxx (Production)Oui
BASE_URLhttps://api.sangho.com/v1Oui
CUSTOMER_IDID d'un Customer existant dans votre environnementNon
PAYMENT_INTENT_IDID d'un PaymentIntent créé lors de vos testsNon
PRODUCT_IDID d'un Product dans votre catalogueNon
WEBHOOK_SECRETSecret de signature d'un Webhook configuréNon
IDEMPOTENCY_KEYUUID v4 généré — ex. {{$guid}} (variable Postman dynamique)Non
Note

Utilisez la variable dynamique {{$guid}} dans Postman pour générer automatiquement une nouvelle Idempotency-Key à chaque requête.

3. Sélectionner un environnement

  • Sangho Sandbox — préconfiguré avec sk_test_ et la base URL sandbox. Aucune transaction réelle.
  • Sangho Production — à renseigner avec vos clés sk_live_. Transactions réelles déclenchées.
Important

Ne renseignez jamais une clé sk_live_ dans un environnement partagé ou exporté. Utilisez toujours sk_test_ pour vos tests.

4. Endpoints inclus

MéthodeEndpointDescription
GET/apps/Lister les Apps du compte
POST/payment-intents/Créer un PaymentIntent
GET/payment-intents/{id}/Récupérer un PaymentIntent
POST/payment-intents/{id}/confirm/Confirmer un PaymentIntent
POST/payment-intents/{id}/cancel/Annuler un PaymentIntent
POST/payment-intents/{id}/capture/Capturer un PaymentIntent (paiement en deux temps)
POST/checkout-sessions/Créer une CheckoutSession
GET/checkout-sessions/{id}/Récupérer une CheckoutSession
GET/transactions/Lister les transactions
GET/transactions/{id}/Récupérer une transaction
POST/refunds/Créer un remboursement
GET/refunds/{id}/Récupérer un remboursement
POST/payment-links/Créer un lien de paiement
GET/payment-links/Lister les liens de paiement
PATCH/payment-links/{id}/Modifier un lien de paiement
DELETE/payment-links/{id}/Désactiver un lien de paiement
POST/customers/Créer un Customer
GET/customers/Lister les Customers
GET/customers/{id}/Récupérer un Customer
PATCH/customers/{id}/Modifier un Customer
POST/addresses/Créer une adresse
GET/payment-methods/Lister les méthodes de paiement disponibles
POST/products/Créer un produit
GET/products/Lister les produits
PATCH/products/{id}/Modifier un produit
POST/invoices/Créer une facture
GET/invoices/{id}/Récupérer une facture
POST/invoices/{id}/send/Envoyer une facture par email
GET/receipts/{id}/Récupérer un reçu
GET/subscription-plans/Lister les plans d'abonnement
POST/subscriptions/Créer un abonnement
POST/subscriptions/{id}/cancel/Annuler un abonnement
POST/webhooks/Créer un webhook
GET/webhooks/Lister les webhooks
DELETE/webhooks/{id}/Supprimer un webhook
POST/security-profiles/Créer un SecurityProfile (whitelist IP, CORS)
GET/api-calls/Lister les logs d'appels API
POST/sandbox/reset/Réinitialiser les données sandbox
GET/sandbox/cards/Récupérer les numéros de carte de test
GET/sandbox/mobile-money/Récupérer les numéros Mobile Money de test

Synchroniser les mises à jour

Si vous avez importé la collection via Run in Postman, les mises à jour sont disponibles directement depuis Postman. Pour une collection importée via JSON, re-téléchargez le fichier depuis le Dashboard à chaque nouvelle version de l’API.

Note

Le numéro de version courant de la collection est affiché dans Dashboard → Développeurs → API → Collection Postman. La collection respecte le versioning de l’API — v1 est rétrocompatible.

Headers préconfigurés

http
Authorization: Bearer {{SANGHO_SECRET_KEY}}
Content-Type: application/json
Idempotency-Key: {{$guid}}

Exemple — Créer un PaymentIntent

Response POST /payment-intents/ — 201 Created
json
{
  "id": "pi_01HXYZ123456",
  "object": "payment_intent",
  "amount": 15000,
  "currency": "XAF",
  "status": "requires_payment_method",
  "payment_method_types": ["mobile_money", "card"],
  "client_secret": "pi_01HXYZ123456_secret_xxxx",
  "created_at": "2026-05-10T11:00:00Z",
  "expires_at": "2026-05-10T11:30:00Z"
}

Exemple — Erreur clé invalide

Response 401 Unauthorized
json
{
  "error": {
    "code": "SANGHO_INVALID_API_KEY",
    "message": "Aucune clé API valide fournie.",
    "status": 401,
    "doc_url": "https://docs.sangho.ga/api/errors#SANGHO_INVALID_API_KEY"
  }
}

Script de test Postman intégré

Chaque requête inclut un script Tests qui vérifie automatiquement le statut HTTP et stocke les IDs dans les variables d’environnement pour les chaîner.

javascript
// Script Tests inclus dans chaque requête POST
// Vérifie le statut et stocke l'ID pour les requêtes suivantes


pm.test("Statut HTTP correct", () => {
  pm.expect(pm.response.code).to.be.oneOf([200, 201]);
});


pm.test("Réponse JSON valide", () => {
  pm.response.to.have.jsonBody();
});


// Stockage automatique de l'ID pour les requêtes suivantes
const json = pm.response.json();
if (json.id) {
  pm.environment.set("PAYMENT_INTENT_ID", json.id);
}


pm.test("ID présent dans la réponse", () => {
  pm.expect(json).to.have.property("id");
});

Workflow de test recommandé

  • Sélectionnez l’environnement Sangho Sandbox
  • Exécutez POST /customers/ — l’ID est stocké automatiquement dans CUSTOMER_ID
  • Exécutez POST /payment-intents/ — l’ID est stocké dans PAYMENT_INTENT_ID
  • Exécutez POST /payment-intents/{{PAYMENT_INTENT_ID}} /confirm/ avec un numéro de test Sandbox
  • Vérifiez le statut avec GET /payment-intents/{{PAYMENT_INTENT_ID}} /
Note

Utilisez Collection Runner dans Postman pour exécuter l’ensemble du workflow de test en une seule fois et valider votre intégration end-to-end.