🔑 Authentification
La plupart des endpoints nécessitent deux paramètres d'identification, disponibles dans votre espace client sous Mon profil.
| tk | Votre Token personnel |
| sk | Votre Secret Key |
⚠️ Ne partagez jamais votre Token ou votre Secret Key publiquement ou dans du code côté client.
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ètre | Obligatoire | Description |
tk | Oui | Votre Token |
sk | Oui | Votre Secret Key |
code | Oui | Le 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'erreur | Description |
Parameters code is missing | Le paramètre code est absent de la requête |
Parameters code is empty | Le paramètre code ne doit pas être vide |
Code doesn't exist | Aucun colis ne correspond à ce code |
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¬e=NOTE&code2=ID_INTERNE&change=0&openpackage=1
| Paramètre | Obligatoire | Description |
tk | Oui | Votre Token |
sk | Oui | Votre Secret Key |
fullname | Oui | Nom complet du destinataire |
phone | Oui | Numéro de téléphone du destinataire |
city | Oui | Ville du destinataire |
address | Oui | Adresse complète du destinataire |
price | Oui | Montant du contre-remboursement (MAD) |
product | Oui | Nom du ou des produits (séparés par une point-virgule (;)) |
qty | Oui | Quantité(s) correspondante(s) (séparées par une point-virgule(;)) |
note | Non | Note interne à destination d'ASAP Delivery |
code2 | Non | Identifiant interne de votre commande |
change | Oui | Échange : 0 = Non, 1 = Oui |
openpackage | Oui | Ouverture du colis autorisée : 0 = Non, 1 = Oui |
| Réponse | Description |
Package added successfully | Le colis a été créé avec succès |
Some parameters are missing | Un ou plusieurs paramètres obligatoires sont absents |
Some parameters are empty | Les champs obligatoires ne peuvent pas être vides |
This account doesn't exist or it is disabled | Le compte est introuvable ou désactivé |
Récupérez la liste complète de vos colis associés à votre compte.
https://api.asapdelivery.ma/colislist.php?tk=TOKEN&sk=SECRET_KEY
| Paramètre | Obligatoire | Description |
tk | Oui | Votre Token |
sk | Oui | Votre Secret Key |
| Réponse | Description |
List of packages | La liste des colis est retournée avec succès |
Some parameters are missing | Paramètres tk ou sk absents |
Some parameters are empty | Les champs tk et sk ne peuvent pas être vides |
This account doesn't exist or it is disabled | Le compte est introuvable ou désactivé |
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éponse | Description |
List of cities and fees | Retourne la liste complète des villes et tarifs au format JSON |
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¬e=NOTE
| Paramètre | Obligatoire | Description |
tk | Oui | Votre Token |
sk | Oui | Votre Secret Key |
code | Oui | Le code de suivi du colis à modifier |
state | Oui | Le nouvel état du colis |
datereported | Non | Date de l'événement au format JJ/MM/AAAA |
note | Non | Note complémentaire |
| Réponse | Description |
Package updated successfully | L'état du colis a été mis à jour avec succès |
Some parameters are missing | Un ou plusieurs paramètres obligatoires sont absents |
Some parameters are empty | Les champs obligatoires ne peuvent pas être vides |
This package doesn't belong to this account | Ce colis n'appartient pas à votre compte |
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=¬e=Livr%C3%A9+avec+succ%C3%A8s
| Paramètre | Obligatoire | Description |
code | Oui | Code de suivi de la commande (ID_INTERN lors de l'importation) |
state | Oui | Nouveau statut de la commande |
datereported | Non | Date du signalement au format Unix timestamp |
note | Non | Notes ou commentaires de l'agent |
En-têtes HTTP
X-Webhook-Source: AsapDelivery
X-Webhook-Host: {serveur_source}
Statuts Possibles
| Statut | Requiert Date | Description |
| En attente de ramassage | Non | Commande initiée |
| Injoignable | Non | Téléphone destinataire éteint ou hors réseau |
| Pas de réponse | Non | Destinataire ne répond pas à nos appels |
| Annulé | Non | Commande annulée par client/DLM |
| Refusé | Non | Commande rejetée à la tentative de livraison |
| Changement client | Non | Votre colis va être livré à un autre destinataire |
| Reporté | Oui | Client a reporté la livraison pour une date ultérieure |
| Livré | Non | Livré avec succès au destinataire |
| Retour client reçu | Non | Retour bien reçu par client |
| Programmé | Oui | Livraison programmée à une date ultérieure |
| À retourner vers agence principal | Non | À retourner vers agence principal Casa |
| Changement numéro | Non | Numéro de téléphone mis à jour |
| Retour stock client reçu | Non | Retour stock bien reçu par client |
| Double commande | Non | Commande envoyée en double |
Implémentation Basique
<?php
if ($_SERVER['HTTP_X_WEBHOOK_SOURCE'] !== 'AsapDelivery') {
http_response_code(401);
die('Non autorisé');
}
$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;
if (empty($code) || empty($state)) {
http_response_code(400);
die('Paramètres manquants : code et state');
}
$code = htmlspecialchars($code, ENT_QUOTES, 'UTF-8');
$state = htmlspecialchars($state, ENT_QUOTES, 'UTF-8');
$note = htmlspecialchars($note, ENT_QUOTES, 'UTF-8');
updateOrderStatus($code, $state, $datereported, $note);
http_response_code(200);
echo json_encode([
'success' => true,
'message' => 'Statut mis à jour avec succès',
'code' => $code
]);
?>
Codes de Réponse HTTP
| Code | Signification | Action |
200 | Succès | Webhook traité avec succès |
400 | Mauvaise Requête | Paramètres manquants/invalides |
401 | Non Autorisé | Source webhook invalide |
500 | Erreur Serveur | Erreur 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
Test avec cURL
curl -X GET "http://localhost/updatestate.php?code=TEST001&state=Livr%C3%A9&datereported=¬e=" \
-H "X-Webhook-Source: AsapDelivery" \
-H "X-Webhook-Host: localhost"
Support technique
Une question sur l'intégration ? Notre équipe est disponible pour vous accompagner.
| 📧 Email | webmaster@asapdelivery.ma |
| 📞 Téléphone | (+212) ___________ |
| 📍 Siège | Bernoussi, Casablanca |