Les commandes clients

Le 13 avril 2022 par Admin
10 minutes de lecture · Référence du webservice : #SWO-P007

Comment gérer rapidement et efficacement les commandes de mes clients ?

Apprendre à gérer correctement et rapidement les commandes de vos clients est primordiale pour la réussite de votre entreprise.

Nous allons voir dans cet article de quelle manière vous devez gérer les commandes clients une fois la connexion avec OpenSi effective.

Le module OpenSi Connect dispose d’un flux de synchronisation (webservice) spécifique permettant de récupérer un nombre important d’informations au niveau les commandes avant de les envoyer dans OpenSi (lors de chaque synchronisation, le flux webservice vient récupérer les nouvelles commandes et les envoie à OpenSi où elles sont alors créées/ajoutées).

Cet article aborde les sujets suivants :

Nouvelles commandes sur la boutique

La synchronisation des nouvelles commandes s’effectue de la boutique vers OpenSi.

Le système reste simple. Vous vendez un article qu’un de vos clients décide d’acheter sur votre boutique et, lors de la synchronisation, cette nouvelle commande est envoyée à OpenSi pour y être ajoutée/créée. Si le client existe déjà dans OpenSi, la commande lui est rattachée, s’il n’existe pas, le compte du client est alors automatiquement créé.

Important

Les anciennes commandes ne sont pas reprises dans OpenSi. Seules les nouvelles commandes sont synchronisées.

Il est fortement déconseillé de supprimer des commandes sur votre boutique sans occasionner d’éventuels soucis de synchronisations (notamment des problèmes dans les numéros de commande / IDs de commande).

Dès qu’une nouvelle commande est effectuée sur la boutique, celle-ci est alors envoyée à OpenSi lors de la synchronisation suivante où elle sera alors créée/ajoutée.

Commandes clients & backoffice

Sur les frameworks PrestaShop & Magento, il existe différentes manières d’ajouter/créer une commande.

D’une manière générale, ce sont principalement vos clients qui commandent directement sur la boutique mais il est toutefois également possible d’ajouter de nouvelles commandes en passant directement par le backoffice de votre boutique (zone d’administration).

Dans tous les cas, les nouvelles commandes sont récupérées lors de la synchronisation et envoyées à OpenSi où elles sont ajoutées.

Vous pouvez alors retrouver et gérer ces commandes directement à partir de l’interface d’OpenSi.

La synchronisation de vos commandes s’effectue donc dans le sens « Boutique › OpenSi » où un webservice spécifique vient récupérer diverses informations sur votre boutique pour les envoyer dans OpenSi où celles-ci seront automatiquement créées/ajoutées.

Schéma représentant les différentes étapes de la synchronisation d’une commande.

Important !

La création des articles s’effectue sur la boutique (sens de synchronisation : Boutique › OpenSi).

Quelques inpératifs toutefois…

Afin de pouvoir synchroniser une commande, de nombreux champs sont obligatoires et nécessaires.

Il est par exemple indispensable que les articles d’une commande possèdent bien une référence unique. Si ce n’est pas le cas, celle-ci ne pourra pas être synchronisée dans OpenSi.

Une commande doit également posséder au minimum :

Sans ces informations, la commande ne pourra malheureusement pas être synchronisée dans OpenSi !

Rappels

Toute commande possédant au moins un article sans référence ne pourra pas synchronisée dans OpenSi.

Toute commande sans mode de paiement ne pourra pas synchronisée dans OpenSi.

Le montant d’une commande est calculé en additionnant le prix * quantité de tous les articles (ce n’est pas une variable passée dans le flux webservice).

Commandes marketplaces (Shoppingflux, Lengow, etc…)

Vous êtes de plus en plus nombreux à faire confiance aux marketplaces pour étendre votre rayon de ventes.

De nombreuses solutions existent pour récupérer et synchroniser sur votre boutique les commandes passées chez Amazon, Cdiscount, Ebay ou Mano Mano pour n’en citer que les principales.

Parmis ces solutions, ShoppingFlux et Lengow sont dans les plus connues et les plus utilisées par l’ensemble de notre clientèle, nous apportons donc un soin particulier à rester compatible avec leur module.

Le principe reste le même qu’une commande passée directement sur la boutique. ShoppingFlux et Lengow se chargent de récupérer les commandes sur les marketplaces et les réinsèrent par la suite sur votre boutique.

Lors de la synchronisation suivante, nos webservices s’occupent quant à eux de récupérer ces nouvelles commandes et de les envoyer à OpenSi où elles seront ajoutées. Vous pourrez alors les retrouver et les gérer de la même manière que les commandes passées initialement sur votre boutique.

La synchronisation avec OpenSi

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

Le webservice de synchronisation des commandes va reprendre les informations qui auront au préalable été renseignées sur chaque commande et les transmettra à OpenSi où ces nouvelles commandes seront alors automatiquement ajoutées/créées.

Liste des informations synchronisées liée à la commande

Voici la liste exhaustive des champs que vous pouvez synchroniser avec OpenSi (attention, certains champs sont obligatoires et, comme nous le verrons par la suite, d’autres sont paramétrables. Le webservice est également personnalisable dans une certaine mesure – cf. points 3 (champs personnalisables) et 4 (Customisation des flux webservice).

OrderNumber *Numéro de la commande (Chaîne de 11 caractères max.)
OrderReferenceNumberRéférence de la commande (Chaîne de 20 caractères max.)
OrderCartNumberNuméro de panier (Chaîne de 11 caractères max.)
OrderReferenceMarketplaceRéférence de la commande sur la marketplace (Chaîne de 20 caractères max.)
Identifier *Identifiant du client sur le site web (Chaîne de 20 caractères max.)
Login *Login du client (Chaîne de 60 caractères max.)
LoginOpensiLogin du responsable OpenSi (Chaîne de 15 caractères max.)
ActivityPolePôle d’activité (Chaîne de 20 caractères max.)
TitleIntitulé de la commande (Chaîne de 40 caractères max.)
CustomerGroupFamille client (Chaîne de 40 caractères max.)
OrderDate *Date de la commande (Date)
WeightPoids des articles de la commande – en kg (Nombre décimal de 10 chiffres au total dont 3 chiffres après la virgule)
ExpeditionRuleRègle d’expédition (Chaîne de 1 caractère – valeurs possibles : S, T, M ou U)
ExpectedDeliveryDateDate d’expédition prévue (Date – Champ custom Magento)
EstimatedDeliveryDateDate de livraison prévue (Date – Champ custom Magento)
ValidOrderValidation automatique de la commande (Booléen)
IncludedTaxEdition *Définie si la commande est HT ou TTC (Booléen)
Shipping *Frais de port (Nombre décimal de 10 chiffres au total dont 2 chiffres après la virgule)
VATRateShipping *Taux de TVA des frais de port (Nombre décimal de 4 chiffres au total dont 2 chiffres après la virgule)
DiscountAmountMontant de la remise (Nombre décimal de 9 chiffres au total dont 2 chiffres après la virgule)
ShippingDiscountAmountMontant de la remise sur les frais de port (Nombre décimal de 9 chiffres au total dont 2 chiffres après la virgule)
PaymentMethod *Méthode de paiement (Chaîne de 25 caractères max.)
ShipmentMethod *Mode de livraison (Chaîne de 30 caractères max.)
IntraCommunityVATNuméro de TVA Intracommunautaire (Chaîne de 14 caractères max.)
BillingCivility *Civilité – adresse de facturation (Entier : 1 => M., 2 => Mme, 3 => Mlle)
BillingLastname *Nom de famille – adresse de facturation (Chaîne de 30 caractères max.)
BillingFirstname *Prénom – adresse de facturation (Chaîne de 30 caractères max.)
BillingCompanySociété – adresse de facturation (Chaîne de 70 caractères max.)
BillingAddress_1 *Ligne d’adresse 1 – adresse de facturation (Chaîne de 50 caractères max.)
BillingAddress_2Ligne d’adresse 2 – adresse de facturation (Chaîne de 50 caractères max.)
BillingAddress_3Ligne d’adresse 3 – adresse de facturation (Chaîne de 50 caractères max.)
BillingZipcode *Code postal – adresse de facturation (Chaîne de 10 caractères max.)
BillingCity *Ville – adresse de facturation (Chaîne de 50 caractères max.)
BillingPhoneTéléphone – adresse de facturation (Chaîne de 20 caractères max.)
BillingFaxFax – adresse de facturation (Chaîne de 20 caractères max.)
BillingCountryCode *Code pays – adresse de facturation (Chaîne de 2 caractères max.)
BillingEmail *Adresse e-mail – adresse de facturation (Chaîne de 60 caractères max.)
DeliveryCivility *Civilité – adresse de livraison (Entier : 1 => M., 2 => Mme, 3 => Mlle)
DeliveryLastname *Nom de famille – adresse de livraison (Chaîne de 30 caractères max.)
DeliveryFirstname *Prénom – adresse de livraison (Chaîne de 30 caractères max.)
DeliveryCompanySociété – adresse de livraison (Chaîne de 70 caractères max.)
DeliveryAddress_1 *Ligne d’adresse 1 – adresse de livraison (Chaîne de 50 caractères max.)
DeliveryAddress_2Ligne d’adresse 2 – adresse de livraison (Chaîne de 50 caractères max.)
DeliveryAddress_3Ligne d’adresse 3 – adresse de livraison (Chaîne de 50 caractères max.)
DeliveryZipcode *Code postal – adresse de livraison (Chaîne de 10 caractères max.)
DeliveryCity *Ville – adresse de livraison (Chaîne de 50 caractères max.)
DeliveryPhoneTéléphone – adresse de livraison (Chaîne de 20 caractères max.)
DeliveryFaxFax – adresse de livraison (Chaîne de 20 caractères max.)
DeliveryCountryCode *Code pays – adresse de livraison (Chaîne de 2 caractères max.)
DeliveryEmailAdresse e-mail – adresse de livraison (Chaîne de 60 caractères max.)
WithdrawalPointIdentifiants du point relais colis (Chaîne de 10 caractères max.)
DeliveryInstructionsInformations de livraison (Chaîne de 100 caractères max.)
GiftPackagePaquet cadeau (Booléen)
PrintableCommentsInformations qui apparaissent sur la facture (Chaîne de 100 caractères max.)
NonPrintableCommentsInformations qui n’apparaissent pas sur la facture (Chaîne de 100 caractères max.)
ProductArticles de la commande (voir section suivante)
(*) Champs obligatoires

Liste des informations synchronisées liées aux articles de la commande

Voici la liste exhaustive des champs que vous pouvez synchroniser avec OpenSi pour chacun des articles d’une commande (attention, certains champs sont obligatoires).

Reference *Référence de l’article (Chaîne de 40 caractères max.)
Name *Désignation de l’article (Chaîne de 100 caractères max.)
Quantity *Quantité vendue (Nombre décimal de 14 chiffres au total dont 3 chiffres après la virgule)
UnitPrice *Prix unitaire – en HT ou TTC suivant la configuration (Nombre décimal de 14 chiffres au total dont 3 chiffres après la virgule)
VATRate *Taux de TVA de l’article (Nombre décimal de 4 chiffres au total dont 2 chiffres après la virgule)
DiscountPercentRemise en pourcentage sur l’article (Nombre décimal de 5 chiffres au total dont 2 chiffres après la virgule)
WeightPoids de l’article – en kg (Nombre décimal de 10 chiffres au total dont 3 chiffres après la virgule)
ProductCommentCommentaire (Champ texte)
(*) Champs obligatoires

Spécificité Magento

Sous Magento, il existe une spécificité au niveau des articles packagés / bundles.

Si un bundle possède un seul article par option :
– Si le prix de cet article est fixé, l’article « parent » (la référence du bundle) est alors envoyée à OpenSi avec le montant total (prix fixé + éventuelles augmentation selon les enfants).
– Si le prix de cet article est dynamique, les enfants sont envoyés à OpenSi avec leur propre prix.

Si un bundle possède plus d’un article par option:
– Si le prix de cet article est fixé, les enfants sont envoyés à OpenSi mais seul le premier aura un tarif, les autres seront envoyé à 0.
– Si le prix de cet article est dynamique, les enfants sont envoyés à OpenSi avec leur propre prix.

Exemple de flux XML

Voici ci-dessous l’exemple d’une nouvelle commande retournée par la boutique et envoyée à OpenSi (flux XML) :

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.opensi.fr/xsd" xmlns:ns2="http://www.opensi.fr">
   <SOAP-ENV:Body>
      <ns2:getOrdersResponse>
         <ns2:return>
            <ns1:OrderNumber>1</ns1:OrderNumber>
            <ns1:Identifier>1</ns1:Identifier>
            <ns1:Login>john.doe@gmail.com</ns1:Login>
            <ns1:CustomerGroup>Client</ns1:CustomerGroup>
            <ns1:OrderDate>2020-04-18 09:01:05</ns1:OrderDate>
            <ns1:Weight>3.839</ns1:Weight>
            <ns1:ValidOrder>false</ns1:ValidOrder>
            <ns1:IncludedTaxEdition>true</ns1:IncludedTaxEdition>
            <ns1:Shipping>7.14</ns1:Shipping>
            <ns1:VATRateShipping>20</ns1:VATRateShipping>
            <ns1:DiscountAmount>27.54</ns1:DiscountAmount>
            <ns1:ShippingDiscountAmount>7.14</ns1:ShippingDiscountAmount>
            <ns1:PaymentMethod>Payments by check</ns1:PaymentMethod>
            <ns1:ShipmentMethod>Livraison en relais Pickup</ns1:ShipmentMethod>
            <ns1:BillingCivility>1</ns1:BillingCivility>
            <ns1:BillingLastname>DOE</ns1:BillingLastname>
            <ns1:BillingFirstname>John</ns1:BillingFirstname>
            <ns1:BillingAddress_1>12, rue de la Tuilerie</ns1:BillingAddress_1>
            <ns1:BillingZipcode>38170</ns1:BillingZipcode>
            <ns1:BillingCity>SEYSSINET-PARISET</ns1:BillingCity>
            <ns1:BillingPhone>0601020304</ns1:BillingPhone>
            <ns1:BillingCountryCode>FR</ns1:BillingCountryCode>
            <ns1:BillingEmail>john.doe@gmail.com</ns1:BillingEmail>
            <ns1:DeliveryCivility>0</ns1:DeliveryCivility>
            <ns1:DeliveryLastname>DOE</ns1:DeliveryLastname>
            <ns1:DeliveryFirstname>John</ns1:DeliveryFirstname>
            <ns1:DeliveryCompany>BOREALYSS SALON DE COIF (P26566)</ns1:DeliveryCompany>
            <ns1:DeliveryAddress_1>64 RUE DE LA FAUCONNIERE</ns1:DeliveryAddress_1>
            <ns1:DeliveryAddress_2>A COTE DE LA PHARMACIE</ns1:DeliveryAddress_2>
            <ns1:DeliveryZipcode>38170</ns1:DeliveryZipcode>
            <ns1:DeliveryCity>SEYSSINET PARISET</ns1:DeliveryCity>
            <ns1:DeliveryPhone>0601020304</ns1:DeliveryPhone>
            <ns1:DeliveryCountryCode>FR</ns1:DeliveryCountryCode>
            <ns1:DeliveryEmail>john.doe@gmail.com</ns1:DeliveryEmail>
            <ns1:WithdrawalPoint>P26566</ns1:WithdrawalPoint>
            <ns1:PrintableComments>Message(s) à propos de la commande : Bonjour, n'hésitez pas à laisser le colis au concierge si je suis absent. Bonne journée !</ns1:PrintableComments>
            <ns1:Product>
               <ns1:Reference>demo_1_ws</ns1:Reference>
               <ns1:Name>T-shirt imprimé colibri (Taille : S, Couleur : Blanc)</ns1:Name>
               <ns1:Quantity>1</ns1:Quantity>
               <ns1:UnitPrice>12.89</ns1:UnitPrice>
               <ns1:VATRate>20</ns1:VATRate>
               <ns1:DiscountPercent>0</ns1:DiscountPercent>
               <ns1:Weight>1.152</ns1:Weight>
            </ns1:Product>
            <ns1:Product>
               <ns1:Reference>demo_2_s</ns1:Reference>
               <ns1:Name>Pull imprimé colibri (Taille : S)</ns1:Name>
               <ns1:Quantity>1</ns1:Quantity>
               <ns1:UnitPrice>45.99</ns1:UnitPrice>
               <ns1:VATRate>20</ns1:VATRate>
               <ns1:DiscountPercent>0</ns1:DiscountPercent>
               <ns1:Weight>2.687</ns1:Weight>
            </ns1:Product>
         </ns2:return>
      </ns2:getOrdersResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

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

Paramétrage / Options personnalisables

Afin de répondre au mieux aux diverses attentes de chacun, le module OpenSi Connect permet dans une certaine mesure de personnaliser quelques informations de synchronisation entre la boutique et OpenSi au niveau des commandes.

Dans cette section, vous allez pouvoir trouver quelques informations complémentaires concernant ce paramétrage, ceci en fonction de la configuration effectuée au niveau du module OpenSi Connect (options personnalisables par vos soins).

Champs personnalisables & commandes

Selon la configuration du module OpenSi Connect, il est possible de choisir certaines options de synchronisation. La plateforme utilisée par votre boutique (PrestaShop ou Magento) a également un impact (les options générales restent les mêmes mais il y a aussi des spécificités).

PrestaShop

Sous PrestaShop, il est possible de synchroniser automatiquement ou manuellement les commandes (en cliquant sur le bouton « Synchroniser la commande », accessible depuis le détail de la commande dans le backoffice).

Vous avez également la possibilité d’envoyer à OpenSi l’ID ou la référence comme numéro de commande à prendre en compte.

Il est également possible de customiser les commentaires de commande selon 3 possibilités :

Concernant les numéros de suivi, il est possible d’envoyer les tracking colis par e-mail mais aussi de les ajouter dans un commentaire (lien accessible depuis le compte client).

Schéma représentant les champs pouvant être paramétrés au niveau des commandes (PrestaShop).

Magento

Sous Magento, il n’est pas possible de choisir le numéro de commande à prendre en compte dans OpenSi (spécificité PrestaShop) mais il est par contre possible de gérer ce que nous appelons des « règles d’expédition ».

Il s’agit d’envoyer une information à OpenSi lui indiquant de générer des expéditions multiples si une référence article est présente dans la commande.

Il suffit donc de renseigner une ou plusieurs références article dans le champ prévu pour qu’OpenSi sache automatiquement s’il faut générer une ou plusieurs expéditions.

Et, tout comme sur PrestaShop, il est bien entendu possible de customiser les commentaires de commande selon les 3 mêmes possibilités :

Schéma représentant les champs pouvant être paramétrés au niveau des commandes (Magento).

Les options disponibles pour les commandes marketplace

Concernant la gestion des marketplaces, les options personnalisables sont également gérées différemment selon la plateforme e-commerce utilisée.

PrestaShop

Schéma représentant les possibilités de paramétrage au niveau des commandes marketplaces sous PrestaShop.
Gestion des e-mails

Il est possible de gérer l’envoi des e-mails aux clients. En effet, certaines places de marché comme Amazon ne veulent pas que vous communiquiez directement avec le client (ils s’en chargent directement). La solution consiste alors à ne pas transmettre l’e-mail dans l’adresse de livraison à OpenSi afin que celui-ci ne puisse effectuer les envois.

A noter qu’il est possible de configurer la liste des modules de places de marché qui ne doivent pas envoyer l’e-mail à OpenSi.

Statuts de commande spécifiques

Il est également possible de gérer des statuts de commande spécifiques. De même , certaines places de marché (Amazon) préfèrent que vous envoyiez un statut de commande spécifique pour les commandes en cours de livraison.

A noter qu’il est possible de configurer les modules de marketplace afin de leur attribuer un statut de commande spécifique en remplacement du statut de commande « En cours de livraison » défini par défaut dans la configuration du module OpenSi.

Magento

Sous Magento, il n’est pas possible de gérer les statuts de commande (Magento passant automatiquement la commande dans le statut « Complete » si la commande possède une expédition et une facture).

Seule l’option concernant la gestion de l’envoi des e-mails est disponible.

Schéma représentant les possibilités de paramétrage au niveau des commandes marketplaces sous Magento.

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