Skip to main content

API TRACKING COURSIER.FR V3

08/06/2020 image-1662457811981.png 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":""}]