La gestion des expéditions

Le 28 mai 2020 par Admin
3 minutes de lecture · Référence du webservice : #SWO-G078

Comment gérer les expéditions une fois la connexion à OpenSi effectuée ?

Attention, ce flux webservice est un flux spécifique à Magento, il n’existe pas sous PrestaShop !

La gestion des expéditions est une étape clé pour la satisfaction client. Celui-ci vient de passer commande et attend souvent avec impatience que son colis arrive. Il faut donc que cette étape soit la plus rapide possible mais également qu’il n’y ait pas d’erreurs (un article oublié, une quantité non respectée, etc…).

Il est donc important de pouvoir traiter rapidement celles-ci tout en restant attentif à leur contenu pour éviter toutes erreurs (taille, quantité, couleur, etc…).

Nous allons voir dans cet article de quelle manière vous devez gérer ces expéditions et quelles sont les informations disponibles au niveau des synchronisations entre OpenSi et votre boutique.

Cet article aborde les sujets suivants :

La gestion des expéditions

La synchronisation des expéditions s’effectue d’OpenSi vers la boutique.

De la même manière que vous allez gérer vos commandes directement dans OpenSi une fois la liaison établie, il va s’en dire que vous faire de même avec les expéditions.

Aussi, vous allez effectuer vos expéditions directement dans OpenSi qui sera le « maitre » de ces informations.

Les expéditions sont ensuite envoyées à la boutique via un webservice qui vient les chercher dans OpenSi avant de les ajouter / créer au niveau de chacune des commandes.

La saisie des informations

Comme indiqué précédemment, une fois votre boutique connectée avec OpenSi, vous allez devoir gérer vos expéditions directement dans OpenSi et non plus sur votre boutique.

La synchronisation des expéditions s’effectue alors dans le sens « OpenSi › Boutique » où un webservice spécifique va récupérer ces données avant de les envoyer à votre boutique où celles-ci seront automatiquement mises à jour.

Schéma représentant les différentes étapes de la création des expéditions sur la boutique.

Important !

La mise à jour des expéditions s’effectue dans OpenSi (sens de synchronisation : OpenSi › Boutique).

L’enregistrement et l’envoi des informations logistiques à la boutique

Dès que vous créez une nouvelle expédition sur une commande dans OpenSi, celle-ci est ensuite renvoyée à la boutique où elle sera ajoutée à la commande concernée lors de la synchronisation suivante.

Un appel webservice est effectué pour demander à OpenSi quelles expéditions ont été ajoutées entre la date de la dernière synchronisation et maintenant et celles-ci sont ensuite créées sur la boutique.

La synchronisation sur la boutique

La synchronisation des expéditions est effectuée en standard toutes les 10 minutes (cette fréquence peut néanmoins être modifiée par nos soins selon vos besoins).

Liste des informations synchronisables liées à la commande

Voici la liste exhaustive des champs que vous pouvez synchroniser avec votre boutique (récupération des expéditions dans OpenSi).
Tous ces champs sont obligatoires.

WebOrderNumber *Numéro de la commande (Chaîne de 11 caractères max.)
OrderShipmentDeliveryNotes *Détail de l’expédition (voir section suivante)
(*) Champs obligatoires

Liste des informations synchronisées liées à l’expédition

Voici la liste exhaustive des champs que vous pouvez synchroniser sur la boutique pour chacune des expéditions (attention, les champs sont obligatoires).

DeliveryNoteReference *Référence de l’expédition (Chaîne de 11 caractères max.)
OrderShipmentDeliveryNotesDetail *Détail des articles de l’expédition (voir section suivante)

Liste des informations synchronisées liées aux articles de l’expédition

Reference *Référence de l’article (Chaîne de 40 caractères max.)
Quantity *Quantité vendue (Nombre décimal de 14 chiffres au total dont 3 chiffres après la virgule)
(*) Champs obligatoires

Exemple de flux XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:open="http://www.opensi.fr" xmlns:xsd="http://www.opensi.fr/xsd">
   <soapenv:Header>
      <open:Header>
         <open:key>xxxxxxxxxxxxxxxxxxxxxxx</open:key>
      </open:Header>
   </soapenv:Header>
   <soapenv:Body>
      <open:setOrderShipmentsRequest>
         <open:Website_Code>xxx</open:Website_Code>
         <!--Zero or more repetitions:-->
         <open:OrderShipment>
            <xsd:WebOrderNumber>100000001</xsd:WebOrderNumber>
            <!--1 or more repetitions:-->
            <xsd:OrderShipmentDeliveryNotes>
               <xsd:DeliveryNoteReference>BL20050001</xsd:DeliveryNoteReference>
               <!--1 or more repetitions:-->
               <xsd:OrderShipmentDeliveryNotesDetail>
                  <xsd:Reference>demo_1_ws</xsd:Reference>
                  <xsd:Quantity>1</xsd:Quantity>
               </xsd:OrderShipmentDeliveryNotesDetail>
               <xsd:OrderShipmentDeliveryNotesDetail>
                  <xsd:Reference>demo_2</xsd:Reference>
                  <xsd:Quantity>1</xsd:Quantity>
               </xsd:OrderShipmentDeliveryNotesDetail>
               <xsd:OrderShipmentDeliveryNotesDetail>
                  <xsd:Reference>demo_3_bl</xsd:Reference>
                  <xsd:Quantity>2</xsd:Quantity>
               </xsd:OrderShipmentDeliveryNotesDetail>
            </xsd:OrderShipmentDeliveryNotes>
         </open:OrderShipment>
         <open:OrderShipment>
            <xsd:WebOrderNumber>100000002</xsd:WebOrderNumber>
            <!--1 or more repetitions:-->
            <xsd:OrderShipmentDeliveryNotes>
               <xsd:DeliveryNoteReference>BL20050002</xsd:DeliveryNoteReference>
               <!--1 or more repetitions:-->
               <xsd:OrderShipmentDeliveryNotesDetail>
                  <xsd:Reference>demo_1_ws</xsd:Reference>
                  <xsd:Quantity>10</xsd:Quantity>
               </xsd:OrderShipmentDeliveryNotesDetail>
               <xsd:OrderShipmentDeliveryNotesDetail>
                  <xsd:Reference>demo_2</xsd:Reference>
                  <xsd:Quantity>1</xsd:Quantity>
               </xsd:OrderShipmentDeliveryNotesDetail>
            </xsd:OrderShipmentDeliveryNotes>
         </open:OrderShipment>
      </open:setOrderShipmentsRequest>
   </soapenv:Body>
</soapenv:Envelope>

Dans le flux XML ci-dessus, vous pouvez voir que :