IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Faire un suivi automatique de colis


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Par défaut Faire un suivi automatique de colis
    Bonjour

    je vous expose mon soucis, peut être qu'une personne aura déjà eu le cas et aura une piste a me refiler...

    je gère un site prestashop et j'aurais voulu pouvoir faire un suivi automatique des colis.

    du style.
    on expédie, on renseigne le numéro de suivi, on change le statut de la commande (préparation en cour vers en cours de livraison)
    mais après!!!

    il faut que je me tape les changements de en cours de livraison vers livré et a la main oufffff!!!!!

    je cherche donc a développer une petite appli qui pourra récupère les suivis des transporteur (lettre suivi, GLS, Collissimo, Chronopost)
    et changer le statut de la commande en fonction de livré ou pas.

    première idée (je sais pas si c'est possible)
    je construit l'adresse en fonction du numéro de suivi...
    du style : http://www.colissimo.fr/portail_coli...=9L06222689443

    essayer de récupérer la page, la mettre dans un conteneur string ou autre, pour lancer une fonction qui chercher dans le code pour savoir si c'est livré ou pas.

    si livré je change l'etat de la commande automatiquement...

    j'attend vos idées et je continu a chercher de mon coté...

    merci a tous...

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Par défaut
    ca marche avec les lettre suivi mais pas avec mes colissimo (la page colissimo ne donne pas de texte mais des images).
    c'est pas top propre, c'est super lourd, mais ca marche...
    si vous avez d'autre idées....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    include_once 'class/BDDaccess.php';
    $message2 = 'les numeros : ';
    $listnumsuivi = array();
    $bdd = new BDDaccess();
    $listnumsuivi = $bdd->GetNumeroSuivi();
    foreach ($listnumsuivi as $num)
    {
        $debut = substr($num,0,2);
        if ($debut=='2K')
        {
            $url = "http://www.csuivi.courrier.laposte.fr/suivi/index?id=".$num;
            $chaine = "Le courrier a été déposé dans la boîte à lettres du destinataire";
            $ch = curl_init();
     
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_USERAGENT, 'declicpharma.com');
            $resultat = curl_exec ($ch);
            curl_close($ch);
     
            if (preg_match('#'.$chaine.'#', $resultat))
            {
                $bdd = new BDDaccess();
                $message = $bdd->StatutLivre($num);
                $message2 = $message2.$num.' : Courrier livre<br/>';
            }
            else
            {
                $message2 = $message2.' '.$num.' : courrier non livré<br/>';
            }
        }
        else
        {
            $message2 = $message2.'  '.$num.' : pas une lettre suivi ';
        }
    }
    echo $message2;
    les fonctions de la classe BDDaccess();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
       public function GetNumeroSuivi()
        {
            $sql = "SELECT * FROM ps_orders o
            INNER JOIN ps_order_carrier oc
            ON o.id_order = oc.id_order
            WHERE current_state='4'";
            $numsuivi = array();
            $bdd = $this->connectBDD();
            $result = $bdd->query($sql);
            while ($donnee=$result->fetch())
            {
                array_push($numsuivi, $donnee['tracking_number']);
            }
            return $numsuivi;
        }
     
        public function StatutLivre($num)
        {
            $sql = "UPDATE `ps_orders`
             SET `current_state`='5'
              WHERE shipping_number='".$num."'";
            $mess = $this->accesbdd($sql, "exec");
            $message = $this->GestErrorSql($mess);
            return $message;
        }

  3. #3
    Invité de passage
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Avril 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 1
    Par défaut
    J'aurai bien voulu pourvoir t'aider mais mes connaissances sont limitées sur le sujet. En revanche j'ai aussi le même problème a devoir suivre les lettre max une a une et c'est assez fatiguant... je n'ai toujours pas trouvé de solution et je continu a chercher même payant cela n'existe pas mais en revanche Colissimo il existe une application gratuite et sans compte la poste nécessaire mais je pense que tu préfères un modules qui gère plus de transporteurs ?
    En tout cas je suit ton affaire de près...

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Par défaut
    le code mis plus haut fonctionne plutôt pas mal...

    en fait je lance les requête avec les numéros de suivis et je récupère le contenu des pages.
    et si il y a la chaîne "Le courrier a été déposé dans la boîte à lettres du destinataire"

    je considère le courrier livré...


    pour colissimo on peut s'abonner a un service qui t"envoie sur un ftp des fichiers avec les infos de tes colis...
    après faut faire une petite appli qui gère ces fichiers...

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/04/2018, 09h13
  2. Faire une sauvegarde automatique ?
    Par Neal Morse dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/12/2005, 19h29
  3. Faire un filtre automatique comme dans Excel
    Par ptitdav dans le forum Access
    Réponses: 2
    Dernier message: 19/09/2005, 13h29
  4. Faire des calculs automatiques en JavaScript
    Par yoyot dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/02/2005, 10h31
  5. [VB6] Ne pas faire de retour automatique dans un RichTextBox
    Par Arthaniel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/01/2005, 03h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo