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

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_idsurPOST /webhooksetGET /webhookspour que vous puissiez limiter les opérations de webhook à un espace de travail spécifiqueNouveaux points de terminaison pour la gestion des secrets de webhook d'espace de travail :
POST /workspaces/{id}/webhooks/rotate-secretetGET /workspaces/{id}/webhooks/secret-statusCinq 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.
Articles connexes
Notre plateforme est conçue pour permettre aux entreprises de toutes tailles de travailler plus intelligemment et d'atteindre leurs objectifs avec confiance.


