Intégration avec Bloc solutions

Livya offre la possibilité de s'intégrer avec Bloc Solutions via une authentification OAuth (similaire à celle de Salesforce). Cependant, il est nécessaire de suivre une série d'étapes pour établir la connexion. Cette intégration permet de synchroniser les unités de Bloc Solutions avec Livya, offrant ainsi l'accès au module de réservation d'unités de Bloc Solutions directement depuis Livya. Pour la v1, la synchronisation se fera de Bloc Solutions vers Livya.

Prérequis

Nous allons adopter la même mécanique d'authentification que Salesforce. Ainsi, chaque client devra posséder un compte sur la plateforme Bloc Solutions et disposer d’une Consumer Key ainsi qu’un Consumer Secret.

Connexion avec Livya

Comme indiqué dans la section précédente, il est nécessaire de disposer d’un compte Bloc Solutions. Ce compte doit également être associé à une Consumer Key, un Client Secret, et une Callback URL, que nous expliquerons plus tard.

Une fois toutes les informations de connexion saisies dans le CMS de Livya, il suffit de cliquer sur le bouton "Approuver" (voir l'image ci-dessus) pour valider et initier la connexion avec Bloc Solutions. Ce bouton appelle l'URL suivante :
https://app.bloc.solutions/oauth/authorize?response_type=code&client_id=${client_id}&redirect_uri=https://api.realvuu.com/clients/${clientId}/crms/bloc/authorization?code=${code}

  • client_id : Correspond à la Consumer Key fournie par Bloc Solutions pour le compte/client concerné.

  • redirect_uri : Un endpoint unique pour chaque client sur Bloc Solutions, permettant à Livya de recevoir le code de Bloc Solutions. Ce endpoint doit accepter en paramètre de requête un code généré par Bloc Solutions.

Pour finaliser la connexion, vous devez appeler en POST l’endpoint suivant :
https://api.bloc.solutions/api/oauth/complete
en
incluant le code reçu dans le body de la requête précédente. Cela permettra de récupérer un Bearer Token qui sera utilisé dans les prochaines étapes.

Obtenir la liste des unités de Bloc solutions

Pour lier les unités de Bloc Solutions avec celles de Livya, notre backend utilise l'API suivante : https://api.bloc.ca/api/buildings. Cette API prend un Bearer Token dans les en-têtes, obtenu à l’étape précédente, et retourne la liste des unités relatives au client concerné, avec leurs propriétés spécifiques provenant de Bloc Solutions. Ensuite, il faudra sélectionner les champs pertinents et les associer à ceux de Livya pour le numéro, le prix, la disponibilité, et d'autres attributs essentiels. Les propriétés qui nous intéressent sont les suivantes :

  • Code : Numéro de l'unité dans Bloc.

  • Statut : Statut actuel de l'unité dans Bloc.

  • Prix: Prix de l'unité dans Bloc.

En plus de ces champs, d’autres propriétés spécifiques sont importantes pour pouvoir filtrer les unités de Bloc :

  • Bâtiment: Bâtiment de l’unité dans Bloc.

  • Porte: Etage de l'unité dans Bloc.

Cela garantit une synchronisation fluide entre Bloc Solutions et Livya, assurant que les données essentielles soient correctement transférées et mises à jour.