Obtenez votre clé API gratuitement
Inscrivez-vous en 1 minute pour tester et intégrer l'API TAMBA sur votre site.
API Reference
Documentation complète de l'API TAMBA. Intégrez notre service de livraison express dans votre application en quelques minutes.
Introduction
L'API TAMBA est une API REST qui vous permet d'intégrer notre service de livraison express dans votre application e-commerce, ERP ou logiciel de gestion. Toutes les réponses sont au format JSON.
REST & JSON
Endpoints simples, réponses JSON prévisibles, compatible avec tous les langages
Sécurisé
Authentification par clé API, HTTPS obligatoire, vérification de signature webhook
Temps réel
Webhooks pour mises à jour instantanées du statut de livraison
Flux d'intégration typique
Afficher les options
Appelez GET /estimate au checkout pour afficher les prix moto et voiture
Créer la livraison
Une fois la commande validée, appelez POST /deliveries pour créer l'expédition
Transmettre le code
Communiquez le tracking_code à votre client par email ou SMS
Suivre en temps réel
Utilisez GET /deliveries/{tracking_code} ou les webhooks pour les mises à jour
// 1. Estimer le prix
const estimate = await fetch(
'https://api.tamba.app/v1/estimate?pickup_address=Bamako+ACI&delivery_address=Badalabougou&package_size=small',
{ headers: { 'Authorization': 'Bearer tmb_live_xxx' } }
).then(r => r.json());
console.log(estimate.options); // [{ vehicle_type: 'moto', price: 2500 }, ...]
// 2. Créer la livraison
const delivery = await fetch('https://api.tamba.app/v1/deliveries', {
method: 'POST',
headers: {
'Authorization': 'Bearer tmb_live_xxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sender_name: 'Ma Boutique', sender_phone: '+223 20 00 00 00',
receiver_name: 'Fatoumata', receiver_phone: '+223 76 12 34 56',
pickup_address: 'Bamako, ACI 2000', delivery_address: 'Badalabougou',
package_size: 'small', vehicle_type: 'moto'
})
}).then(r => r.json());
console.log(delivery.delivery.tracking_code); // "TLY-A3K9M2X7"Authentification
L'API TAMBA utilise des clés API pour authentifier les requêtes. Incluez votre clé dans le header Authorization de chaque requête. Ne partagez jamais votre clé API et ne la committez pas dans votre code source.
curl "https://api.tamba.app/v1/..." \ -H "Authorization: Bearer tmb_live_xxxxxxxxxxx"
const response = await fetch(
'https://api.tamba.app/v1/...',
{
headers: {
'Authorization': 'Bearer tmb_live_xxx',
'Content-Type': 'application/json'
}
}
);Production
tmb_live_Vraies livraisons, facturation réelle
Test / Sandbox
tmb_test_Simulation sans coût ni livreur réel
Rate Limit
100 req/minContactez-nous pour augmenter la limite
/estimateCalculer un prix de livraison
Obtenez une estimation du coût et de la durée de livraison avant de créer une expédition.
pickup_addressAdresse de ramassage complète
delivery_addressAdresse de livraison complète
package_sizesmall | medium | large | extra_large
vehicle_typemoto | car
Requête
curl -X GET "https://api.tamba.app/v1/estimate?pickup_address=Bamako,ACI+2000&delivery_address=Bamako,Badalabougou&package_size=small" \ -H "Authorization: Bearer YOUR_API_KEY"
Réponse
{
"success": true,
"options": [
{ "vehicle_type": "moto", "price": 2500, "currency": "XOF", "estimated_duration": "30-45 min" },
{ "vehicle_type": "car", "price": 5000, "currency": "XOF", "estimated_duration": "45-60 min" }
],
"distance_km": 8.4
}/deliveriesCréer une expédition
Crée une nouvelle demande de livraison. Retourne un code de suivi unique.
sender_nameNom de l'expéditeur
sender_phoneTéléphone de l'expéditeur
receiver_nameNom du destinataire
receiver_phoneTéléphone du destinataire
pickup_addressAdresse de ramassage
delivery_addressAdresse de livraison
package_sizesmall | medium | large | extra_large
vehicle_typemoto | car
prioritystandard | express | urgent
payment_methodcash | mobile_money | card
Requête
curl -X POST "https://api.tamba.app/v1/deliveries" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sender_name":"Ma Boutique","sender_phone":"+223 20 00 00 00","receiver_name":"Fatoumata Diallo","receiver_phone":"+223 76 12 34 56","pickup_address":"Bamako, ACI 2000","delivery_address":"Bamako, Badalabougou Est","package_size":"small","vehicle_type":"moto"}'Réponse
{
"success": true,
"delivery": {
"tracking_code": "TBA-A3K9M2X7",
"status": "pending",
"price": 3000,
"currency": "XOF",
"estimated_duration": "30-45 min"
}
}/deliveries/{tracking_code}Suivre une expédition
Récupère l'état actuel d'une livraison ainsi que les informations du livreur assigné.
tracking_codeCode de suivi unique — dans l'URL
Requête
curl -X GET "https://api.tamba.app/v1/deliveries/TBA-A3K9M2X7" \ -H "Authorization: Bearer YOUR_API_KEY"
Réponse
{
"success": true,
"delivery": {
"tracking_code": "TBA-A3K9M2X7",
"status": "in_transit",
"driver": { "name": "Bakary Konaté", "phone": "+223 76 11 22 33", "rating": 4.8 }
}
}/deliveriesLister les expéditions
Récupère la liste paginée de vos expéditions.
statuspending | assigned | in_transit | delivered | cancelled
limitNombre de résultats (défaut: 20, max: 100)
pageNuméro de page
Requête
curl -X GET "https://api.tamba.app/v1/deliveries?status=delivered&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY"
Réponse
{
"success": true,
"data": [{ "tracking_code": "TBA-A3K9M2X7", "status": "delivered", "price": 3000 }],
"pagination": { "total": 142, "page": 1, "limit": 10 }
}/deliveries/{tracking_code}Annuler une expédition
Annule une expédition en attente ou assignée.
tracking_codeCode de suivi — dans l'URL
reasonMotif d'annulation
Requête
curl -X DELETE "https://api.tamba.app/v1/deliveries/TBA-A3K9M2X7" \ -H "Authorization: Bearer YOUR_API_KEY"
Réponse
{
"success": true,
"message": "Expédition TBA-A3K9M2X7 annulée avec succès."
}