Skip to main content
Voir en Markdown

Déclencheurs webhook et cron

Les deux déclencheurs qui se déclenchent sans que personne n'utilise votre application : un système externe qui appelle, ou l'horloge.

Déclencheur webhook

Expose un point de terminaison HTTP à /api/automations/{name}/webhook qui démarre l'automatisation lorsqu'il est atteint.

trigger:
  type: webhook
  method: [POST]
  auth: { type: hmac, secret: $env.STRIPE_SIGNING_SECRET, algorithm: sha256 }
  deduplicationKey: '{{trigger.data.body.id}}'
  deduplicationWindow: 600
Propriété Description
method Méthode(s) HTTP acceptées — GET/POST/PUT/PATCH/DELETE, ou un tableau non vide. Obligatoire.
secret Secret pour la vérification de signature HMAC (par ex. $env.WEBHOOK_SECRET).
respondImmediately Lorsque true, répond 202 immédiatement. Omis, la requête attend la fin de l'exécution.
auth Configuration d'auth entrante — type vaut bearer, apiKey, hmac ou basic (voir ci-dessous).
response Réponse personnalisée : statusCode ou status (100–599), body (modèle ou objet), headers.
requestSchema JSON Schema validant le corps de la requête.
querySchema JSON Schema validant les paramètres de requête.
rateLimit { maxRequests, windowSeconds }window est accepté comme alias de windowSeconds.
deduplicationKey Modèle calculant une clé de déduplication (par ex. "{{trigger.data.body.orderId}}").
deduplicationWindow Fenêtre de déduplication en secondes. Par défaut 300.

Authentification entrante

auth.type vaut bearer, apiKey, hmac ou basic. Les champs d'identifiants — token, prefix, key, header, secret, algorithm, username, password — sont tous optionnels et non conditionnés par type, et algorithm est une chaîne libre plutôt qu'une énumération. Rien ne vérifie qu'un bloc bearer porte effectivement un token : un bloc incomplet passe sovrium validate et échoue à la réception. Toutes les valeurs d'identifiants acceptent $env.VAR.

Contexte du webhook

La charge utile n'est pas à {{trigger.body}}. Les chemins disponibles sont {{trigger.data.body.*}}, {{trigger.data.headers.*}}, {{trigger.data.query.*}}, ainsi que {{trigger.data.method}}, {{trigger.data.path}} et {{trigger.data.ip}}. Les champs scalaires du corps sont en outre aplatis vers {{trigger.data.<champ>}}.

Déclencheur cron

Exécute l'automatisation selon une planification.

trigger:
  type: cron
  expression: '0 9 * * 1-5'
  timezone: Europe/Paris
Propriété Description
expression Expression cron — 5 champs standard, ou 6 champs avec les secondes. Obligatoire. Validée au décodage.
timezone Fuseau IANA (par ex. America/New_York). Par défaut UTC. Validé contre la base IANA.

Il n'existe aucun alias @daily / @hourly / @weekly — écrivez l'équivalent numérique (0 0 * * *, 0 * * * *). Un pas de zéro (*/0) est rejeté. Comme l'expression et le fuseau sont validés hors ligne, une faute de frappe échoue à sovrium validate au lieu de produire une automatisation qui ne s'exécute jamais en silence.

Définissez timezone dès que la planification doit suivre des horaires humains : 0 9 * * 1-5 en UTC dérive d'une heure par rapport à Paris deux fois par an, tandis que la même expression en Europe/Paris reste à 09h00 locales de part et d'autre des changements d'heure.

Pages connexes

Dernière mise à jour 27 juillet 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta — les contributions et corrections sont les bienvenues.

Construit avec Sovrium