API & intégrations

Branchez la livraison à votre produit

Une API REST, des webhooks signés et des SDK JavaScript & PHP. Créez un devis, lancez une expédition et suivez chaque événement — depuis votre boutique, votre ERP ou votre caisse.

Documentation complète Obtenir une clé API
Démarrage

Votre première expédition

Le même appel, dans votre langage. Authentifiez-vous avec l'en-tête X-API-Key.

# Devis puis création d'expédition
curl -X POST https://api.kolia.juali.pro/v1/shipments \
  -H "X-API-Key: kolia_sk_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "destinataireNom": "Josuas A.",
    "destinataireTel": "+22997550123",
    "destAdresse": "Abomey-Calavi, Aganmandin",
    "contenu": "Repas chaud",
    "serviceLevel": "EXPRESS",
    "modePaiement": "COD",
    "montantCod": 12000
  }'
// npm : SDK Kolia, zéro dépendance
import Kolia from 'kolia-sdk';

const kolia = new Kolia({ apiKey: 'kolia_sk_xxxxxxxxxxxx' });

const exp = await kolia.createShipment({
  destinataireNom: 'Josuas A.',
  destAdresse: 'Abomey-Calavi, Aganmandin',
  contenu: 'Repas chaud',
  modePaiement: 'COD',
  montantCod: 12000,
});
console.log(exp.reference, exp.lienSuivi);
// PHP : classe unique, cURL natif
require 'Kolia.php';

$kolia = new Kolia('kolia_sk_xxxxxxxxxxxx');

$exp = $kolia->createShipment([
  'destinataireNom' => 'Josuas A.',
  'destAdresse'    => 'Abomey-Calavi, Aganmandin',
  'contenu'        => 'Repas chaud',
  'modePaiement'   => 'COD',
  'montantCod'     => 12000,
]);
echo $exp['reference'];
Capacités

Tout le cycle de vie, par API

Expéditions

Devis, création, suivi, annulation, nouvelle tentative : POST /v1/shipments et son cycle complet.

Webhooks signés

12 événements shipment.*, signature HMAC-SHA256, relivraison automatique avec backoff.

Suivi public

Un lien de suivi par expédition, position en direct via WebSocket, notation du livreur par le destinataire.

Paiements & COD

Encaissement à la livraison, réconciliation, reversements idempotents (en-tête Idempotency-Key).

Clés API

Créez et révoquez vos clés depuis le dashboard : POST /v1/developer/api-keys.

SDK officiels

JavaScript (Node & navigateur) et PHP, avec vérification de signature webhook incluse.

Référence rapide

Les points d'entrée essentiels

La référence exhaustive, les schémas et les exemples de réponse sont dans la documentation — et l'exploration interactive sur api.kolia.juali.pro/docs (Swagger).

Point d'entréeRôle
POST/v1/quotesDevis : prix de la course selon distance, niveau de service et coupon.
POST/v1/shipmentsCréer une expédition (prépayé wallet ou COD).
GET/v1/shipmentsLister vos expéditions, filtrables par statut.
GET/v1/shipments/:idDétail d'une expédition : statut, livreur, chronologie, preuve.
POST/v1/shipments/:id/cancelAnnuler (selon la machine à états).
POST/v1/shipments/:id/retryRelancer une livraison échouée.
GET/v1/tracking/:referenceSuivi public JSON (sans authentification).
GET/v1/corridors/linesLignes inter-pays actives (flottes partenaires).
POST/v1/corridors/quoteDevis international : collecte + ligne + livraison locale.
POST/v1/corridors/shipmentsCréer un envoi inter-pays (prépayé wallet, 3 tronçons suivis).
POST/v1/developer/api-keysCréer une clé API (la clé n'est montrée qu'une fois).
POST/v1/developer/webhooksSouscrire un endpoint à des événements ('*' pour tous).
GET/v1/developer/webhooks/:id/deliveriesJournal des livraisons de webhooks (statut, code réponse, tentatives).
Intégrations

Votre boutique, livrée

Connectez votre plateforme e-commerce en quelques minutes grâce aux SDK — les extensions natives arrivent.

WooCommerce

Extension officielle en préparation. En attendant, le SDK PHP s'intègre à un hook woocommerce_order_status_processing en ~20 lignes — exemple complet dans la documentation.

Shopify

App en préparation. Aujourd'hui : un webhook Shopify orders/paid vers votre serveur + SDK JavaScript pour créer l'expédition.

Sur mesure

ERP, caisse, marketplace interne : l'API REST couvre tous les cas. Parlez-nous de votre intégration.

Une clé API et c'est parti.

Créez votre compte commerçant, générez votre clé depuis le dashboard, expédiez.