Patterns d'intégration courants
Utiliser des patterns OmniLab éprouvés pour la synchro CRM, l'export analytics, le self-service booking, et l'automatisation maîtrisée.
Ce guide regroupe les patterns d'intégration demandés le plus souvent. Utilisez-le pour cadrer votre architecture avant d'investir dans des scripts ad hoc ou du polling agressif.
Pattern 1 : synchroniser un CRM ou un CDP avec des webhooks
Utilisez les webhooks lorsqu'un autre système doit réagir à des événements participant, reward, booking, ou Smart Link sans faire de polling.
Un pattern fréquent ressemble à ceci :
Bonnes habitudes :
- séparer la réception OmniLab de l'écriture dans le CRM aval
- vérifier les signatures avant de faire entrer l'événement dans votre queue
- garder le receiver idempotent en stockant
webhook-id - ne souscrire qu'aux types d'événements réellement utiles au CRM
Pattern 2 : exporter vers l'analytics ou un entrepôt de données
C'est le bon pattern lorsque vous voulez retrouver les données d'engagement OmniLab dans des dashboards BI, un data lake, ou un entrepôt analytique.
Types d'événements souvent utilisés ici :
touchpoint.page_visit.v1touchpoint.participated.v1touchpoint.completed.v1reward.won.v1reward.redeemed.v1smartlink.redirected.v1
Préférez une ingestion événementielle à un polling très fréquent. Si vous avez quand même besoin de backfills, exécutez-les en batchs paginés hors pics de trafic.
Pattern 3 : construire une vue self-service de booking
Ce pattern est utile lorsqu'un portail participant ou une app mobile doit afficher les réservations à venir et permettre leur annulation.
Gardez le flux booking sur votre backend
Demandez le token OmniLab sur votre serveur, puis appelez les endpoints booking en server-to-server. N'exposez jamais le client secret OmniLab dans un navigateur ou une app mobile.
1. Récupérer les bookings d'un contact
Utilisez GET https://<api-host>/v1/interactions:fetchContactBookings avec l'external ID du participant et les filtres utiles.
curl -X GET "https://<api-host>/v1/interactions:fetchContactBookings?external_id=CONTACT-123&booking_status=CONFIRMED&page_size=50&page_number=1" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"Paramètres disponibles :
external_id(obligatoire)interactionsoupublic_keyspour restreindre le périmètreslot_date_range.frometslot_date_range.tobooking_statuspage_sizepage_number
Utilisez soit interactions, soit public_keys pour filtrer, mais pas les deux en même temps.
La réponse inclut un tableau paginé bookings avec des champs comme :
activityinteractionticket_typehostslot_starting_atslot_duration_in_minutesbooking_statusbooked_at,cancelled_at,checkedin_atbookingtimezone
Les statuts de booking actuels incluent CONFIRMED, CANCELLED, CHECKED_IN, et WAITLIST.
2. Annuler un booking
Utilisez POST https://<api-host>/v1/interactions:cancelInteractionBooking avec l'ID de booking renvoyé par la requête précédente.
curl -X POST "https://<api-host>/v1/interactions:cancelInteractionBooking" -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
"booking": "BOOKING_ID"
}'Une annulation réussie renvoie un objet JSON vide.
3. Bonnes pratiques UX pour le booking
- affichez tous les horaires dans le fuseau renvoyé par OmniLab
- demandez une confirmation avant l'annulation
- rafraîchissez la liste après une annulation réussie
- gérez proprement les listes vides
- gardez vos filtres de dates en UTC lors des appels API
Pattern 4 : automatisation maîtrisée autour d'une campagne ou d'un système aval
Certaines équipes ont besoin d'un workflow assisté par API autour des campagnes, rewards, ou participants. Comme la référence API complète n'est pas encore publiée, le plus sûr est de garder cette automatisation explicite et bien cadrée.
- confirmez la liste des endpoints supportés avec OmniLab avant de démarrer
- placez l'automatisation derrière un feature flag côté intégrateur
- validez le flux complet en staging avant la production
- gardez des logs d'audit sur chaque action automatisée lancée par votre système
Pour aller plus loin
Authentification
Demander le token server-to-server utilisé par le flux booking et les autres endpoints approuvés.
Webhooks
Utiliser une livraison événementielle pour les patterns CRM et analytics.
Intégration borne (approfondissement technique)
Embarquer les parcours booking et engagement dans un wrapper de façon sûre.