Skip to content

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.

NAMINGDESCRIPTIONEXEMPLES
STATEdev : 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
DESCRIPTIONQuelle 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 ACME

edit-contacts
VERSIONQuelle 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

Webhook labelling 1

Webhook labelling 2