API TRACKING COURSIER.FR V3
| 08/06/2020 | ![]() |
Version 3.1 |
Objectif
Suivre tous les évènements liés à une mission donnée : enlèvement, livraison, approches, informations coursier, reprogrammation, preuve de livraison. Il est également possible d'interroger l'API pour l'ensemble des missions en cours en une fois.
Protocole
Les requests se font en mode https à l’url api.coursier.fr/v3/tracking.php, on récupère un json contenant toutes les informations de la course. Dans le cas d'une rupture de charge, plusieurs enregistrements sont renvoyés, chacun d'eux ayant ses propres informations.
Authentification
L'authentification se fait à l'aide d'une apikey associée à votre user coursier.fr, vous pouvez trouver ces informations dans votre espace client. Vous devez disposez d'un compte en facturation mensuelle, si ce n'est pas encore le cas vous pouvez contacter un commercial à l'adresse commercial@coursier.fr. Vous devez passer en paramètre l'apikey, le user et le compte client utilisé, un même user pouvant être rattaché à plusieurs comptes client.
Afin de tester nos apis, vous pouvez utiliser le compte de test suivant pour réaliser vos développements dès à présent en attendant d'avoir vos accès définitifs :
User : test@apicfr.fr
Pass : T3stCFR*
ClientId : 7055339
Apikey : e1ab1411d66765e73cf4b068d39cda8a
Paramètres
Les paramètres sont à passer en POST sous forme d’un tableau json.
|
NOM |
REQUIS |
TYPE |
DESCRIPTIF |
|
User |
O |
Varchar(32) |
User d'accès aux interfaces coursier.fr |
|
Apikey |
O |
Varchar(32) |
Apikey liée à votre user d'accès aux interfaces coursier.fr |
|
ClientId |
O |
int |
Numéro de compte client |
|
MissionNumber |
O |
int |
Identifiant de la course obtenu lors du passage de commande. Si ce paramètre n'est pas spécifié ou vide, l'API retourne l'ensemble des missions à livrer à partir d'aujourd'hui. |
|
Lang |
N |
varchar(2) |
Code langue pour ma restitution des messages (FR par défaut) |
Réponse JSON
La réponse est un tableau json contenant les informations relatives à la course ou au fragment interrogé. En cas d'erreur, l'api répond un json contenant un champ Message précisant la nature de l'erreur.
|
NOM |
Taille |
DESCRIPTIF |
|
MissionId |
int |
Id de la course, dans le cas d'une rupture de charge l'Id est différent pour chaque fragment |
|
MissionNumber |
int |
Numéro de la course, c'est ce numéro qui permet de dialoguer avec notre coursier et le service client |
|
From |
varchar(80) |
Nom de l'adresse de d'enlèvement |
|
To |
varchar(80) |
Nom de l'adresse de livraison |
|
PickupStartDate |
Datetime |
début du créneau d’enlèvement |
|
PickupEndDate |
Datetime |
fin du créneau d’enlèvement |
|
PickupStartEstimate |
Datetime |
début du créneau affiné de la date d'enlèvement |
|
PickupEndEstimate |
Datetime |
fin du créneau affiné de la date d'enlèvement |
|
PickupDate |
Datetime |
date effective d'enlèvement |
|
DeliveryStartDate |
Datetime |
début du créneau de livraison |
|
DeliveryEndDate |
Datetime |
fin du créneau de livraison |
|
DeliveryStartEstimate |
Datetime |
début du créneau affiné de livraison |
|
DeliveryEndEstimate |
Datetime |
fin du créneau affiné de livraison |
|
DeliveryDate |
Datetime |
date effective de livraison |
|
State |
varchar(50) |
Statut de la mission : - Non Attribué - Enlevé - Livré - Annulé - Facturé - Suspendu - Attribué - A facturer |
|
WorkerShortCode |
varchar(5) |
Code d'identification du chauffeur |
|
WorkerSurname |
varchar(100) |
Prénom du chauffeur |
|
Picture |
varchar(100) |
Url de la photo du chauffeur |
|
ProofOfDelivery |
varchar(100) |
Url de la photo de signature |
|
DeliverySignee |
varchar(30) |
Nom du signataire |
Exemple d'appel
<?php
$Url = "https://api.coursier.fr/v3/tracking.php";
$Data = array('User' => 'test@apicfr.fr',
'Apikey' => 'e1ab1411d66765e73cf4b068d39cda8a',
'ClientId' => '7055339',
'MissionNumber' => '9005657',
'Lang' => 'FR',
);
$datajson = json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $datajson);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($curl);
curl_close($curl);
var_dump($res);
?>
Exemple de réponse
[{"MissionId":"10009999","MissionNumber":"9005657","From":"Hub Coursier.fr","To":"Yann THEBAULT","PickupStartDate":"2020-06-26 11:00:00","PickupEndDate":"2020-06-26 12:00:00","PickupStartEstimate":"","PickupEndEstimate":"","PickupDate":"2020-06-26 11:24:52","DeliveryStartDate":"2020-06-26 12:00:00","DeliveryEndDate":"2020-06-26 13:00:00","DeliveryStartEstimate":"","DeliveryEndEstimate":"","DeliveryDate":"","State":"Enlevé","WorkerShortCode":"710","WorkerSurname":"Laurent","Picture":"https:\/\/iris.coursier.fr\/worker\/view\/710","ProofOfDelivery":"","DeliverySignee":""}]

No Comments