Prestashop – Mise à jour des commandes Mondial Relay

Prestashop-MondialRelay

Chargé de maintenir la boutique d’une Parapharmacie j’ai été amené à faire beaucoup de modifications sur des modules Prestashop et notamment sur le module Mondial Relay. Le module natif développé par Vincent Schoener est assez complet il est d’ailleurs assez agréable d’y ajouter des modifications mineurs car le code est compréhensible. Ce type de transport étant assez économique pour le client il est souvent utilisé et nous souhaitions avoir un changement des statuts des commandes qui soit automatique. De base le module est livré avec un fichier « cron.php » qui une fois ajouté comme une tache cron sur votre serveur mettra automatiquement le statut livré à jour. J’ai donc repris ce script et je l’ai modifié pour avoir un script qui prenne aussi en compte les autres statuts comme « le retour d’un colis », « l’arrivé en point relais » etc …

Je vous propose donc ce script qui vaut ce qu’il vaut. Seul inconvénient je ne me suis pas attelé à faire une interface de configuration dans la partie administration. Il vous faudra donc modifier en dure les identifiants des statuts pour faire le lien avec Prestashop.

Pour connaitre les identifiants de vos statuts il vous faut aller dans : Panneau d’administration > Commandes > Statuts

Statuts Prestashop

Dans le script il faut modifier le code suivant :

$STEPS_CANCELED = array(6,7); # Liste des stauts PS à ne pas mettre à jour. Evite de mettre à jour les statuts des ventes annulées ou remboursés par exemple.
/* TABLEAUX PERMETTANT DE FAIRE LE LIEN ENTRE LES STATUTS MR ET PS */
$STEPS_MR_PS = array(
   'PRÉPARATION EN COURS'        => 3,
   'RÉCEPTION DES DONNÉES'       => 27,
   'PRISE EN CHARGE EN AGENCE'   => 4,
   'DISPONIBLE AU POINT RELAIS'  => 16,
   'COLIS LIVRÉ'                 => 5,
   'RETOUR DU COLIS'             => 20
);
  •  Le premier tableau contient les statuts à ne pas traiter. Par exemple ici j’évite de traiter les commandes annulées ou remboursées.
  • Dans le dernier tableau on spécifie les IDs Prestashop correspondants à un statut Mondial Relay.

Exemple : Quand Mondial Relay renvoie « DISPONIBLE AU POINT RELAIS » j’attribut à la commande le statut avec l’ID 16, qui chez moi correspond à un staut « Disponible 7 jours dans le point relais » et qui envoi un mail au client pour le prévenir.

Voilà j’espère que ce script vous aidera. Je vais le soumettre à Vincent en lui proposant de l’ajouter pour les prochaines versions du module Mondial Relay. En attendant je vous conseil de garder le nom cron2.php pour éviter de l’écraser lors de mises à jour de la boutique.

Le script zipé :
Prestashop – Mondial Relay – Mise à jour des statuts de commande

 

Un commentaire

  1. Bonjour,

    Votre fichier est très pratique. Merci pour le partage :)

    J’ai modifié le fichier comme vous l’avez indiqué dans votre post, mais il me retourne l’erreur suivante quand je lance la tâche : Fatal error (OrderHistory -> id_order_state is empty)

    Aurais-tu une piste pour que j’essaye de résoudre le problème ?

    Merci par avance :)

  2. Prends la dernière version qu’il y a sur le site de Prestashop. Cette modif étant temporaire en attendant qu’une modification soit proposée. Aujourd’hui le module doit fonctionner correctement. ;)

  3. Bonjour,

    je viens de tomber sur votre article par hasard, et je découvre cette modification encore inconnu de la communauté prestashop, en tout cas je ne suis jamais tomber dessus ….

    Je tiens à vous remercier pour le partage de votre travail, je vais de ce pas effectuer quelque test afin de voir si celà fonctionne encore avec la dernière version du module mondial relay.

    En vous remerciant.

    Cordialement.

  4. J’avais posté cette solution sur le forum de PrestaShop quelques jours avant pour aider quelqu’un. Attention cette mise a jour n’est pas un vrai correctif. Juste une bidouille en attendant mieux. ;)

  5. Je viens de tomber sur votre article et je n’ai qu’une chose a dire MERCIIII ^^

    c’est pile poil ce que je recherchais.

    J’ai donc suivi votre article pour la modif, et je rencontre un petit souci. En effet les statuts ne se modifie toujours pas …

    Avez vous une idée d’ou cela pourrait il venir ?

    Encore merci pour tout,

    =)

  6. Bonjour Jerome,
    Je pense que depuis Mondial Relay a changé sa politique car ils devaient supprimer ce service.
    Il faudrait faire des test pour voir si le service répond toujours.

  7. Bonjour Christophe,
    Désolé de ne pas avoir répondu avant.
    A l’époque Mondial Relay réfléchissait à supprimer ce service. J’ai peur que ce ne soit fait.
    Il faudrait voir avec eux s’ils ont changer ou supprimé ce webservice.

Leave a Comment.