Documentation API

API ASAP Delivery

Bienvenue dans la documentation officielle. Automatisez vos expéditions, suivez vos colis et gérez vos livraisons depuis n'importe quelle plateforme.

Base URL : https://api.asapdelivery.ma

🔑 Authentification

La plupart des endpoints nécessitent deux paramètres d'identification, disponibles dans votre espace client sous Mon profil.

tkVotre Token personnel
skVotre Secret Key
⚠️ Ne partagez jamais votre Token ou votre Secret Key publiquement ou dans du code côté client.
GET

Suivi de colis

Récupérez l'historique complet des événements d'un colis à partir de son code de suivi.

https://api.asapdelivery.ma/track.php?tk=TOKEN&sk=SECRET_KEY&code=CODE_COLIS
ParamètreObligatoireDescription
tkOuiVotre Token
skOuiVotre Secret Key
codeOuiLe code de suivi du colis

Exemple de réponse :

[
  { "state": "Expédié",              "eventdate": 1610824063 },
  { "state": "Reçu par livreur",  "eventdate": 1610819137 },
  { "state": "Ramassé",   "eventdate": 1610817327 },
  { "state": "Livré",               "eventdate": 1610816442 }
]
Réponse d'erreurDescription
Parameters code is missingLe paramètre code est absent de la requête
Parameters code is emptyLe paramètre code ne doit pas être vide
Code doesn't existAucun colis ne correspond à ce code

GET

Ajout de colis

Créez un nouveau colis directement depuis votre plateforme sans passer par l'interface web.

https://api.asapdelivery.ma/addcolis.php?tk=TOKEN&sk=SECRET_KEY&fullname=NOM&phone=TEL&city=VILLE&address=ADRESSE&price=PRIX&product=PRODUITS&qty=QUANTITES&note=NOTE&code2=ID_INTERNE&change=0&openpackage=1
ParamètreObligatoireDescription
tkOuiVotre Token
skOuiVotre Secret Key
fullnameOuiNom complet du destinataire
phoneOuiNuméro de téléphone du destinataire
cityOuiVille du destinataire
addressOuiAdresse complète du destinataire
priceOuiMontant du contre-remboursement (MAD)
productOuiNom du ou des produits (séparés par une point-virgule (;))
qtyOuiQuantité(s) correspondante(s) (séparées par une point-virgule(;))
noteNonNote interne à destination d'ASAP Delivery
code2NonIdentifiant interne de votre commande
changeOuiÉchange : 0 = Non, 1 = Oui
openpackageOuiOuverture du colis autorisée : 0 = Non, 1 = Oui
RéponseDescription
Package added successfullyLe colis a été créé avec succès
Some parameters are missingUn ou plusieurs paramètres obligatoires sont absents
Some parameters are emptyLes champs obligatoires ne peuvent pas être vides
This account doesn't exist or it is disabledLe compte est introuvable ou désactivé

GET

Liste des colis

Récupérez la liste de vos colis associés à votre compte. L'API permet également de filtrer les colis par date et d'utiliser la pagination.

https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY

Paramètres

Paramètre Obligatoire Description
tk Oui Votre Token personnel. Il correspond au MD5 de l'adresse email du compte.
sk Oui Votre Secret Key. Il correspond au MD5 du numéro de téléphone du compte.
start_date Non Date de début du filtre sur la date d'ajout du colis (dateadd), au format AAAA-MM-JJ. L'heure de début est automatiquement fixée à 00:00:00. Si ce paramètre n'est pas renseigné, aucune limite de début n'est appliquée.
end_date Non Date de fin du filtre sur la date d'ajout du colis (dateadd), au format AAAA-MM-JJ. L'heure de fin est automatiquement fixée à 23:59:59. La valeur now permet de filtrer jusqu'à l'heure actuelle.
page Non Numéro de page pour la pagination. Commence à 1. Si page et per_page sont tous les deux renseignés, la pagination est activée.
per_page Non Nombre de colis à retourner par page. Minimum : 1. Maximum : 1000. Ce paramètre est utilisé avec page.
⚠️ Les filtres de date s'appliquent à la date d'ajout du colis (dateadd).

Exemple simple

Retourne les colis du compte authentifié sans filtre de date ni pagination.

https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY

Filtrer par date

Vous pouvez utiliser uniquement start_date, uniquement end_date, ou les deux.

https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY&start_date=2026-09-01&end_date=2026-09-25

Exemple avec uniquement une date de début :

https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY&start_date=2026-09-01

Exemple avec uniquement une date de fin :

https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY&end_date=2026-09-25

Exemple jusqu'à l'heure actuelle :

https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY&start_date=2026-09-01&end_date=now

Pagination

Pour activer la pagination, utilisez page et per_page ensemble.

https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY&page=1&per_page=50

Exemple avec filtre de dates et pagination :

https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY&start_date=2026-09-01&end_date=2026-09-25&page=1&per_page=100
⚠️ Lorsque page et per_page ne sont pas fournis, l'API retourne tous les colis correspondant au filtre éventuel. Lorsque les deux paramètres sont présents, la réponse reste actuellement un tableau de colis ; l'endpoint ne retourne pas de métadonnées total, total_pages, etc.

Format de la réponse

L'API retourne un tableau JSON contenant les colis.

[
  {
    "DateAdd": 25/09/2026 10:30,
    "Code": "COL-000125",
    "Code2": "REF-45821",
    "Fullname": "Mohamed Alaoui",
    "Phone": "0612345678",
    "Address": "123 Rue Exemple",
    "City": "Casablanca",
    "Dlm": "0623456789",
    "Price": 299,
    "Qty": 1,
    "Fees": 35,
    "State": "Livré",
    "DateUpdate": 25/09/2026 10:30
  }
]

Champs retournés

Champ Description Exemple
DateAdd Correspondant à la date d'ajout du colis. 25/09/2026 10:30
Code Code principal du colis. COL-000125
Code2 Code secondaire ou référence associée au colis. REF-45821
Fullname Nom complet du destinataire. Mohamed Alaoui
Phone Numéro de téléphone du destinataire. 0612345678
Address Adresse de livraison du destinataire. 123 Rue Exemple
City Ville de livraison. Casablanca
Dlm Numéro de téléphone du livreur associé au colis. Retourne null si aucun livreur actif n'est associé au colis. 0623456789
Price Prix du colis. 299
Qty Quantité associée au colis. 1
Fees Frais associés au colis (cfees). 35
State Libellé de l'état actuel du colis. L'état est récupéré depuis la table des états de tracking. Livré
DateUpdate Correspondant à la dernière mise à jour du colis. 25/09/2026 10:30

Ordre des résultats

Les colis sont retournés par ordre décroissant de leur identifiant, les colis les plus récemment créés apparaissant en premier.

Gestion des paramètres de date

Paramètres Comportement
Aucun Tous les colis du compte sont retournés.
start_date uniquement Colis ajoutés à partir de la date indiquée jusqu'à l'heure actuelle.
end_date uniquement Colis ajoutés depuis le début de la période jusqu'à la date indiquée à 23:59:59.
start_date + end_date Colis ajoutés entre les deux dates, bornes incluses.
end_date=now Le filtre se termine à l'heure actuelle au moment de la requête.

Réponses d'erreur

Réponse Description
Some parameter are missing Les paramètres obligatoires tk ou sk sont absents.
Some parameter are empty Les paramètres tk et sk ne peuvent pas être vides.
This account doesn't exist or it is disabled Le compte correspondant aux identifiants fournis est introuvable ou désactivé.

Restrictions d'accès

⚠️ L'API retourne uniquement les colis appartenant au compte authentifié. Le compte est identifié à partir de tk et sk. Il n'est pas possible de spécifier directement l'identifiant d'un autre client dans la requête.

GET

Liste des factures

Récupérez la liste de vos factures client (FC) associées à votre compte. Cet endpoint est accessible uniquement aux comptes de type client.

⚠️ Cet endpoint retourne uniquement les factures de type FC. Les autres types de factures ne sont pas accessibles via cette API.
https://api.asapdelivery.ma/factures.php?tk=TOKEN&sk=SECRET_KEY

Paramètres

Paramètre Obligatoire Description
tk Oui Votre Token personnel
sk Oui Votre Secret Key
start_date Non Date de début du filtre au format AAAA-MM-JJ. Si non renseignée, aucune limite de début n'est appliquée.
end_date Non Date de fin du filtre au format AAAA-MM-JJ. La journée complète est prise en compte. La valeur now permet de filtrer jusqu'à l'heure actuelle.
page Non Numéro de page pour la pagination. Commence à 1.
per_page Non Nombre de factures par page. Minimum : 1. Maximum : 1000.

Exemple simple

https://api.asapdelivery.ma/factures.php?tk=TOKEN&sk=SECRET_KEY

Exemple avec filtre de dates

https://api.asapdelivery.ma/factures.php?tk=TOKEN&sk=SECRET_KEY&start_date=2026-09-01&end_date=2026-09-25

Exemple avec pagination

https://api.asapdelivery.ma/factures.php?tk=TOKEN&sk=SECRET_KEY&page=1&per_page=50

Format de la réponse

Sans pagination, l'API retourne directement un tableau contenant les factures.

[
      {
        "Type": "FC",
        "Code": "FC-2026-000125",
        "Price": 1500,
        "Charges": 50,
        "Note": "Paiement espèces",
        "Versée": "Non",
        "DateCreation": "25/09/2026 10:30",
        "DateVersement": null
      }
    ]

Champs retournés

Champ Description Exemple
Type Type de facture. Cet endpoint retourne uniquement FC. FC
Code Code unique de la facture. FC-2026-000125
Price Montant de la facture en MAD. 1500
Charges Montant des charges associées à la facture. 50
Note Note associée à la facture. Paiement espèces
Versée Indique si la facture a été versée. Oui = versée, Non = non versée. Oui
DateCreation Date et heure de création de la facture au format JJ/MM/AAAA HH:mm. 25/09/2026 10:30
DateVersement Date et heure du versement. Retourne null si la facture n'a pas encore été versée. 25/09/2026 16:45

Réponse avec pagination

Lorsque page et per_page sont utilisés, la réponse contient les données ainsi que les informations de pagination.

{
      "data": [
        {
          "Type": "FC",
          "Code": "FC-2026-000125",
          "Price": 1500,
          "Charges": 50,
          "Note": "",
          "Versée": "Oui",
          "DateCreation": "25/09/2026 10:30",
          "DateVersement": "25/09/2026 16:45"
        }
      ],
      "pagination": {
        "page": 1,
        "per_page": 50,
        "total": 127,
        "total_pages": 3
      }
    }

Restrictions d'accès

Condition Accès
Compte actif de type client Autorisé
Compte désactivé Refusé
Compte d'un autre type Refusé
Facture de type FC Retournée
Facture d'un autre type Non retournée
Facture supprimée (trash != 1) Non retournée

Réponses d'erreur

Réponse Description
Some parameter are missing Les paramètres tk ou sk sont absents.
Some parameter are empty Les paramètres tk ou sk sont présents mais vides.
This account doesn't exist, is disabled, or is not a client Le compte est introuvable, désactivé ou n'est pas un compte client.
⚠️ Les factures retournées appartiennent exclusivement au compte authentifié. Il n'est pas possible de demander les factures d'un autre compte en modifiant les paramètres de la requête.

GET

Liste des villes et tarifs

Récupérez la liste de toutes les villes desservies par ASAP Delivery avec leurs tarifs de livraison. Aucune authentification requise.

https://api.asapdelivery.ma/cities.php
RéponseDescription
List of cities and feesRetourne la liste complète des villes et tarifs au format JSON

GET

Modifier l'état d'un colis (LIVREUR UNIQUEMENT)

Permet à un livreur de mettre à jour l'état d'un colis depuis son application.

https://api.asapdelivery.ma/editstate.php?tk=TOKEN&sk=SECRET_KEY&code=CODE_COLIS&state=ETAT&datereported=JJ/MM/AAAA&note=NOTE
ParamètreObligatoireDescription
tkOuiVotre Token
skOuiVotre Secret Key
codeOuiLe code de suivi du colis à modifier
stateOuiLe nouvel état du colis
datereportedNonDate de l'événement au format JJ/MM/AAAA
noteNonNote complémentaire
RéponseDescription
Package updated successfullyL'état du colis a été mis à jour avec succès
Some parameters are missingUn ou plusieurs paramètres obligatoires sont absents
Some parameters are emptyLes champs obligatoires ne peuvent pas être vides
This package doesn't belong to this accountCe colis n'appartient pas à votre compte

WEBHOOK

Webhooks - Mises à Jour de Statut

AsapDelivery envoie automatiquement des webhooks à votre système chaque fois qu'un statut de commande change. Cela vous permet de maintenir vos systèmes de gestion des stocks et d'exécution synchronisés en temps réel.

Configuration du Point de Terminaison

Créez un fichier PHP à l'adresse :

https://votredomaine.com/updatestate.php

Format de la Requête

AsapDelivery appelle votre endpoint avec les paramètres suivants :

https://votredomaine.com/updatestate.php?code=PKG123456&state=Livr%C3%A9&datereported=&note=Livr%C3%A9+avec+succ%C3%A8s
ParamètreObligatoireDescription
codeOuiCode de suivi de la commande (ID_INTERN lors de l'importation)
stateOuiNouveau statut de la commande
datereportedNonDate du signalement au format Unix timestamp
noteNonNotes ou commentaires de l'agent

En-têtes HTTP

X-Webhook-Source: AsapDelivery
X-Webhook-Host: {serveur_source}

Statuts Possibles

StatutRequiert DateDescription
En attente de ramassageNonCommande initiée
InjoignableNonTéléphone destinataire éteint ou hors réseau
Pas de réponseNonDestinataire ne répond pas à nos appels
AnnuléNonCommande annulée par client/DLM
RefuséNonCommande rejetée à la tentative de livraison
Changement clientNonVotre colis va être livré à un autre destinataire
ReportéOuiClient a reporté la livraison pour une date ultérieure
LivréNonLivré avec succès au destinataire
Retour client reçuNonRetour bien reçu par client
ProgramméOuiLivraison programmée à une date ultérieure
À retourner vers agence principalNonÀ retourner vers agence principal Casa
Changement numéroNonNuméro de téléphone mis à jour
Retour stock client reçuNonRetour stock bien reçu par client
Double commandeNonCommande envoyée en double

Implémentation Basique

<?php

// Vérifier que le webhook provient d'AsapDelivery
if ($_SERVER['HTTP_X_WEBHOOK_SOURCE'] !== 'AsapDelivery') {
    http_response_code(401);
    die('Non autorisé');
}

// Récupérer les paramètres
$code = isset($_GET['code']) ? $_GET['code'] : null;
$state = isset($_GET['state']) ? $_GET['state'] : null;
$datereported = isset($_GET['datereported']) ? $_GET['datereported'] : null;
$note = isset($_GET['note']) ? $_GET['note'] : null;

// Valider les paramètres requis
if (empty($code) || empty($state)) {
    http_response_code(400);
    die('Paramètres manquants : code et state');
}

// Assainir les entrées
$code = htmlspecialchars($code, ENT_QUOTES, 'UTF-8');
$state = htmlspecialchars($state, ENT_QUOTES, 'UTF-8');
$note = htmlspecialchars($note, ENT_QUOTES, 'UTF-8');

// Mettre à jour votre base de données
updateOrderStatus($code, $state, $datereported, $note);

// Retourner une réponse de succès
http_response_code(200);
echo json_encode([
    'success' => true,
    'message' => 'Statut mis à jour avec succès',
    'code' => $code
]);
?>

Codes de Réponse HTTP

CodeSignificationAction
200SuccèsWebhook traité avec succès
400Mauvaise RequêteParamètres manquants/invalides
401Non AutoriséSource webhook invalide
500Erreur ServeurErreur de traitement

Bonnes Pratiques

  • Vérifier la source : Toujours vérifier l'en-tête X-Webhook-Source
  • Utiliser HTTPS : Configurez votre endpoint en HTTPS
  • Idempotence : Gérez les appels dupliqués en vérifiant si le statut est déjà à jour
  • Enregistrement : Loggez tous les webhooks pour le débogage

Support technique

Une question sur l'intégration ? Notre équipe est disponible pour vous accompagner.

📧 Emailwebmaster@asapdelivery.ma
📞 Téléphone(+212) ___________
📍 SiègeBernoussi, Casablanca