[OILHI - Interfaçage] Socle technique envoi de données #1969
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ticket
#1810
Description
Environnement technique Oilhi
Oilhi est développé par une stack no-code
Architecture d'échange
Et sur ce dernier outil (Zapier) qu'Histologe va s'appuyer pour s'interconnecter avec Oilhi en exposant un endpoint via ce qu'on appelle un zap, qui est une étape du workflow.
Requête
POST https://hooks.zapier.com/hooks/catch/{{zapier_user_id}}/{{zapier_zap_id}}/
Payload
L'objectif de cette automatisation est de pousser des données de manière sécurisé vers la base de données de Oilhi qui est Airtable.
Note
Pour des raisons de simplicité, Zapier Table, intégré de base, sera utilisé comme base de données afin de tester le workflow. Il sera remplacé par Airtable des les premiers tests d'intégrations
Etape du workflow (zap)
Webhooks by Zapier : Recevoir des données externes et les intégrer dans le workflow zapier
Filter : Filtrer les données reçues par le webhook pour s'assurer que seules les informations pertinentes sont traitées, ici il sera utilisé afin de vérifier que le token échangé est valide
Zapier Table (Tests) : Stocker et visualiser les résultats du workflow à des fins de test et de débogage.
Changements apportés
Mise à jour des namespace
Esabora
dans les servicesMessenger
etFactory
afin de faire la distinction entre les différents partenaires (Oilhi
etEsabora
).App\Factory
devientApp\Factory\Esabora
App\Messenger\Message
devientApp\Messenger\Message\Esabora
App\Messenger\MessageHandler
devientApp\Messenger\MessageHandler\Esabora
Implémentation du Service
HookZapierService
afin de communiquer avec les webhooks zapierInitialisation du message et du handler afin d'envoyer les données en asynchrone lors de l'affectation d'un partenaire SCHS du 62
Mise à jour disposition d'un endpoint webhook de test qui pousse des données dans Zapier table
Pré-requis
make worker-start
make mock-start
Pour les tests de régression
Tests
job_event
en succès )job_event
en succès)app:sync-esabora-schs
app:sync-esabora-sish
app:sync-esabora-sish-intervention
Test workflow
Envoi des données
Affichage des données dans Zapier table