API REPLANIFICATION COURSIER.FR V3
| 01/08/2022 | Version 3.1 |
Objectif
Pouvoir replanifier une mission donnée. La replanification n'est possible que si la mission n'est pas encore attribuée à un coursier ou mise dans une tournée et jusqu'à une heure avant le créneau de livraison. Dans le cas d'une offre tarifaire sur créneau on passe en paramètre l'heure de début du créneau, il est préférable de faire au préalable un appel getprice pour connaitre les créneaux disponibles mais ce n'est pas obligatoire, l'api renverra une erreur si le créneau n'est pas disponible. Pour les autres offres tarifaires la replanification se fait à l'heure passée en paramètre et le délai initial est conservé.
Protocole
Les requests se font en mode https à l’url api.coursier.fr/v3/reschedule.php, on récupère un json contenant toutes les informations de la course reprogrammée pour pouvoir éventuellement effectuer un controle de cohérence à l'issue de la replanification.
Les courses qui passent par no desks dans les Grands magasins ne sont pas encore modifiables par API du fait de la rupture de charge par nos bureaux
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. |
|
StartDate |
N |
datetime |
Date de début du créneau de livraison souhaitée Format « YYYY-MM-DD HH:MM:SS ». |
Réponse JSON
La réponse est un tableau json contenant les principales informations de la course ainsi que les nouvelles informations de planification. 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 |
|
DeliveryStartDate |
Datetime |
début du créneau de livraison |
|
DeliveryEndDate |
Datetime |
fin du créneau de livraison |
Exemple d'appel
<?php
$Url = "https://api.coursier.fr/v3/reschedule.php";
$Data = array('User' => 'test@apicfr.fr',
'Apikey' => 'e1ab1411d66765e73cf4b068d39cda8a',
'ClientId' => '7055339',
'MissionNumber' => '9005657',
'StartDate' => '2022-08-01 10:00:00',
);
$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":"10013192","MissionNumber":"9012846","From":"COURSIER.FR","To":"LE BHV MARAIS","PickupStartDate":"2022-08-01 10:00:00","PickupEndDate":"2022-08-01 13:00:00","DeliveryStartDate":"2022-08-01 10:00:00","DeliveryEndDate":"2022-08-01 13:00:00"}]

No Comments