1. Description#
Les Webservices (API) sont une interface de programmation permettant de se connecter aux données de BeOne.WsOne offre donc la possibilité d’intéragir avec les données en temps réel mises à dispositions, aussi bien concernant les clients, les transactions, que la gestion des offres.WsOne est rapide, extensible et sécurisée.
2. Technologies disponibles#
L’API WsOne a été développée sur 2 architectures SOAP et REST.2.1 SOAP (Simple Object Access Protocol)#
Grâce à la WDSL, retrouvez l ’ensemble des fonctions disponibles de WsOne.
Les appels et les réponses sont sous forme de document XML, un langage balisé et lisible.Le SOAP reste disponible pour maintenir la rétro-compatibilité, mais ne sera plus supporté dans les prochaines versions. Nous recommandons très fortement l'utilisation du REST.
2.2 REST (Representational State Transfer)#
Grâce à l’architecture REST et à des requêtes du protocole HTTP (GET, PUT, POST, ou DELETE), vous pouvez envoyer et recevoir des données dans un langage accessible au format JSON.
3. Serveurs#
Nous mettons à dispositions 2 types de serveurs :Production
Infrastructure principale Cloud mutualisée (dédié à la demande)
Mise à jour des données quotidiennement (Flux nocture)
Les données modifiées sont envoyées sur BeOne
Envoi de campagne activée
URL Spécifique au client
Identification Production
Double infrastructure (Multi Site)
Pré-Production
Infrastructure secondaire OnPremise dédié
Mise à jour des données à la demande ou planifiée (via données de PROD)
Les données modifiées ne sont pas envoyées sur BeOne
Pas d’envoi de campagne possible par défaut
URL Spécifique au client
Identification Pré Production
Test des fonctions Beta Possible
Pas de double infrastructure
Nous pouvons également, à la demande, mettre en place d’autres environnement de type pré-production comme par exemple une UAT, Staging, etc..
4. Documentation#
La documentation des WebServices est répartie en deux dossiers :Ces web services permettent la gestion des données du RCU, ils sont utilisables dans les cas suivants :Gestion de la création et de la modification client
Création d’une carte de fidélité dématérialisée
Association d’une carte de fidélité à un client déjà existant
Consultation des offres et des points fidélité
Edition des offres à demande de déclenchement
Ces web services permettent la gestion des données transactionnelles, ils sont utilisables dans les cas suivants :Gestion d’une transaction en caisse (achat / retour)
Validation d’une transaction
Annulation en cas de perte de connexion
Gestion du mode dégradé
5. Moteur Marketing#
Notre Web-Service dispose d'un moteur marketing lui permettant de calculer des effets d'offres simples. Nous sommes actuellement en mesure de calculer :Des calculs de remises en €
Des calculs de remises en %
Si celui-ci est activé (ce qui est le cas par défaut), les montants de réduction calculés seront renvoyés dans les différents appels disponibles sur le WS Transaction.Nous avons la possibilité de l'activer ou non en fonction des offres.A noter que ce moteur marketing ne fonctionne actuellement que sur le montant total du ticket, nous ne pouvons donc pas appliquer d'offre en fonction des articles.Si le client dispose d'une nomenclature, et si une offre est limitée à certains rayons, nous pouvons renvoyer dans le getAvailableOffers la liste des rayons correspondants.En revanche nous ne pourrons pas contrôler au moment de l'envoi de la transaction que les articles sont bien éligibles à cette offre. Cette mécanique doit être portée par les différents préstataires.
6. Montants de transactions#
Le montant final que nous devons recevoir dans les transactions est celui payé par le client. Ce montant peut être amené à changer si les remises ne sont pas calculées par nos WebServices.Il est important de différencier deux types de remises :Fidélité : Remises dont les données sont enregistrées chez nous, et pour lesquelles notre WS doit se charger du calcul. Elles sont en général délenchées par l'utilisation d'un code offre, mais peuvent également être auto-appliquée si le panier répond aux critères d'une offre configurée de la sorte.
Locale : Promotion appliquée localement (geste commercial, opération locale, etc..), ou toute offre dont nous ne devons pas calculer la remise.
Dès lors qu'une réduction n'est pas calculée par notre WS, il faut considérer celle-ci comme étant une remise locale (même si c'est un chèque fidélité, une offre de bienvenue, anniversaire, etc..)
allTaxesIncludedAmount : (montant total - remises locales)
discountAmount : (remises locales)
En réponse, le WS indiquera :allTaxesIncludedAmount : (montant total - remises locales - remises fidélité)
discountAmount : (remises locales + remises fidélité)
Nous vous conseillons/ informons sur les bonnes pratiques suivantes lors de la mise en place des WebServices :Les caisses (et/ou le site E-Commerce) doivent rester autonomes et non dépendantes des Web-services. Un souci de connexion ne doit pas empêcher une transaction.
Nous pouvons accepter deux méthodes de calcul de points: porté par notre WS via une règle global au ticket, ou vous pouvez également nous envoyer les points dans la transaction (nous désactivons alors le calcul des points de notre côté).
Nos Web-Services utilisent des certificats HTTPS Ă prendre en compte pour la connexion.
Du fait de notre process de synchronisation nocturne, les données enregistrées dans les Web-Services seront visibles au plus tôt le lendemain dans Be-One.
Il est important de gérer le retour des appels Web-services afin de traiter les exceptions (Ex : Erreur de format de date, etc … ).
L’ordre et le nombre d'attributs par éléments de retour n’est pas fixe et peut évoluer dans les versions futures des Web-services. Vous devez adapter un fonctionnement dynamique concernant la construction / réception des appels.