Réaliser un suivi des paquets Coliposte / Colissimo dans votre site internet

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.

<?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


Publié

dans

,

par

Commentaires

23 réponses à “Réaliser un suivi des paquets Coliposte / Colissimo dans votre site internet”

  1. Avatar de gotcha
    gotcha

    super, merci beaucoup.

    1. Avatar de gotcha
      gotcha

      Je suis en train de travailler sur un module me permettant tout les jours de mettre à jour les status de mes commandes, mais je me pose deux question.

      – Controler l’état (livré)
      Je suis surpris de ne pas voir un champ permettant directement de savoir si le colis a été livré ou non.
      La seuls manière que je vois étant un controle de la chaine « message » afin de vois si elle comprend « distribué » ou « remis à un gardien ou un voisin »?

      – Control d’un lot
      La deuxième interrogation que j’ai est que si je dois controler une dizaine de paquet compte tenu du tenu de résponse je suis un peu inquiet du résultat.
      vouyez vous une solution?

      1. Avatar de Grand Maître L

        Bonjour,
        je te conseille de te tourner vers cette class php qui est beaucoup plus complète :
        https://github.com/delphiki/ColissimoAPI/blob/master/src/Colissimo/ColissimoApi.php

        1. Avatar de gotcha
          gotcha

          merci.
          Malheureusement après différent test, il semble que l’ip de mon serveur ai été blacklisté
          la moindre requete aboutit à un 410

  2. Avatar de Jérôme

    Salut a tous !! Moi aussi, j’utilisé ce super script php pour mon business et je devais me taper la gestion de suivi a la main depuis quelques jours (avant noël, merci la poste).

    J’ai donc chercher une solution sur internet pour refaire fonctionner le script et je suis tombé il y a quelques minutes sur cette page : https://gist.github.com/sandavid/6351779 qui est aussi un script de tracking colissimo mais en pearl et j’ai remarqué que celui indiqué comme referrer le fichier de la poste dans la requête curl. J’ai donc ajouter une ligne au script si dessous dans le parametre curl : curl_setopt($ch, CURLOPT_REFERER, « http://www.laposte.fr »); et miracle : ça fonctionne !!

    amusez-vous bien et f..k la poste !

    1. Avatar de Jérôme

      Oupsss, j’oublié : il faut mettre la value de la variable d’url key a « null » aussi !

  3. Avatar de David
    David

    Bon… Il aura suffit que je post hier pour que cela refonctionne ce matin !… Pour combien de temps mystère… Je vais me renseigner pour l’API officielle. Merci de l’info.

    1. Avatar de Grand Maître L

      Les voies de la poste sont impénétrable.

    2. Avatar de Adrien L
      Adrien L

      Bonjour,
      ça ne fonctionne plus aujourd’hui ?

  4. Avatar de David
    David

    Effectivement, cela ne fonctionne à nouveau plus depuis quelques jours… Le WebService renvoi systématiquement un document vide…

    1. Avatar de Grand Maître L

      Bon 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.

  5. Avatar de Chris

    Le service est HS depuis lundi dernier, chez vous aussi ?

  6. […] Les années avançant et les statistiques Google Analytics sont là pour le prouver , la page la plus lue sur le blog est celle concernant un petit code mis en ligne pour faire du tracking de paquet Colissimo. […]

  7. Avatar de Chris
    Chris

    Apparemment, le suivi fonctionne à nouveau depuis ce matin, à surveiller !!

  8. Avatar de Grand Maître L

    Je me renseigne…

  9. Avatar de Chris
    Chris

    La documentation concerne la création de l’étiquette ? Est-ce qu’il existe aussi une doc pour le suivi des expéditions ?

    1. Avatar de Grand Maître L

      Pas à ma connaissance 🙁

  10. Avatar de Chris
    Chris

    Par contre le comportement est différent avec key=null et une key trouvée sur internet. Le résultat est le même mais avec une key différente de null, j’arrive à une page erreur non disponible … Peut être un soucis avec leur serveur ….

  11. Avatar de Chris
    Chris

    Pareil, le suivi ne fonctionne plus depuis plusieurs jours.
    Par contre, avec des suivis Chronopost ça marche mais avec des suivis Colissimo plus rien : ça tourne dans le vide (erreur en retour).
    C’est dommage …

  12. Avatar de David
    David

    Hélas, après plusieurs années de fonctionnement, cela semble être HS depuis 2 ou 3 jours. Le WebService ne répond plus rien (retour vide).

  13. Avatar de boutiqueafro

    Bonjour,

    Je déterre un vieux sujet 🙂
    Juste un petit merci 🙂

    A+

  14. Avatar de bruno
    bruno

    Marche pas ce code puisque Key=null. Le site n’est pas donc reconnu par la poste

    1. Avatar de Grand Maître L

      Bonjour,
      Malgré le faite que le Key soit à « null », le code fonctionne très bien. J’ai utilisé ce code pendant 3 ans sans problèmes.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.