Mises à jour de produit

Webhooks d’espace de travail : distribution isolée des événements pour chaque client de votre plateforme

Logo Firma.dev sur un piédestal."

Si vous gérez un SaaS multi-locataire sur Firma.dev, vous avez probablement déjà rencontré cet obstacle. Un seul webhook au niveau de l'entreprise reçoit les événements pour toutes les demandes de signature sur tous les espaces de travail, et votre backend doit les distribuer au bon client. Cela fonctionne bien lorsque vous contrôlez les deux côtés. Mais tout s'effondre dès lors que vos clients souhaitent que leurs propres points de terminaison de webhook pointent vers leurs propres systèmes.

Les webhooks d'espace de travail résolvent ce problème. Chaque espace de travail peut désormais définir ses propres points de terminaison de webhook avec des secrets de signature indépendants, entièrement séparés des webhooks au niveau de l'entreprise. C'est la pièce qui permet au modèle multi-locataire de Firma.dev de fonctionner réellement de bout en bout.

Le problème multi-locataire que cela résout

Les espaces de travail client vous ont toujours fourni des espaces cloisonnés pour chaque client sur votre plateforme. Chaque espace de travail a ses propres modèles, sa propre utilisation d'enveloppes, sa propre clé API. Une séparation nette. Mais jusqu'à présent, la distribution des webhooks faisait exception. Chaque événement passait par un unique webhook au niveau de l'entreprise, ce qui signifiait que votre plateforme était toujours l'intermédiaire pour les notifications.

C'est tout à fait acceptable pour certaines architectures. C'est en revanche rédhibitoire pour d'autres. Prenons l'exemple d'une plateforme qui permet à ses clients de connecter leurs propres CRM, ERP ou systèmes de tickets. Chaque client souhaite que les événements de signature soient poussés directement dans sa propre infrastructure. Ou considérez un revendeur offrant une réelle isolation à ses clients finaux à travers leurs intégrations. Ou encore une équipe de développement qui souhaite que les espaces de travail de staging déclenchent des événements vers un point de terminaison de test tandis que la production cible le vrai.

Dans tous ces cas, le webhook doit résider au niveau de l'espace de travail, sinon tout le modèle présente des failles.

Ce qui est disponible par espace de travail

Chaque espace de travail dispose désormais de la panoplie complète d'outils de webhook, limitée à son propre périmètre :

  • CRUD complet sur les points de terminaison de webhook

  • Son propre secret de signature, avec un délai de grâce de rotation de 7 jours lors d'une régénération

  • Test de distribution, pour que vous puissiez vérifier la configuration sans déclencher de réels événements

  • Un journal d'événements par espace de travail

  • Une option « Ignorer les webhooks de l'entreprise » si vous souhaitez que les webhooks de l'espace de travail remplacent entièrement la distribution au niveau de l'entreprise plutôt que de s'exécuter en parallèle

Cette dernière option est plus importante qu'elle n'y paraît. Certaines équipes souhaitent que les webhooks de l'entreprise et de l'espace de travail se déclenchent simultanément, car leur plateforme a toujours besoin d'une vue globale des événements tandis que les clients reçoivent leurs propres flux. D'autres équipes souhaitent une isolation parfaite où les webhooks d'espace de travail sont l'unique source de vérité. Vous pouvez choisir pour chaque espace de travail.

Sécurité : protection SSRF sur toutes les URL de webhook

Un point important à signaler pour les développeurs qui évaluent cette fonctionnalité. Toute validation d'URL de webhook inclut désormais une protection SSRF, qui bloque les plages d'adresses IP privées, les points de terminaison de métadonnées cloud et les tentatives de rebond DNS. Lorsque vous laissez vos clients configurer leurs propres points de terminaison de webhook à l'intérieur d'espaces de travail qu'ils contrôlent, cela n'est pas facultatif. Un client pourrait accidentellement (ou délibérément) pointer un webhook vers 169.254.169.254 ou une adresse IP interne, et sans protection SSRF, vous relayeriez des requêtes depuis l'infrastructure de Firma vers des endroits que personne ne devrait pouvoir atteindre.

Ceci est géré au niveau de la plateforme, vous n'avez donc pas besoin de concevoir de protections vous-même.

Surface de l'API

Quelques ajouts du côté de l'API :

  • Le paramètre workspace_id sur POST /webhooks et GET /webhooks pour que vous puissiez limiter les opérations de webhook à un espace de travail spécifique

  • Nouveaux points de terminaison pour la gestion des secrets de webhook d'espace de travail : POST /workspaces/{id}/webhooks/rotate-secret et GET /workspaces/{id}/webhooks/secret-status

  • Cinq nouveaux champs dans la réponse GET de l'espace de travail couvrant l'état de la configuration du webhook

Tous les détails se trouvent dans le journal des modifications de l'API pour la v1.15.0.

Quand utiliser les webhooks d'espace de travail par rapport aux webhooks d'entreprise

Modèle mental rapide :

Les webhooks d'entreprise sont destinés à votre plateforme. Tout ce que votre application principale doit savoir, pour chaque client, doit passer par la distribution au niveau de l'entreprise. Événements de facturation, journalisation de conformité, analyses, flux de travail internes.

Les webhooks d'espace de travail sont destinés à vos clients. Tout ce à quoi les systèmes d'un client spécifique doivent réagir doit passer par la distribution au niveau de l'espace de travail. Mises à jour du CRM, notifications spécifiques au client, intégrations tierces qu'ils ont eux-mêmes configurées.

Les deux types peuvent coexister sur le même espace de travail, ou vous pouvez désactiver entièrement les webhooks d'entreprise pour un espace de travail. Pour la plupart des plateformes multi-locataires, le schéma idéal consiste à utiliser des webhooks d'entreprise pour les événements critiques de la plateforme et des webhooks d'espace de travail que vos clients configurent via votre interface utilisateur.

Pour commencer

Si vous utilisez déjà les espaces de travail client, vous pouvez commencer à ajouter des webhooks d'espace de travail dès aujourd'hui. Les intégrations de webhooks existantes au niveau de l'entreprise continuent de fonctionner exactement comme avant. Il s'agit purement d'un ajout.

Commencez à utiliser Firma.dev gratuitement, sans carte de crédit requise. Sans contrat ni minimum, et avec la panoplie complète d'outils multi-locataires comprenant les espaces de travail client et les webhooks d'espace de travail dès le premier jour.

  1. Titre

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.

Image de fond

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,049 € par enveloppe lorsque vous serez prêt à lancer votre activité.