Démarrage rapide
De la clé API à la première livraison, sur la sandbox.
Obtenir une clé
Le propriétaire de la boutique crée une clé sur la sandbox, avec les droits quotes:read, deliveries:read et deliveries:write. La clé commence par fx_live_ et n’est affichée qu’une seule fois : conservez-la dans vos secrets (variable d’environnement, coffre-fort), jamais dans le code ni dans une page web.
Trouver votre adresse d’enlèvement
curl https://sandbox-api.fofoexpress.com/api/v1/partner/pickup-addresses \
-H "Authorization: Bearer $FOFO_API_KEY"Notez l’id de l’adresse où le livreur récupère les colis (isDefault: true pour l’adresse principale).
Demander le prix
curl https://sandbox-api.fofoexpress.com/api/v1/partner/quotes \
-H "Authorization: Bearer $FOFO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pickupAddressId": "ADRESSE_ID",
"dropoff": { "lat": 6.3654, "lng": 2.4183 },
"parcelSize": "SMALL",
"paymentMode": "CASH_ON_DELIVERY"
}'Sans dropoff, le prix est une estimation par zone (isEstimate: true).
Créer la livraison
curl https://sandbox-api.fofoexpress.com/api/v1/partner/deliveries \
-H "Authorization: Bearer $FOFO_API_KEY" \
-H "Idempotency-Key: commande-10482" \
-H "Content-Type: application/json" \
-d '{
"pickupAddressId": "ADRESSE_ID",
"externalRef": "WC-10482",
"customer": { "lastName": "Dossou", "firstName": "Aïcha", "phone": "0197000000" },
"parcel": { "category": "FASHION", "size": "SMALL" },
"payment": { "mode": "CASH_ON_DELIVERY", "goodsAmount": 20000, "feePayer": "CUSTOMER" }
}'Sans dropoff, la livraison est créée avec le statut AWAITING_LOCATION : le client reçoit un lien WhatsApp pour indiquer où livrer. La réponse contient pickupCode, le code que vous donnerez au livreur à l’enlèvement.
Suivre la livraison
Sur la sandbox, faites avancer la livraison étape par étape :
curl -X POST https://sandbox-api.fofoexpress.com/api/v1/partner/sandbox/deliveries/LIVRAISON_ID/advance \
-H "Authorization: Bearer $FOFO_API_KEY"Chaque appel passe à l’étape suivante : position du client, livreur attribué, colis enlevé, colis remis. Pour être prévenu automatiquement, configurez un webhook.