Intégration avec Plexflow

Livya offre la possibilité de s'intégrer avec Plexflow à travers la mécanique d'authentification OAuth (similaire à Salesforce), il faudrait cependant suivre une série d'étapes pour établir la connexion, cette connexion a pour but d'établir une synchronisation les unités de Plexflow avec Livya pour ensuite pouvoir accéder au volet réservation d'unité de Plexflow à travers Livya, pour la v1 on va faire la synchronisation de Plexflow vers Livya.

Prérequis

On va adopter la même mécanique que Salesforce pour l'authentification, donc il faut posséder un compte par client sur la plateforme Plexflow et avoir aussi un Consumer Key ainsi qu'un Consumer Secret.

Connexion avec Livya

Comme énoncé dans la section d'avant, il faut avoir un compte Plexflow, et il faut aussi attribuer à ce compte un Consumer Key, un Client Secret ainsi qu'un callback URL qu'on va expliquer plus tard.

En ayant saisi toutes les informations de connexion dans le CMS de Livya, il faudrait cliquer sur le bouton "Approuver" dans l'image ci-dessus pour pouvoir valider et initier la connexion avec Plexflow, ce bouton va appeler l'URL suivante : https://login.plexflow.ca/oauth/authorize?response_type=code&consumer_key=${consumerKey}&redirect_uri=https://api.realvuu.com/clients/${clientId}/crms/plexflow/authorization?code=${code}

  • consumer_key : le consumer key fourni par Plexflow pour un client/compte donné.

  • redirect_uri : un endpoint unique par client/compte dans Plexflow qui va permettre à Livya d'obtenir le code retourné par Plexflow, cet endpoint doit recevoir en query params un code généré par Plexflow.

Pour finaliser la connexion, il faut appeler en POST l'endpoint suivant : https://api.plexflow.ca/api/oauth/complete en passant le code reçu dans le body dans l'étape précédente pour finalement recevoir un Bearer Token et l'utiliser ensuite pour la prochaine étape.

Obtention de la liste des unités de Plexflow

Pour pouvoir lier les unités de Plexflow avec celles de Livya, il faut que Plexflow développe une API qui peut prendre cette forme : https://api.plexflow.ca/api/units, cette API prend comme Header le Bearer Token retourné dans l'étape précédente et doit retourner la liste des unités relatives au client concerné, les unités doivent au moins avoir comme propriétés : unitNumer, unitPrice, unitAvailability et externalUrl. La nomenclature peut être différente tout dépendant si il existe déjà une API développée par Plexflow pour retourner les unités.

  • unitNumber: numéro de l'unité.

  • unitPrice: prix de l'unité.

  • unitAvailability: disponibilité actuelle de l'unité.

  • externalUrl: l'URL de la fiche de détails de l'unité où on peut la réserver.