Interroger les Performances d’un transporteur

tkbluegalleryLa procédure d’interrogation se déroule en 2 étapes :
• Identification avec récupération d’un jeton
• Récupération des données.

Le jeton d’authentification est obtenu en appelant la fonction connectNotation et en fournissant l’email du membre et son mot de passe crypté sha1. Cette fonction retourne un jeton d’authentification.

Il faut ensuite appeler la fonction getCarrierPerformance avec l’email précédemment fourni, le jeton d’authentification retourné et une chaine de caractères pour décrire les options de transfert choisies.

Identification avec récupération d’un jeton

Le jeton d’authentification est obtenu en appelant la fonction connectNotation.
Cette fonction a 2 paramètres en entrée : l’email du membre et son mot de passe crypté sha1. Cette fonction retourne un jeton d’authentification à utiliser par la suite dans les appels des autres fonctions.

Paramètres en entrée

Nom du champ Type Description
Email String Identifiant de connexion du membre sur la plateforme
Mot de passe String Encryptage sha1 du mot de passe de connexion sur la plateforme

Paramètres en sortie
Le champ « jeton d’authentification » est une chaine de caractères à utiliser dans l’appel de getCarrierPerformance

Exemple de code

// lier le client au fichier WSDL
$clientSOAP = new SoapClient('https://sandbox-notation.tkblueagency.eu/res/tkblue_sandbox.wsdl');
// executer la methode connectNotation
$_SESSION['ETKBAtoken'] = $clientSOAP->connectNotation($_POST['Email'],sha1($_POST['Password']));

Récupération des données

Une fois le jeton d’authentification obtenu en appelant la fonction connectNotation il faut appeler la fonction getCarrierPerformance.
Cette fonction a 3 paramètres en entrée : l’email du membre, le jeton d’authentification et un champ d’options de transfert. Elle retourne les informations concernant le transporteur sélectionné.

Paramètres en entrée

Nom du champ Type Description
Email String Identifiant de connexion du membre sur la plateforme
Jeton d’authentification String Retourné par la fonction ConnectNotation
Options de transfert String Détaillé ci-dessous

Le champ « options de transfert » est une chaine de caractères qui sera analysée par un appel PHP de type PARSE QUERY, c’est à dire qu’elle se compose d’une ou plusieurs options de la forme « param1=val1&param2=val2…. »

Les options possibles sont décrites ci-dessous :

Nom du champ Type Description Valeur
VatNumber String Numéro de TVA intracommunautaire du transporteur. Pas de valeur par défaut, ce champ est obligatoire.
Modality String Intitulé du mode de transport parmi : « Urban Road » , « Interurban Road » , « Rail » , « River » , « Short Sea Shipping » , « Deep Sea » , « Air » La valeur par défaut est « Interurban Road ».
Exemples :
• Modality=Rail&VatNumber=FR09123456789,
• VatNumber=FR09123456789

Paramètres en sortie
Le retour de la fonction getCarrierPerformance est une chaine au format json contenant 3 paramètres :

Nom du champ Type Description
BusinessName String La raison sociale correspondant au numéro de TVA intracommunautaire si ce transporteur est inscrit sur la plateforme TK’Blue
Accuracy String La précision des informations retournées: « Default » si des performances par défaut sont retournées, soit parce que le transporteur n’est pas encore inscrit, soit parce qu’il n’a pas encore fait de déclaration de flotte dans le mode de transport recherché, « Carrier » si les performances retournées sont bien celles du transporteur.
List JSON Une chaine JSON contenant les clés « TKT », « CO2 » et « Euro » associant les indicateurs disponibles pour chaque flotte sélectionnée. Le contenu de ces 3 clés est détaillé ci-dessous
  • TKT
  • CO2
  • Euro
Cette clé regroupe les caractéristiques de la flotte TK’Blue:

Nom du champ Type Description
idFlotteTransporteur Int Identifiant interne de la flotte
FlotteLabel String Intitulé complet de la flotte (ce qui doit être communiqué dans les flux Chargeur ou Organisateur de transport).
DateUpdate Date Date de la création ou dernière mise à jour de la flotte au format YYYY-MM-DD
Index Decimal Valeur de l’indice TK’T de la flotte (compris entre 0 et 100).
FlotteCategory String Intitulé de la catégorie de flotte
Cette clé regroupe les caractéristiques de l’indice CO2 associé par défaut à la flotte TK’Blue:

Nom du champ Type Description
IndexFr Decimal Indice CO2 en gCO2/t.km calculé conforme au décret français (du puits à la roue)
IndexGr Decimal Indice GES en gCO2e/t.km calculé conforme à la norme EN 16258 (du réservoir à la roue).
IndexGp Decimal Indice GES en gCO2/t.km calculé conforme à la norme EN 16258 (du puits à la roue)
Level Int Niveau de l’indice (selon la classification du décret français).
IndexRef String Référence de l’indice à préciser dans les flux Chargeur ou Organisateur de transport
FlotteLabel String Intitulé complet de l’indice avec sa date de déclaration (si niveau > 1).
Cette clé regroupe les caractéristiques de la valorisation en coûts d’externalités négatives de la flotte TK’Blue et de son indice CO2 associé:

Nom du champ Type Description
Cost Decimal Coût total des externalités négatives en c€/t.km
TrustLevel Int Indice de fiabilité de l’association de l’indice CO2 à la flotte TK’Blue, compris entre 0 et 100.

Exemple de la chaine retournée :

{"List":[{"TKT":{"idFlotteTransporteur":"1998","FlotteLabel":"OFValIRAvecNiv1-1998-2","DateUpdate":"2017-02-09","Index":72.59,"FlotteCategory":"Road Interurban GVW \u2264 7.5t Gasoil "},"CO2":{"IndexFr":"750.444","IndexGr":"620.889","IndexGp":"774.889","Level":"1","IndexRef":"0|A|21","FlotteLabel":"SuiviAssocN1 (09\/02\/2017)"},"Euro":{"Cost":15.71,"TrustLevel":75}},{"TKT":{"idFlotteTransporteur":"1993","FlotteLabel":"OFIRAvecNiv1-1993-2","DateUpdate":"2017-02-09","Index":68.02,"FlotteCategory":"Road Interurban GVW \u2264 7.5t Gasoil "},"CO2":{"IndexFr":"750.444","IndexGr":"620.889","IndexGp":"774.889","Level":"1","IndexRef":"0|A|21","FlotteLabel":"SuiviAssocN1 (09\/02\/2017)"},"Euro":{"Cost":19.59,"TrustLevel":75}}],"Accuracy":"Carrier","BusinessName":"AVECSUIVI"}

Exemple de code

<? // determiner les données utilisateurs $email,$password
if (isset($_POST['ETKBAconnect'])) {
// désactiver le cache lors de la phase de test
ini_set("soap.wsdl_cache_enabled", "0");
// lier le client au fichier WSDL
$clientSOAP = new SoapClient('https://sandbox-notation.tkblueagency.eu/res/tkblue.wsdl');
// première étape : obtenir le token
// executer la methode connectNotation
$login = $_POST['LoginEmail'];
$pwd = sha1($_POST['Pwd']);
try{
$link = $clientSOAP->connectNotation($login,$pwd);
} catch (Exception $e) {
echo 'Exception reçue : ', $e->getMessage(), "\n";
}

// deuxième étape : déterminer les critères de recherche et lancer l'interrogation
$options = $_POST['option'];
try{
$res = $clientSOAP->getCarrierPerformance($login,$link,$options);
} catch (Exception $e) {
echo 'Exception reçue : ', $e->getMessage(), "\n";
}
$retour = json_decode($res,true);
// affichage des résulats
echo 'Accuracy :'.$retour['Accuracy'].'
';
echo 'BusinessName :'.$retour['BusinessName'];
?>

<? $list = $retour['List']; foreach($list as $l) { ?><? } ?>
<table id="tableau1" class="tableau" cellspacing="0" cellpadding="0" align="center">
<thead>
<tr class="tabheader">
<th colspan="4">TKT</th>
<th colspan="4">CO<sub>2</sub></th>
<th colspan="2">TK'€</th>
</tr>
<tr class="tabheader">
<th>Flotte TK'T</th>
<th>Catégorie</th>
<th>Indice TK'T</th>
<th>Date</th>
<th>Flotte CO<sub>2</sub></th>
<th>Indice CO<sub>2</sub></th>
<th>Ref</th>
<th>Niveau</th>
<th>Coût total</th>
<th>Fiabilité</th>
</tr>
</thead>
<tbody>
<tr>
<td><? echo $l['TKT']['FlotteLabel']; ?></td>
<td><? echo $l['TKT']['FlotteCategory']; ?></td>
<td><? echo $l['TKT']['Index']; ?></td>
<td><? echo $l['TKT']['DateUpdate']; ?></td>
<td><? echo $l['CO2']['FlotteLabel']; ?></td>
<td><? echo $l['CO2']['IndexFr']; ?></td>
<td><? echo $l['CO2']['IndexRef']; ?></td>
<td><? echo $l['CO2']['Level']; ?></td>
<td><? echo $l['Euro']['Cost']; ?></td>
<td><? echo $l['Euro']['TrustLevel']; ?></td>
</tr>
</tbody>
</table>

Revenir en haut de la page