Super Edit :
J’ai des infos de la poste, ils sont en train de mettre en place une API Officielle.
Pour cela il faut avoir un compte Inet-Expeditor et le service sera proposé en janvier 2014.
Il répondra au jolis nom de « colis view ». Je vous conseille de vous rapprocher de votre commercial car l’ancienne API sera supprimée.Edit : Apres de nombreuses années sans problèmes, laposte.fr à apparemment fermé son WebService, au jour où j’écris ces lignes (25/04/2013), il ne fonctionne plus.
Edit 2 : LA poste à mis en place un véritable webService, voici le lien de la documentation :
https://www.coliposte.fr/pro/docs/docutheque/divers/socolissimo/integrationwsshipping.pdf
Edit 3 : Tout est revenu dans l’ordre…
Grâce à ce code très simple on va récupérer sur notre page l’information de suivi Coliposte de votre client sans se connecter au site coliposte.fr.
12345678910111213141516171819202122232425262728293031323334353637<?php$ch = curl_init();$agent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";$ref = "http://www.laposte.fr";$url_de_colissimo_suivi = "www.laposte.fr/outilsuivi/web/suiviInterMetiers.php?method=xml&key=null&code=".$code_colissimo."&width=190&font=Arial&t=1253811351937" ;curl_setopt($ch, CURLOPT_USERAGENT, $agent);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_URL, $url_de_colissimo_suivi);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_REFERER, $ref);$data = curl_exec($ch);/* cURL va renvoyer du xml qui sera formaté de cette manière :< ?xml version='1.0' ?>< ![CDATA[1]]>< ![CDATA[9A00092239388]]>< ![CDATA[Particulier]]>< ![CDATA[22/07/2010]]>< ![CDATA[Votre colis est livré]]><base_label>< ![CDATA[Coliposte]]>< ![CDATA[http://www.coliposte.net/particulier/suivi_particulier.jsp?colispart=xxxxxxxxxxxxxxxxxxxx]]>< ![CDATA[]]>*/// ça sera de l'UTF-8, utiliser utf8_decode si votre page est en ISO*/$sxml = simplexml_load_string($data);$message_du_xml = $sxml->message;$date_du_xml = $sxml->date;$colissimo_message = utf8_decode($message_du_xml);$colissimo_date = utf8_decode($date_du_xml) ;echo $colissimo_date;echo $colissimo_message;?>
ce code vous sera très utile pour un site de e-commerce.
Grand maître L