Démarrage rapide
Comprendre Delivery OS, valider vos prérequis et brancher votre premier flux en moins d'une heure.
Vue d'ensemble
Ce que fait la plateforme et ce que couvre l'API.
Delivery OS connecte votre ERP, site ou caisse à un réseau de livreurs en Côte d'Ivoire.
Vous obtenez un tarif avant envoi, créez la course par API, puis la plateforme gère l'assignation et le suivi.
Devis & création
Tarif affiché avant engagement, puis enregistrement de la course avec GPS et destinataire.
Consultation
Liste paginée et fiche détaillée de chaque livraison (référence, statut, tarif, livreur).
Express
Recherche automatique du livreur (polling) et suivi carte en direct.
Planifié
Prise en charge différée avec notifications webhook sur votre serveur.
Checklist avant le premier appel
Cochez mentalement chaque point avec votre équipe technique.
-
Compte vendeur Requis
Utilisateur avec le rôle vendor sur Delivery OS, rattaché à votre commerce.
-
Token API Requis
Bearer Sanctum : delivery.create (devis, création, webhook) et delivery.view (liste, détail, driver, track).
-
Client HTTP Requis
Requêtes REST en JSON (Accept et Content-Type : application/json).
-
Coordonnées GPS Requis
pickup_lat/lng et dropoff_lat/lng dans la zone couverte (Côte d'Ivoire). Hors zone → erreur 422.
-
Endpoint webhook Si planifié
URL HTTPS publique qui accepte les POST (mode planifié uniquement). À configurer via PUT /webhook.
-
Environnement Requis
URL de base de l'API (sandbox ou production) fournie par votre contact Delivery OS.
Connexion à l'API
Base URL, token et en-têtes.
http://delyo.welink-ci.com/api/v1
Authorization: Bearer <token>
et Accept: application/json
sur chaque requête.
id numérique renvoyé à la création dans les URLs
(/deliveries/{id}/…), pas la référence DEL-….
Générer un token
Procédure complète, permissions et exemples : Authentification →
Choisir un mode
Le champ type est obligatoire sur le devis et la création.
| Express | Planifié | |
|---|---|---|
| Champ API | type: express | type: scheduled |
| Usage | Course immédiate : la plateforme cherche et assigne un livreur dès la création. | Course à une date/heure : enregistrement immédiat, prise en charge et assignation gérées par la plateforme. |
| Statut à la création | searching_driver | created |
| Tarification | Surcharge express ajoutée au devis (voir POST /deliveries/quote). | Pas de surcharge express ; tarif = base + distance. |
| Obtenir le livreur | Polling GET /deliveries/{id}/driver, puis GET /track. | PUT /webhook puis écoute des événements POST entrants. |
Course immédiate : la plateforme cherche et assigne un livreur dès la création.
Course à une date/heure : enregistrement immédiat, prise en charge et assignation gérées par la plateforme.
Comparatif détaillé, outcomes express et webhooks : Modes de livraison →
Parcours d'intégration
Ordre des appels selon le mode choisi à la création.
Toujours, quel que soit le mode
-
POST
/deliveries/quoteDevis
Champ type identique à la création.
-
POST
/deliveriesCréation
Retourne id et reference — conserver l'id pour la suite.
-
GET
/deliveries/{id}Détail
Statut, tarif, vendeur et livreur assigné.
Ensuite, si type = express
-
GET
/deliveries/{id}/driverAttribution
Polling jusqu'à driver_search.outcome = assigned.
-
GET
/deliveries/{id}/trackSuivi
Position et phase une fois le livreur assigné.
Ensuite, si type = scheduled
-
PUT
/webhookWebhook
Une fois par compte, avant la première course planifiée.
-
POST
votre URL webhookNotifications
Votre serveur reçoit création, assignation livreur et changements de statut.
Premier appel : devis express
Testez la connexion avec un POST /deliveries/quote.
curl -X POST "http://delyo.welink-ci.com/api/v1/deliveries/quote" \
-H "Authorization: Bearer <votre_token>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"pickup_address":"Plateau, Abidjan","pickup_lat":5.32,"pickup_lng":-4.02,"dropoff_address":"Cocody, Abidjan","dropoff_lat":5.36,"dropoff_lng":-3.99,"type":"express"}'
const res = await fetch("http://delyo.welink-ci.com/api/v1/deliveries/quote", {
method: "POST",
headers: {
Authorization: "Bearer <votre_token>",
Accept: "application/json",
Content-Type: "application/json",
},
body: JSON.stringify({"pickup_address":"Plateau, Abidjan","pickup_lat":5.32,"pickup_lng":-4.02,"dropoff_address":"Cocody, Abidjan","dropoff_lat":5.36,"dropoff_lng":-3.99,"type":"express"}),
});
$response = Http::withToken('<votre_token>')
->acceptJson()
->post('http://delyo.welink-ci.com/api/v1/deliveries/quote', json_decode('{"pickup_address":"Plateau, Abidjan","pickup_lat":5.32,"pickup_lng":-4.02,"dropoff_address":"Cocody, Abidjan","dropoff_lat":5.36,"dropoff_lng":-3.99,"type":"express"}', true));
Schémas de réponse, paramètres et codes HTTP : Référence API →