Hello la liste,
Les Éditions de la Cerise ont besoin de faire des livraisons en points relais, je vais donc me coller à la tâche.
On a retenu Mondial Relay pour les tarifs et la doc technique accessible.
Le but est de faire un plugin le plus générique possible qui fonctionne de concert avec livraison (celui de cedric) et commandes.
Ci-dessous un cachier des charges préliminaire après avoir consulté la doc de Mondial Relay + l’implémentation du plugin pour Woocommerce + survol de la doc de Relay Colis. Rien n’est encore gravé dans le marbre.
Dans les grandes lignes il s’agirait d’implémenter ces fonctionnalités :
-
Enregistrer chaque livraison individuellement (pour le suivi, les dates, etc)
-
Communiquer avec des prestas pour enregistrer les livraisons et récupérer des infos : permaliens de suivi, étiquettes à coller sur les colis, liste des points relais, etc.
Plutôt que de faire un plugin propre à Mondial Relay, je pense faire plutôt comme Bank : un plugin « Points Relais » générique avec plusieurs prestataires possibles à activer. Dans un 1er temps il n’y aurait que Mondial Relay, mais ça permettrait d’en ajouter d’autres par la suite.
Il s’appuyera sur le plugin livraison : de nouveaux modes de livraison seront ajoutés/activés en fonction des prestas sélectionnés. Donc si on a implémenté un tunnel de commande utilisant #FORMULAIRE_ADRESSER_COMMANDE, rien à changer à priori, ça sera s’insèrera dedans.
Côté public, le workflow devrait être en principe similaire pour tous les prestas :
-
La personne choisit un mode de livraison « Point Relai X »
-
Elle est invitée à choisir le point relai sur une carte. Soit depuis une modale donc sans quitter le formulaire, soit en ajoutant une étape supplémentaire en bidouillant le redirect, mais sans quitter le site dans tous les cas. Elle ne peut passer à l’étape suivante si aucun choix n’est fait.
-
Après confirmation, ce choix est transmis et enregistré chez le presta, et également sur le site spip.
-
Enfin, si le presta propose le suivi, le permalien est inséré dans le mail de notif de la commande, et peut-être aussi dans le message de retour de bank.
Côté sql, cela supposerait 2 choses :
- Augmenter la table spip_livraisonmodes afin d’identifier les modes de livraison qui correspondent à des prestas points relais
- Ajouter une table pour enregistrer les livraisons
C’est pour ce 2ème point que je m’interrogationne. Cette table n’est pas forcément propre aux points relais, elle est nécessaire pour ces derniers mais pourrait servir pour n’importe quel mode de livraison.
De base elle contiendrait juste ces infos :
-
le mode de livraison lié
-
l’auteur lié
-
la commande liée
-
un état (colis enregistré, en cours de transfert, etc. Cela dépend de chaque mode de livraison. À priori c’est différent d’un statut)
-
l’adresse de livraison (texte libre ou id_adresse, à voir)
-
le nécessaire pour obtenir un permalien pour le suivi (ou directement le lien)
Pour les points relais, il y aurait en plus : la référence du point relai sélectionné, une référence unique propre au presta, etc.
Bref, elle pourrait être fournie directement par le plugin Livraison, puis utilisée et augmentée par le plugin Points Relais selon ses besoins.
Enfin pour donner une idée de la gestion dans le privé, on aurait au final quelque chose d’assez proche de l’extension (payante :p) de Woocommerce :
- Config d’un presta :
- Suivi des livraisons :
- Vue de la livraison sur la page d’une commande (étiquettes + suivi) :
Voilà en gros.
Si vous avez des remarques/objections, c’est le moment.