Naɓanam

Ajoutez un service de livraison complet à votre activité, avec une seule API.

Vous envoyez la commande. Naɓanam trouve un livreur à proximité, suit la course et renvoie chaque étape à votre application.

  1. Commande transmise POST /deliveries
  2. Course proposée à proximité
  3. Course acceptée
  4. Colis récupéré PICKED_UP
  5. Livraison confirmée DELIVERED
Votre application publie la course, Naɓanam la confie à un livreur et vous renvoie chaque statut par webhook.

Une intégration simple, du prix à la livraison

Pas de dispatching à gérer, pas de système de livraison à développer. Deux appels d'API, puis des webhooks.

  1. Envoyez les deux points du trajet

    Le point de retrait et le point de livraison, en coordonnées GPS.

    POST /api/v1/deliveries/calculate-price
  2. Recevez le prix de la course

    L'API renvoie la distance estimée et le prix à afficher à votre client.

    { distanceM, price }
  3. Publiez la course

    Quand votre client valide sa commande, envoyez votre référence, les adresses et les contacts.

    POST /api/v1/deliveries
    • externalRef
    • pickupAddress
    • pickupPosition
    • dropoffAddress
    • dropoffPosition
    • senderName
    • senderPhone
    • recipientName
    • recipientPhone
  4. Naɓanam la propose aux livreurs

    La course apparaît dans l'application Naɓanam et part vers les livreurs disponibles autour du point de retrait.

  5. Suivez chaque étape

    Un livreur prend la course. Chaque changement de statut arrive sur votre webhook.

    delivery.status_changed

Toute l'infrastructure de livraison, gérée pour vous

Vous vous concentrez sur votre activité. Naɓanam s'occupe de tout ce qui se passe entre la commande et la porte du client.

La course est d'abord proposée près du point de retrait, puis plus loin si personne ne la prend.
Publication des courses
Chaque course garde votre référence. Une même référence ne peut pas être publiée deux fois.
Recherche d'un livreur
La course est envoyée aux livreurs disponibles autour du point de retrait. Sans réponse, la zone de recherche s'élargit.
Position en temps réel
La position du livreur est mise à jour pendant la course et sert à estimer son heure d'arrivée.
Prise en charge rapide
Une course acceptée mais pas récupérée à temps est rappelée au livreur, puis rendue aux autres.
Progression contrôlée
Les statuts avancent dans un ordre défini, de l'acceptation jusqu'à la livraison.

Le prix de chaque course, avant de la publier

Le prix dépend de la distance entre les deux points. Vous l'obtenez en un appel et l'affichez à votre client avant le paiement.

  • Une grille par tranches de distance, appliquée à une distance corrigée pour approcher le trajet réel plutôt que la ligne droite.
  • Le même calcul s'applique quand vous publiez la course.
  • Aucun frais d'accès : l'intégration et l'espace partenaire ne sont pas facturés. Seules les courses ont un coût.

Requête

POST /api/v1/deliveries/calculate-price

{
  "pickupPosition":  { "lat": 14.6937, "lng": -17.4441 },
  "dropoffPosition": { "lat": 14.7167, "lng": -17.4677 }
}

Réponse

{
  "distanceM": distance estimée en mètres,
  "price":     prix de la course en FCFA
}
Frais de livraison price FCFA
Le montant renvoyé s'affiche tel quel dans votre récapitulatif de commande.

Votre application reste synchronisée, sans interroger l'API

À chaque changement de statut, Naɓanam envoie un événement à l'adresse de votre choix.

  • Chaque envoi est signé en HMAC-SHA256 dans l'en-tête X-Nabanam-Signature.
  • Si votre serveur ne répond pas, l'envoi est retenté automatiquement.
  • Quand un livreur rend une course, le motif est joint à l'événement.
  • Le journal des envois et un envoi de test sont disponibles dans l'espace partenaire.

Reçu par votre serveur

POST https://votre-app.sn/webhooks/nabanam
X-Nabanam-Signature: sha256=…

{
  "event": "delivery.status_changed",
  "payload": {
    "externalRef":    "CMD-1042",
    "deliveryId":     "…",
    "previousStatus": "PICKED_UP",
    "newStatus":      "DELIVERED",
    "occurredAt":     "…"
  }
}
Votre commande CMD-1042 passe à « livrée » dans votre application, sans action de votre part.

Les paiements de la course, pris en charge aussi

Choisissez qui encaisse les frais de livraison. Dans les deux cas, Naɓanam rémunère le livreur.

Encaissement par Wave

À la publication, l'API renvoie un lien de paiement Wave du montant de la course. La course part vers les livreurs dès que le paiement est confirmé, et votre client revient sur vos pages de succès ou d'échec.

successUrl errorUrl

Encaissement par vous

Vous collectez les frais de livraison dans votre propre parcours de paiement. La course est publiée immédiatement.

Après chaque livraison, le livreur est payé par Wave, automatiquement. Le mode d'encaissement est défini à l'ouverture de votre compte.

Un suivi précis, une livraison confirmée sur place

Récupérez à tout moment le statut d'une course, le livreur assigné, sa position et son heure d'arrivée estimée.

Suivi par votre référence

GET /api/v1/deliveries/by-ref/CMD-1042/tracking

{
  "status": "PICKED_UP",
  "deliverer": {
    "fullName", "phone", "imageUrl",
    "vehicleType", "vehiclePlateNumber"
  },
  "position": { "lat", "lng", "updatedAt" },
  "eta": { "target", "distanceM", "estimatedArrivalAt" }
}
100 m
Le retrait et la livraison ne peuvent être confirmés qu'à moins de 100 mètres du point concerné.
  • Le livreur voit les adresses en texte, l'itinéraire sur une carte, et ouvre son application de navigation en un geste.
  • Il appelle le vendeur ou le destinataire directement depuis l'application Naɓanam.

Un réseau de livreurs encadré

Vos courses sont confiées à des livreurs admis par Naɓanam et suivis par un score de fiabilité.

  • Inscription sur autorisation : seuls les numéros validés par Naɓanam peuvent ouvrir un compte livreur.
  • Les courses livrées et la régularité chaque semaine font monter le score.
  • Les annulations après acceptation et les courses non récupérées le font baisser.
  1. RestreintNe reçoit plus de courses
  2. SurveilléAverti, avec les raisons
  3. StandardAccès normal aux courses
  4. ÉliteLes plus fiables
Un score trop bas suspend l'accès aux courses. La distance au point de retrait reste le premier critère du dispatching.

Une API sécurisée, et un espace pour la piloter

Chaque requête est authentifiée par votre clé et limitée à vos propres courses.

Sécurité de l'API

  • Clés d'API conservées sous forme hachée, révocables à tout moment.
  • Vos courses ne sont accessibles qu'à votre compte.
  • Chaque requête est validée avant traitement : champs obligatoires, formats, coordonnées.
  • Webhooks signés, adresses de destination vérifiées avant chaque envoi.
  • Paiements Wave vérifiés par signature avant la publication de la course.

Espace partenaire

  • Créer et révoquer vos clés d'API.
  • Déclarer vos webhooks et choisir les événements.
  • Consulter le journal des envois et tester une adresse.
  • Retrouver la documentation, avec des exemples prêts à copier.
Ouvrir l'espace partenaire

Ils livrent avec Naɓanam

  • Miam
  • Biopay

Ajoutez la livraison à votre produit, sans construire l'infrastructure.

Commencez par la documentation. Pour recevoir vos clés d'API, écrivez-nous.