Les états / statuts de commande

Le 12 octobre 2022 par Admin
4 minutes de lecture · Référence du webservice : #SWO-G008

Comment ça se passe au niveau des changements de statuts de commande une fois la synchronisation avec OpenSi en place ?

Chaque commande client passée sur la boutique va évoluer tout au long de son traitement jusqu’à ce qu’elle soit expédiée à l’acheteur. Chacune de ses étapes correspond à un statut (ou un état) de commande différent.

Cela passe en général par le statut « En attente », « En cours de traitement » et « Expédié » (bien qu’une commande puisse en avoir plus ou moins et/ou des statuts de commande dont le nom est différent).

Nous allons voir dans cet article de quelle manière sont traités les différents statuts de commande et quelles sont les informations qu’il est possible d’échanger entre OpenSi et votre boutique.

Cet article aborde les sujets suivants :

Les états/statuts de commande

La synchronisation des états de commande s’effectue d’OpenSi vers la boutique

A chaque étape du traitement de votre commande, un nouveau statut est édité afin de permettre à vos clients de connaître l’état de sa commande. Cela lui permet de suivre l’évolution de son traitement avant expédition.

Vous n’avez rien d’autre à faire que de traiter vos commandes dans OpenSi, les états/statuts se mettant à jour automatiquement sur la boutique par la suite. La plupart du temps, un e-mail indique également au client de la situation à un instant T.

La synchronisation des statuts de commande sur la boutique est effectuée via un webservice qui vient récupérer toutes les informations dans OpenSi avant de les envoyer à la boutique.

Schéma représentant les différentes étapes de la synchronisation des états de commande entre OpenSi et la boutique.

Important !

La génération des états de commande s’effectue dans OpenSi (sens de synchronisation : OpenSi › Boutique).

Attention toutefois, les changements de statuts nécessitent un paramétrage afin que cela fonctionne.

En effet, pour que l’état d’une commande puisse être mis à jour sur la boutique, il faut au préalable sélectionner les correspondances dans la configuration du module OpenSi Connect.

Pour cela, il faut vous rendre dans le backoffice de votre boutique, dans la configuration du module (bloc « statuts de commande ») et sélectionner les états de la boutique par rapport à ceux d’OpenSi :

PrestaShop

Schéma représentant le mapping des statuts de commande sous PrestaShop.

A noter qu’il est possible d’activer/désactiver chacun des statuts de commande si vous ne souhaitez pas les utiliser.

A noter qu’il est également possible de baser le statut « Commande en cours de préparation » sur le bon de livraison (BL) ou le bon de préparation (BP).

Vous avez également la possibilité d’activer la gestion avancée des statuts de commande sous PrestaShop. Cela permet de gérer avec plus de finesse les statuts de commande « En cours de préparation » et « En cours de livraison » en prenant en compte le paiement (commande non payée, partiellement payée et payée) :

Schéma représentant le mapping des statuts de commande avancés sous PrestaShop.

Magento

Sous Magento 1.0, pas de notion de statuts de commande avancés :

Schéma représentant le mapping des statuts de commande sous Magento 1.0

Sous Magento 2.0, quelques statuts de commande optionnels en plus :

Schéma représentant le mapping des statuts de commande sous Magento 2.0

La synchronisation sur la boutique

La synchronisation des statuts de commande 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 sur la boutique

Voici la liste exhaustive des champs que vous pouvez synchroniser sur la boutique (sens de synchronisation OpenSi › Boutique). Tous les champs sont obligatoires.

OrderNumber *Numéro de commande OpenSi (Chaîne de 11 caractères max.)
WebOrderNumber *Numéro de commande sur la boutique (Chaîne de 20 caractères max.)
PayState *Statut de paiement (Chaîne de 1 caractères max. – N => non payée, P => partiellement payée, T => totalement payée)
Preparation *Commande prête à être expédiée (au moins 1 bon de livraison validé – Booléen)
LogisticState *Statut logistique (Chaîne de 1 caractères max. – T => non expédiée, E => expédiée)
OrderState *Statut de la commande (Chaîne de 1 caractères max. – N => non validée, T => validée, A => annulée, C => terminée)
DeliveryNumber *Nombre de bons de livraison validés (Entier)
PickUpInStore *Retrait en magasin (Booléen)
(*) 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:setStatesRequest>
         <open:Website_Code>xxx</open:Website_Code>
         <!--Zero or more repetitions:-->
         <open:State>
            <xsd:OrderNumber>CC20050001</xsd:OrderNumber>
            <xsd:WebOrderNumber>1</xsd:WebOrderNumber>
            <xsd:PayState>T</xsd:PayState>
            <xsd:Preparation>false</xsd:Preparation>
            <xsd:LogisticState>E</xsd:LogisticState>
            <xsd:OrderState>C</xsd:OrderState>
            <xsd:DeliveryNumber>1</xsd:DeliveryNumber>
            <xsd:PickUpInStore>false</xsd:PickUpInStore>
         </open:State>
      </open:setStatesRequest>
   </soapenv:Body>
</soapenv:Envelope>

L’exemple ci-dessus indique à la boutique que la commande 1 (réf. CC20050001 dans OpenSi) est expédiée et facturée.

Cet article a-t-il répondu à vos attentes ?