WsOne
    WsOne
    • 🏠 Accueil
    • 👋 Introduction
    • ⚙️ Workflows / Use Cases
    • 📚 Dictionnaire de données
    • ❌ Codes erreurs
    • WS Person
      • Clients
        • Création
          • createPersonAndIdentifier
          • createPerson
          • createIdentifier
          • associateNewIdentifier
          • associateIdentifier
          • replaceIdentifier
        • Consultation / Recherche
          • getPerson
          • searchPerson
          • getAccounts
          • getFullPerson
          • searchPersonLite
          • getBadge
        • Update
          • updatePerson
      • Offres
        • getAvailableOffers
        • getEnableOffers
        • editOffer
      • Formulaires
        • getForm
        • updateForm
      • Magasins
        • getEntities
        • getEntityParents
    • WS Transaction
      • sendTransaction
      • validTransaction
      • sendAndValidTransaction
      • sendAndValidFullTransaction
      • verifyTransaction
      • cancelTransactionsNotValidated
      • sendSimpleTransaction
      • refundTransaction
      • getLastTransaction
    • Schemas
      • Response
        • AccountResponse
        • NewIdentifierResponse
        • PersonResponse
        • IdentifierResponse
        • SegmentationResponse
        • SubscriptionResponse
        • EntityResponse
        • EmailResponse
        • CellPhoneResponse
        • ContactsReponse
        • InfoPersonResponse
        • GetPersonReponse
        • AccountResponse
        • classifications
        • OfferReponse
        • AddressResponse
      • Request
        • IdentifierRequest
        • EntityRequest
        • ContactRequest
        • PersonRequest
        • PersonProfilRequest
        • NewIdentifierRequest
        • AdressRequest
        • EmailRequest
        • CellPhoneRequest
        • FullPersonRequest
        • SubscriptionRequest
        • FormAnsweredRequest
        • AssociatedIdentifierRequest
        • AccountAdvantageRequest
        • ReceiptRequest
        • DetailsRequest

    ⚙️ Workflows / Use Cases

    Préambule#

    Afin de pouvoir utiliser correctement l'ensemble de nos Webservices, il est important de récupérer dès le début du workflow le combo identifierType + identifierValue du client. Cette clé étant l'entrée pour la majorité de nos endpoints, son obtention constitue la première étape dans l'utilisation de nos Webservices.

    1. Création / Mise à jour d'un compte client#

    Lors de la création d'un compte, et afin de ne pas générer de doublon, il est nécessaire de passer par une première étape de recherche afin de vérifier que le client n'a aucune information déjà présente dans notre base de données.
    Cette étape peut être réalisée via le searchPerson, qui peut prendre plusieurs paramètres tels que le nom, prénom, civilité, email, etc...
    Si l'enseigne utilise des comptes de type WEB, il est également possible par exemple de rechercher l'email du client dans un getPerson avec un identifierType = 10, pour vérifier si le client possède déjà un compte ou non.
    💡
    Le cheminement pour la mise à jour d'un compte est sensiblement le même : le searchPerson (ou getPerson) renverra un résultat. Il faut ensuite garder cet ID en mémoire, puis appeler l'updatePerson avec les informations que l'on souhaite mettre à jour.
    MDA - WS - Création d'un client.png

    2. Consultation d'un client existant#

    Lorsqu'un client ayant déjà un compte fidélité se présente en magasin, ou se connecte sur le WEB, la première étape sera d'identifier le client pour vérifier son existence :
    Via sa carte de fidélité / son compte web + getPerson => permet une identification de manière unique.
    Via ses informations personnelles + searchPerson => peut retourner plusieurs résultats si la recherche est trop large / s'il existe des doublons.
    Si les appels donnent un résultat, les endpoints de récupération d'informations peuvent ensuite être utilisé avec le combo identifierType + identifierValue :
    getFullPerson : permet la récupération des informations personnelles + des points + des offres utilisables.
    Méthodes legacy : getPerson, getAccounts, getAvailableOffers
    MDA - WS - Arbre décision _ Recherche & Consultation Clients.png

    3. Passage d'une transaction#

    Une fois le client identifié, et si celui-ci souhaite faire une transaction, il est d'usage de récupérer dans un premier temps les offres qu'il peut utiliser. Les codes offres (offerNumber) qu'il voudra utiliser devront alors être inclus dans les appels transactionnels.
    Voici à quoi devrait ressembler une séquence classique d'envoi de transaction :
    1
    Identification du client + récupération des offres disponibles
    getFullPerson
    Afin de ne récupérer que les offres utilisables sur le magasin où le client fait sa transaction, il faut bien veiller à compléter les paramètres entityIdentifier + date
    2
    Vérification des informations du ticket & code offre (si utilisation d'une offre)
    verifyTransaction
    Le verifyTransaction permet de simuler une transaction, et d'en visionner le résultat. Aucune information n'est enregistrée dans le WS.
    3
    Récupération des montants de réduction & validation des burns
    Le WS répond au verifyTransaction en indiquant :
    Les nouveaux compteurs de points
    Si les offres sont bien utilisables, et précise le montant de réduction associé (dans le cas où il y a un burn, et où nous calculons la remise).
    4
    Envoi de la transaction définitive
    sendAndValidFullTransaction
    A partir de ce moment, la transaction n'est plus annulable. Il faudra passer par un refundTransaction pour faire un mouvement négatif.
    5
    Récupération nouveaux compteurs de points & édition
    Le WS répond au sendAndValidFullTransaction en indiquant :
    Les nouveaux compteurs de points
    Si les offres sont bien utilisables, et précise le montant de réduction associé (dans le cas où il y a un burn, et où nous calculons la remise)
    Les éditions d'offres, si la transaction a permis d'en déclencher
    Pour répondre à différents besoins, et pour maintenir la compabilité, d'autres méthodes d'envoi de transaction sont utilisables : sendTransaction, validTransaction, sendAndValidTransaction

    Kiss The Bride
    Modified at 2025-12-11 09:28:04
    Previous
    👋 Introduction
    Next
    📚 Dictionnaire de données
    Built with