Imprimer la page

Les Webhooks: Pour connecter SuperSaaS à d'autres sites

Les webhooks sont des fonctions de rappel définies par l'utilisateur qui informent d'autres applications ou sites web de ce qui se passe sur votre compte SuperSaaS en temps réel.

Quelques exemples d'utilisation d'un webhook:

Webhooks
  • Quand un nouvel utilisateur se connecte à votre compte SuperSaaS, l'inscrire à une MailChimpliste de diffusion
  • Quand un nouvel utilisateur se connecte, envoyer un PDF avec vos Conditions générales à son adresse mail
  • Quand un nouveau rendez-vous est pris, générer une facture sur Quickbooks ou Freshbooks
  • Quand un nouveau rendez-vous est pris pour un cours précis, le noter sur l'agenda Google de l'enseignant concerné
  • Quand un rendez-vous approche, envoyer une notification sur Slack ou directement sur votre smartphone
  • Quand une place se libère pour un utilisateur en liste d'attente, lui envoyer un SMS
  • Quand un email est envoyé, le rediriger vers un autre serveur

Configurer automatiquement des webhooks en utilisant Zapier.com ou Integromat.com

Vous pouvez utiliser Zapier.com ou Integromat.com pour créer directement des liens entre des centaines de sites courants et SuperSaaS, sans vous y connaître en programmation. Les deux sites proposent une version d'essai et une formule gratuite pour débuter.

Créer des webhooks à partir des exemples proposés devrait être assez facile, mais vous trouverez ci-dessous plus d'informations pour filtrer spécifiquement certains événements.

Nouvel utilisateur vers MailChimpAjouter un nouvel utilisateur à une liste de diffusion MailChimp
Nouveau rendez-vous vers Agenda GoogleUn nouveau rendez-vous est transmis à l'Agenda Google
Nouveau rendez-vous vers QuickBooksUn nouveau rendez-vous crée une facture QuickBooks
Nouveau rendez-vous vers MailUn nouveau rendez-vous envoie un email

Déclencheurs disponibles

Vous pouvez surveiller différents types d'événements. Certains d'entre eux peuvent être définis comme "nouveau" ou "modifié". L'événement "modifié" inclut toutes les modifications et se déclenche donc aussi pour "nouveau" ou "supprimer". Si vous configurez "Nouvel utilisateur" et "Utilisateur modifié", alors les deux se déclencheront lorsqu'un nouvel utilisateur s'inscrit. Notez bien que si votre agenda n'exige pas que les utilisateurs se connectent, vous ne verrez jamais un "Nouvel utilisateur", seulement un "Nouveau rendez-vous".

DéclencheurDéclenché par...
Nouvel utilisateurSe déclenche quand un nouvel utilisateur s'enregistre sur votre compte
Utilisateur modifiéSe déclenche quand l'utilisateur met à jour ses informations ou que l'administrateur le fait pour lui.
Nouveau rendez-vousSe déclenche quand un utilisateur ou l'administrateur crée un nouveau rendez-vous sur l'agenda concerné.
Rendez-vous modifiéSe déclenche pour tous les changements possibles à un rendez-vous, y compris "Nouveau", "Supprimer", "Mise en liste d'attente", "Paiement reçu", etc. (voir la liste complète ci-dessous)
Nouveau formulaire indépendantSe déclenche lorsqu'un formulaire est rempli de manière indépendante. Notez bien qu'il ne se déclenche pas quand un formulaire est envoyé avec un rendez-vous, car c'est le webhook "Rendez-vous" qui se déclenche alors.
Formulaire indépendant modifiéSe déclenche pour tout changement apporté à un formulaire indépendant (les formulaires intégrés déclencheront un "Rendez-vous modifié" ou "Utilisateur modifié").
Email envoyéSe déclenche pour tous les emails envoyés depuis votre compte, y compris ceux de récupération de mot de passe, etc. Utile pour envoyer des mails depuis votre propre serveur. Les emails ne seront plus envoyés par nos soins si ce webhook est activé.
Rappel
Suivi
Se déclenche pour les messages de rappel ou de suivi. Ceux-ci ne seront plus envoyés par nos soins si ce webhook est activé.

Filtrer les événements

Lorsque vous connectez deux services à l'aide de Zapier ou d'Integromat, vous pouvez filtrer les événements. Voici quelques exemples d'utilisation des filtres :

  • Envoyez un SMS uniquement lorsque l'utilisateur est mis sur liste d'attente, à l'exclusion des autres modifications de rendez-vous
  • Informez un enseignant d'une nouvelle réservation seulement si celui-ci enseigne le cours concerné, à l'exclusion des autres réservations de cet agenda
  • Envoyez une notification à la direction uniquement si le montant d'une réservation dépasse les 100€

Lorsque vous créez un nouveau webhook, Zapier/Integromat vous demandera un exemple correspondant pour SuperSaaS. L'exemple donne la liste des champs disponibles et de leur contenu. Les champs envoyés par le webhook dépend de ceux qui sont activés sur votre compte et de la présence ou non d'un formulaire. La plupart des déclencheurs incluent des filtres "événement" et "rôle" pour filtrer les événements. Par exemple, vous pouvez filtrer uniquement les déclencheurs qui contiennent la valeur "supprimer" dans le champ "évènement".

DéclencheurValeurs possibles du champ "événement"
Nouvel utilisateurnouveau
Utilisateur modifiénouveau, modifier, supprimer
Nouveau rendez-vouscréer
Rendez-vous modifiécréer, modifier, lieu, en_attente, effacer, restaurer, approuver, rétablir
Nouveau formulairenouveau
Formulaire modifiénouveau, modifier, supprimer, restaurer
Rappel / Suivirappel, suivi

Champ "Rôle"Qui a déclenché l'événement…
0AnonymousNon connecté
1Connecté avec un mot de passe partagé
2Validé par vérification d'adresse IP
3Utilisateur normal
4Superutilisateur
5Administrateur ou Revendeur
7Système ou passerelle de paiement

Lorsque vous créez ou modifiez un rendez-vous qui requiert un paiement, les champs "état" et "code d'état" vous permettent de cibler des événements spécifiques en utilisant la liste de tous les codes d'état possibles. Par exemple, vous pouvez mettre en place un filtre pour ne déclencher des messages que pour les rendez-vous qui ont été remboursés.

Configurer manuellement des webhooks (plus difficile)

Créer un webhook sans utiliser Zapier ou Integromat requiert des connaissances de programmation web. Vous pouvez alors configurer les webhooks pour les relier directement à votre propre serveur, ou modifier leur fonction. Vous trouverez plus de détails dans la documentation correspondante.