# API INFO COURSIER.FR V3

<table border="1" id="bkmrk-08%2F06%2F2020-version-3" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 33.3333%;">12/11/2020</td><td style="width: 33.3333%;">[![image-1662457811981.png](https://bookstack.digf.fr/uploads/images/gallery/2022-09/scaled-1680-/image-1662457811981.png)](https://bookstack.digf.fr/uploads/images/gallery/2022-09/image-1662457811981.png)</td><td class="align-right" style="width: 33.3333%;">Version 3.1</td></tr></tbody></table>

##### **Objectif**

Pouvoir ajouter des informations complémentaires dans le dossier d'une mission. Cela concerne notamment toute précision, ou consigne apportée par le client après le passage de la commande. On peut également utiliser cette api pour partager les interactions du client final avec le call center du client pour tenir informé coursier.fr de tous les évènements de la commande, cela facilite notre intervention en cas de difficulté de livraison ou lorsque l'on a le client au téléphone.

Cela ne concerne pas une modification d'horaire ou d'adresse qui peuvent avoir un impact tarifaire et qui nécessitent donc d'annuler la course et d'en reprogrammer une nouvelle.

##### **Protocole**

Les requests se font en mode https à l’url <u>api.coursier.fr/v3/comment.php,</u> on récupère un json avec un statut et un message en cas d'erreur. Dans le cas d'une rupture de charge, il peut y avoir plusieurs missions côté coursier.fr, dans ce cas le commentaire est apporté aux deux missions.

##### **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.

<table id="bkmrk-nom-requis-type-desc" style="width: 0px;" width="614"><tbody><tr><td style="width: 222px;">**NOM**

</td><td style="width: 107px;">**REQUIS**

</td><td style="width: 116px;">**TYPE**

</td><td style="width: 357px;">**DESCRIPTIF**

</td></tr><tr><td style="width: 222px;">User

</td><td style="width: 107px;">O

</td><td style="width: 116px;">Varchar(32)

</td><td style="width: 357px;">User d'accès aux interfaces coursier.fr

</td></tr><tr><td style="width: 222px;">Apikey

</td><td style="width: 107px;">O

</td><td style="width: 116px;">Varchar(32)

</td><td style="width: 357px;">Apikey liée à votre user d'accès aux interfaces coursier.fr

</td></tr><tr><td style="width: 222px;">ClientId

</td><td style="width: 107px;">O

</td><td style="width: 116px;">int

</td><td style="width: 357px;">Numéro de compte client

</td></tr><tr><td style="width: 222px;">MissionNumber

</td><td style="width: 107px;">O

</td><td style="width: 116px;">int

</td><td style="width: 357px;">Identifiant de la course obtenu lors du passage de commande.

</td></tr><tr><td style="width: 222px;">Comment

</td><td style="width: 107px;">O

</td><td style="width: 116px;">Varchar(1000)

</td><td style="width: 357px;">Message d'information à ajouter au dossier de la mission

</td></tr><tr><td style="width: 222px;">Lang

</td><td style="width: 107px;">N

</td><td style="width: 116px;">varchar(2)

</td><td style="width: 357px;">Code langue pour la restitution des messages (FR par défaut)

</td></tr></tbody></table>

##### **Réponse JSON 

La réponse est un tableau json aavec un statut (OK/NOK) et un message descriptif en cas d'erreur.

<table id="bkmrk-nom-taille-descripti" style="width: 810px; height: 1066px;"><tbody><tr style="height: 35px;"><td style="width: 225px; height: 35px;">**NOM**

</td><td style="width: 116px; height: 35px;">**Taille**

</td><td style="width: 469px; height: 35px;">**DESCRIPTIF**

</td></tr><tr style="height: 79px;"><td style="width: 225px; height: 79px;">Status

</td><td style="width: 116px; height: 79px;">varchar(3)

</td><td style="width: 469px; height: 79px;">OK ou NOK

</td></tr><tr style="height: 79px;"><td style="width: 225px; height: 79px;">Message

</td><td style="width: 116px; height: 79px;">Varchar(1000)

</td><td style="width: 469px; height: 79px;">En cas d'erreur description de la nature de l'erreur

</td></tr></tbody></table>

##### **Exemple d'appel**

```PHP
<?php
$Url = "https://api.coursier.fr/v3/comment.php";
$Data = array('User' => 'test@apicfr.fr',
			  'Apikey' => 'e1ab1411d66765e73cf4b068d39cda8a',
			  'ClientId' => '7055339',
			  'MissionNumber' => '9005657',
			  'Comment' => 'Le client sera peut-être absent, dans ce cas laiser le colis au voisin au n°122 de la rue' 
              '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**

<p class="callout success">\[{"Status":"OK","Message":""}\] </p>