Mises à jour de produit

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

Logo de Firma

Si vous exploitez un SaaS multi-tenant sur Firma.dev, vous vous êtes sans doute déjà heurté à ce problème. Un webhook au niveau de l'entreprise reçoit les événements de chaque demande de signature dans chaque espace de travail, et votre backend doit les répartir vers le bon client. Cela fonctionne très bien lorsque vous contrôlez les deux côtés. Tout s'effondre dès que vos clients veulent que leurs propres points de terminaison de webhook pointent vers leurs propres systèmes.

Les Workspace Webhooks 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 brique qui permet réellement au modèle multi-tenant de Firma.dev de fonctionner de bout en bout.

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

Les Customer Workspaces vous ont toujours offert des espaces isolés pour chaque client sur votre plateforme. Chaque espace de travail a ses propres modèles, sa propre consommation 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 seul webhook au niveau de l'entreprise, ce qui faisait de votre plateforme l'intermédiaire obligatoire pour les notifications.

Cela convient à certaines architectures. Pour d'autres, c'est rédhibitoire. Prenez une plateforme qui permet à ses clients de connecter leurs propres CRM, ERP ou systèmes de billetterie. Chaque client veut que les événements de signature soient envoyés directement dans sa propre pile. Ou pensez à un revendeur qui offre à ses clients finaux une véritable isolation entre leurs intégrations. Ou à une équipe de développement qui veut que les espaces de travail de préproduction envoient des événements vers un point de terminaison de test, tandis que la production les envoie vers le vrai.

Dans tous ces cas, le webhook doit vivre au niveau de l'espace de travail, sinon tout le modèle perd en cohérence.

Ce qui est disponible par espace de travail

Chaque espace de travail bénéficie désormais de la boîte à outils complète des webhooks, limitée à son propre périmètre :

  • CRUD complet sur les points de terminaison de webhook

  • Son propre secret de signature, avec une période de grâce de 7 jours lors de la régénération

  • Livraison de test, pour vérifier la configuration sans déclencher de vrais événements

  • Un journal des événements par espace de travail

  • Un bouton « Ignore Company Webhooks » si vous souhaitez que les webhooks d'espace de travail remplacent entièrement la livraison au niveau de l'entreprise plutôt que de fonctionner en parallèle

Ce dernier bouton compte plus qu'il n'y paraît. Certaines équipes veulent que les webhooks d'entreprise et d'espace de travail se déclenchent tous les deux, parce que leur plateforme a toujours besoin d'une vue globale des événements tandis que les clients reçoivent leurs propres flux. D'autres veulent une isolation nette où les webhooks d'espace de travail sont la seule source de vérité. À vous de choisir pour chaque espace de travail.

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

Un point mérite d'être signalé aux développeurs qui évaluent cela. Toute validation d'URL de webhook inclut désormais une protection SSRF, qui bloque les plages d'IP privées, les points de terminaison de métadonnées cloud et les tentatives de rebinding DNS. Lorsque vous laissez vos clients configurer leurs propres points de terminaison de webhook dans des espaces de travail qu'ils contrôlent, ce n'est pas facultatif. Un client pourrait pointer par erreur (ou délibérément) un webhook vers 169.254.169.254 ou une IP interne, et sans protection SSRF vous relayeriez des requêtes depuis l'infrastructure de Firma vers des endroits qu'aucun accès ne devrait atteindre.

C'est géré au niveau de la plateforme, donc vous n'avez pas besoin de mettre en place vous-même des défenses.

Surface API

Quelques ajouts côté API :

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

  • Nouveaux points de terminaison pour gérer les secrets des webhooks 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 configuration des webhooks

Les détails complets figurent dans le journal des modifications de l'API pour la version v1.15.0.

Quand utiliser les webhooks d'espace de travail vs les webhooks d'entreprise

Vue d'ensemble rapide :

Les webhooks d'entreprise sont destinés à votre plateforme. Tout ce que votre application principale doit connaître, pour l'ensemble de vos clients, doit passer par la livraison au niveau de l'entreprise. Événements de facturation, journalisation de conformité, analytique, flux de travail internes.

Les webhooks d'espace de travail sont destinés à vos clients. Tout ce que les systèmes d'un client spécifique doivent traiter doit passer par la livraison au niveau de l'espace de travail. Mises à jour CRM, notifications spécifiques au client, intégrations tierces qu'ils ont eux-mêmes mises en place.

Les deux peuvent coexister dans le même espace de travail, ou vous pouvez exclure complètement un espace de travail des webhooks d'entreprise. Pour la plupart des plateformes multi-tenant, le bon schéma consiste à utiliser les webhooks d'entreprise pour les événements critiques de la plateforme, plus des webhooks d'espace de travail que vos clients configurent via votre interface.

Pour commencer

Si vous utilisez déjà Customer Workspaces, vous pouvez commencer à ajouter des webhooks d'espace de travail dès aujourd'hui. Les intégrations de webhooks au niveau de l'entreprise existantes continuent de fonctionner exactement comme avant. C'est purement additif.

Commencez gratuitement avec Firma.dev, sans carte bancaire requise. 25 enveloppes gratuites, aucun contrat, aucun minimum, et la boîte à outils multi-tenant complète, y compris Customer Workspaces et Workspace Webhooks, 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,029 € par enveloppe lorsque vous êtes prêt à passer en direct.

Image de fond

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

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,029 € par enveloppe lorsque vous êtes prêt à passer en direct.

Image de fond

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

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,029 € par enveloppe lorsque vous êtes prêt à passer en direct.