Service Création étiquette transport (request_bl)
NOUVELLE VERSION V2 : CLIQUEZ-ICI
Vous êtes développeur ou une agence web ? Inscrivez-vous au programme Expedy Partner
La création d’étiquette de transport ou aussi appelé bl (bordereau livraison), permet de déclencher la création du service de transport. Attention pour certains transporteurs comme les coursiers qui intègrent la collecte, le service démarre dès la création du bordereau.
URL requête : http://www.expedy.fr/api/request_bl
Paramètre | Description | Format |
type | Code type envoi récupéré après requête cotation. | |
unique_ref | Votre référence unique interne. | |
poids | Poids en kg , exemple : 1.25 pour 1 kilo 250 grammes. | Numérique |
total_invoice | Valeur du colis en euro. Selon transporteurs pour assurance. | Numérique |
relayidselected | ID du relais récupéré après requête relais. | Numérique |
Informations colis. Obligatoire pour les envois hors de France | ||
length | Longueur du colis en cm. Obligatoire pour export. | Numérique |
width | Largeur du colis en cm. Obligatoire pour export. | Numérique |
height | Hauteur du colis en cm. Obligatoire pour export. | Numérique |
content_descr | Description simple du contenu du colis. Obligatoire pour export. | Numérique |
content_value | Valeur du colis en euro déclarée en douane. Obligatoire pour export. | Numérique |
content_customscode | Code douane. Obligatoire pour export postal avec Colissimo. | 6 Numériques |
Coordonnées expéditeur | ||
sender_company | Raison sociale expéditeur | |
sender_civilite | Civilité expéditeur | Liste de valeurs mr | mme |
sender_name | Nom expéditeur | |
sender_firstname | Prénom expéditeur | |
sender_adr1 | Adresse expéditeur ligne 1 | max 32 caractères |
sender_adr2 | Adresse expéditeur ligne 2 | max 32 caractères |
sender_zip | Code postal expéditeur | Dépend du pays |
sender_city | Ville expéditeur | |
sender_country_code | Code pays ISO expéditeur | 2 Alphanumériques |
sender_email | Adresse email expéditeur | |
sender_phone | Numéro mobile expéditeur, exemple : 0600000000 | 10 Numériques |
Coordonnées destinataire | ||
shipping_company | Raison sociale destinataire | |
shipping_civilite | Civilité destinataire | Liste de valeurs mr | mme |
shipping_name | Nom destinataire | |
shipping_firstname | Prénom destinataire | |
shipping_adr1 | Adresse destinataire ligne 1 | max 32 caractères |
shipping_adr2 | Adresse destinataire ligne 2 | max 32 caractères |
shipping_zip | Code postal destinataire | Dépend du pays |
shipping_city | Ville destinataire | |
shipping_country_code | Code pays ISO destinataire | 2 Alphanumériques |
shipping_email | Adresse email destinataire | |
shipping_phone | Numéro mobile destinataire, exemple : 0600000000 | 10 Numériques |
Autres paramètres | ||
request_time | Laisser vide pour une création de transport immédiate, ou mettre une date unix pour un moment ultérieur. ex :1483365600 pour le mardi 2 janvier 2017 à 14h00 gmt +1 (paris) | Numérique |
print_mode | Format étiquette. Format A4 : “pdf” . Format A5 (thermique) : “thermal” | Liste de valeurs pdf | thermal |
auto_store | Archiver automatiquement cet envoi dans votre console | Liste de valeurs yes | no |
csv_ref_prefix | Permet au coursier d’identifier la source de la course, par exemple le nom de votre site web en abrégé. | |
csv_source_id | ID permettant de faire un pingback (webhook) sur une URL pour recevoir les informations de suivi de livraison. Envoyer votre URL à support@expedy.fr |
order_cart_data | Permet de transmettre au coursier le contenu de la commande pour un ou plusieurs magasins à collecter. |
Exemple XML “order_cart_data”
(faire passer ce XML dans l’array “params”.)
<shops>
<shop>
<shop_name><![CDATA[Woki Restaurant]]></shop_name>
<shop_adr><![CDATA[118 rue République, 75005 Paris]]></ shop_adr >
<shop_preorder></shop_preorder> // laisser vide
<shop_cart>
<shop_item>
<p_ref>W04</p_ref>
<quantity>1</quantity>
<p_name><![CDATA[Plat Principal]]></p_name>
<p_price>9.5</p_price>
<p_tva>1.055</p_tva>
<p_weight>200</p_weight>
<p_desc><![CDATA[]]></p_desc> // pas obligatoire
<p_opts>
<opt>
<opt_name><![CDATA[Cacahuetes]]></opt_name>
<opt_price>0.50</opt_price>
<opt_tva>1.055</opt_tva>
</opt>
<opt>
<opt_name><![CDATA[Poulet]]></opt_name>
<opt_price>2.00</opt_price>
<opt_tva>1.055</opt_tva>
</opt>
</p_opts>
</shop_item>
<shop_item>
<p_ref>W04</p_ref>
<quantity>1</quantity>
<p_name><![CDATA[Le Best Of Woki]]></p_name>
<p_price>7.5</p_price>
<p_tva>1.055</p_tva>
<p_weight>200</p_weight>
<p_desc><![CDATA[]]></p_desc> // pas obligatoire
<p_opts>
<opt>
<opt_name><![CDATA[Cacahuetes]]></opt_name>
<opt_price>0.50</opt_price>
<opt_tva>1.055</opt_tva>
</opt>
</p_opts>
</shop_item>
</shop_cart>
</shop>
<shop>
<shop_name><![CDATA[Burger Rapide]]></shop_name>
<shop_adr><![CDATA[ 63 quai Cavelier de la Salle, 75005 Paris]]></ shop_adr >
<shop_preorder></shop_preorder> // laisser vide
<shop_cart>
<shop_item>
<p_ref>A28</p_ref>
<quantity>2</quantity>
<p_name><![CDATA[Burger Double Cheese]]></p_name>
<p_price>13</p_price>
<p_tva>1.055</p_tva>
<p_weight>200</p_weight>
<p_desc><![CDATA[]]></p_desc> // pas obligatoire
<p_opts></p_opts>
</shop_item>
<shop_item>
<p_ref>A22</p_ref>
<quantity>1</quantity>
<p_name><![CDATA[Grande Frite]]></p_name>
<p_price>5</p_price>
<p_tva>1.055</p_tva>
<p_weight>200</p_weight>
<p_desc><![CDATA[]]></p_desc> // pas obligatoire
<p_opts></p_opts>
</shop_item>
</shop_cart>
</shop>
</shops>
Exemple PHP d’une requête Création étiquette transport
<? // GENERER UN BON ENVOI * LIVRAISON ( api/request_bl ) define('DS_SERVICE', 'api/request_cotation'); // <-- ! service a requeter define('SID', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'); define('TOKEN', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'); define('DS_URL', 'www.expedy.fr'); define('DS_SERVICE_URL', 'https://'.DS_URL.'/'.DS_SERVICE); // start params $poids = "1"; // poids en kg , exemple : 1.25 $total_invoice = "0"; // valeur du colis en euros $type = "kebi_resto_in_rouen"; // code type envoi récupéré aprés requete cotation $relayidselected = ""; // id relais recupérée aprés requete relais $unique_ref = "TEST API"; // votre reference unique / interne $print_mode = "thermal"; // type d'impression "pdf" pour A4, "thermal" pour A5 $auto_store = "yes"; // yes ou no (archive automatiquement ou pas cet envoi dans votre console) $csv_ref_prefix = "API"; // tag general / de groupe pr votre reference unique $length = "5"; // obligatoire pour export : longueur du colis, $width = "5"; // obligatoire pour export : largeur du colis, $height = "5"; // obligatoire pour export : hauteur du colis, $content_descr = ""; // obligatoire pour export : description simple $content_value = ""; // obligatoire pour export : valeur du colis en euros déclarée pour export $content_customscode = ""; // obligatoire pour export avec colissimo : code douane // end params // start sender $sender_company = "RESTO IN"; // raison sociale expediteur $sender_civilite = ""; // mr ou mme $sender_name = "Dupont"; // Nom $sender_firstname = "Pierre"; // prénom $sender_zip = "76000"; // code postal $sender_adr1 = "12 rue de la république"; // max 32 char $sender_adr2 = ""; // max 32 char $sender_city = "Rouen"; // ville $sender_country_code = "FR"; // code pays iso 2 $sender_email = "test@resto-in.fr"; $sender_phone = "0601010101"; // mobile , format 0600000000 // end sender // start shipping $shipping_company = "TEST API"; // raison sociale destinataire $shipping_civilite = ""; // mr ou mme $shipping_name = "Robot"; // Nom $shipping_firstname = "Mister"; // prénom $shipping_zip = "76000"; // code postal $shipping_adr1 = "10 rue rouge"; // max 32 char $shipping_adr2 = "Batiment bleu"; // max 32 char $shipping_city = "Rouen"; // ville $shipping_country_code = "FR"; // code pays iso 2 $shipping_email = "test@resto-in.fr"; // $shipping_phone = "0601010101"; // mobile , format 0600000000 // end shipping $data_params = array( 'type' => $type, 'poids' => $poids, 'relayidselected' => $relayidselected, 'unique_ref' => $client_order_id, 'total_invoice' => $total_invoice, 'csv_ref_prefix' => $csv_ref_prefix, 'length' => $length, 'width' => $width, 'height' => $height, 'content_descr' => $content_descr, 'content_value' => $content_value, 'content_customscode' => $content_customscode, 'print_mode' => $print_mode, 'auto_archive' => $auto_store ); // construction requete : $data_from = array( 'sender_company' => $sender_company, 'sender_civilite' => $sender_civilite, 'sender_name' => $sender_name, 'sender_firstname' => $sender_firstname, 'sender_zip' => $sender_zip, 'sender_adr1' => $sender_adr1, 'sender_adr2' => $sender_adr2, 'sender_city' => $sender_city, 'sender_country_code' => $sender_country_code, 'sender_email' => $sender_email, 'sender_phone' => $sender_phone ); $data_to = array( 'shipping_company' => $shipping_company, 'shipping_civilite' => $shipping_civilite, 'shipping_name' => $shipping_name, 'shipping_firstname' => $shipping_firstname, 'shipping_zip' => $shipping_zip, 'shipping_adr1' => $shipping_adr1, 'shipping_adr2' => $shipping_adr2, 'shipping_city' => $shipping_city, 'shipping_country_code' => $shipping_country_code, 'shipping_email' => $shipping_email, 'shipping_phone' => $shipping_phone ); $data_request = array( 'sid' => SID, 'token' => TOKEN, 'params' => $data_params, 'from' => $data_from, 'to' => $data_to ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, DS_SERVICE_URL); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data_request)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec ($ch); curl_close ($ch); header ("Content-Type: text/xml; charset=utf-8"); //print $result; echo $result; ?>