Compte

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.

Base URL http://delyo.welink-ci.com/api/v1
Authentification Authorization: Bearer <token> et Accept: application/json sur chaque requête.
Identifiant course Utilisez l'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.

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

  1. POST /deliveries/quote

    Devis

    Champ type identique à la création.

  2. POST /deliveries

    Création

    Retourne id et reference — conserver l'id pour la suite.

  3. GET /deliveries/{id}

    Détail

    Statut, tarif, vendeur et livreur assigné.

Ensuite, si type = express

  1. GET /deliveries/{id}/driver

    Attribution

    Polling jusqu'à driver_search.outcome = assigned.

  2. GET /deliveries/{id}/track

    Suivi

    Position et phase une fois le livreur assigné.

Ensuite, si type = scheduled

  1. PUT /webhook

    Webhook

    Une fois par compte, avant la première course planifiée.

  2. POST votre URL webhook

    Notifications

    Votre serveur reçoit création, assignation livreur et changements de statut.

Premier appel : devis express

Testez la connexion avec un POST /deliveries/quote.

POST /api/v1/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 →

Aller plus loin