Ettiquetage des webhooks
Introduction
Les webhooks sont très utilisés dans les outils d’automatisation.
Pour bien identifier de quel webhook il s’agit afin de garantir une meilleure maintenabilité, PredictFlow propose une convetion de nommage qui permet de différencier le type de webhook.
L’objectif du nommage du webhook dans ce cas-là est différent du nommage du module webhook. Alors que le dernier a pour fonction d’assurer une bonne lisibilité du scénario et de son maintien, le naming du webhook sert à assurer le maintien du webhook par rapport aux autres webhooks créés (et éviter d’avoir des noms de webhooks par défaut).
Explication
Soit les données reçues dans un webhook sont des données de développement, soit ce sont des données de production.
Pour certains outils, il n’est pas possible de différencier l’état du webhook entre le développement et la production et donc pas défaut ils seront donc considérés comme des données de production.
Il se peut également que les webhooks changent et qu’ils existent plusieurs versions en production d’un webhook. Par conséquent, il est important de définir le numéro de version du webhook. Comment le reconnaître ? Ce numéro de version est défini par la documentation elle-même. Si aucune version n’est donnée par la documentation, alors le webhook est en version 1.
Convention de nommage
Convention de nommage
state_app_description_version
Details
Pour mieux comprendre le nommage d’un webhook, voici un tableau récapitulatif.
NAMING | DESCRIPTION | EXEMPLES |
---|---|---|
STATE | dev : si webhook de dev prod : si webhook de prod Si ni l’un ni l’autre, alors par défaut c’est un webhook de prod. | dev_ prod_ |
APPLICATION | À quelle app ce webhook est-il lié ? En d’autres termes d’où viennent les données ? | stripe discord shopify adobe-ecommerce id_scenario_make |
DESCRIPTION | Quelle fonctionnalité ? Quel est l’objectif de ce webhook ? | customers-contacts-acme récupère les contacts clients de l’entreprise ACME.orders-acme :récupère les commandes de l’entreprise ACMEedit-contacts |
VERSION | Quelle est sa version ? Cela permet de faire évoluer les webhooks, s’il y a des mises à jour sur le webhook en question. | v1 v2 |
CONSIDÉRATIONS GÉNÉRALES
- Le naming est en minuscule
- Séparation des fonctionnalités sont avec un
underscore
- S’il doit y avoir plus d’un seul mot au sein des fonctionnalités, alors la séparation se fait avec un tiret
-
- Par convention, les noms de webhooks dans la méthodologie sont en anglais.
Exemples
Pour mettre en pratique le nommage des webhooks, voici quelques exemples.
exemples complets
dev_tally_customer-contact-acme_v1
prod_stripe_customers-orders-acme_v1
prod_webflow_subscribers-nocodestation-newsletter_v1
prod_memberstack_create-new-user_v1