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.
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.
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.
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
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)