Plugin pour gérer des livraisons en poi nts relais
tcharlss <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
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 :
1. La personne choisit un mode de livraison « Point Relai X »
2. 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.
3. Après confirmation, ce choix est transmis et enregistré chez le
presta, et également sur le site spip.
4. 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 :
1. Augmenter la table spip_livraisonmodes afin d'identifier les modes
de livraison qui correspondent à des prestas points relais
2. 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 :
https://mondialrelay-wp.com/wp-content/uploads/2019/10/Parametrage_Compte_Identifiants-1-1.jpg
* Suivi des livraisons :
https://mondialrelay-wp.com/wp-content/uploads/2018/11/Fonctionnement_Suivi_Exp%C3%A9dition_dans_le_Module.png
* Vue de la livraison sur la page d'une commande (étiquettes + suivi)
:
https://mondialrelay-wp.com/wp-content/uploads/2018/11/Fonctionnement_Exp%C3%A9dition_Informations_sur_l_exp%C3%A9dition.png
Voilà en gros.
Si vous avez des remarques/objections, c'est le moment.