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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.