Optimiser vos intégrations avec des Webhooks
Utilisez les points de terminaison Webhooks (également appelés abonnements) de l’API de Bluebeam pour vous abonner aux mises à jour Studio, afin que votre application reçoive automatiquement les changements sans devoir les demander manuellement.
Les Webhooks sont une fonctionnalité standard de l'API Bluebeam et sont disponibles pour toutes les intégrations.
Les points de terminaison Webhook vous permettent de vous abonner à l’activité et aux actualités des projets ou des sessions Studio, ce qui déclenche des intégrations en temps réel lorsque des événements se produisent. En utilisant les Webhooks, vous réduisez la nécessité de recourir à des interrogations répétées. Si vous vous abonnez aux événements que vous souhaitez suivre, les points de terminaison de l’API enverront directement des informations, contribuant ainsi à réduire les appels d’API inutiles et à améliorer les performances globales du système.
Nous sommes impatients de voir comment vous allez exploiter les Webhooks pour améliorer vos intégrations et créer des workflows personnalisés avec l’API Bluebeam.
Notifications d'événements
| Type de Webhook | Événements qui déclenchent des notifications |
|---|---|
| Session |
|
| Projet |
|
Points de terminaison d’API
Tous les points de terminaison nécessitent ce qui suit :
-
Un en-tête Authorization avec un jeton de l’API du développeur
-
Un en-tête client_id
Exemple de corps :
{
"sourceType": "project",
"resourceId": "123-456-789",
"callbackURI": {callback URI}
}
-
sourceType peut être « session » ou « projet »
-
resourceID est soit l’ID de session, soit l’ID de projet
-
callbackURI doit être une URL valide avec https
Exemple de réponse :
{
"subscriptionId": "0476edcf-e0e5-4242-8203-ad1770f4f059",
"resourceId": "123-456-789",
"sourceType": "project",
"creatorEmail": {email},
"clientId": {client id},
"subscriptionStatus": "active",
"created": "2025-06-16T15:50:20.831973204Z",
"updated": "2025-06-16T15:50:20.831973204Z",
"callbackURI": {callback URI}
}
Met à jour le callbackURI d’un abonnement.
Exemple de corps :
{
"subscriptionId": "0476edcf-e0e5-4242-8203-ad1770f4f059",
"callbackURI": {new callback URI}
}
Exemple de réponse :
{
"subscriptionId": "0476edcf-e0e5-4242-8203-ad1770f4f059",
"resourceId": "123-456-789",
"sourceType": "session",
"creatorEmail": {email},
"clientId": {client id},
"subscriptionStatus": "active",
"created": "2025-06-16T15:50:20.831973204Z",
"updated": "2025-06-16T15:53:30.274499919Z",
"callbackURI": {new callback URI}
}
Renvoie une liste de tous les abonnements disponibles pour l’utilisateur.
Exemple de réponse :
{
"subscriptions": [
{
"subscriptionId": "0476edcf-e0e5-4242-8203-ad1770f4f059",
"resourceId": "123-456-789",
"sourceType": "session",
"creatorEmail": {email},
"clientId": {client id},
"subscriptionStatus": "active",
"created": "2025-06-16T15:50:20.831973204Z",
"updated": "2025-06-16T15:53:30.274501793Z",
"callbackURI": {callback URI}
},
{
"subscriptionId": "f4b3a7b5-4b4c-47af-b1c2-3493255fc26d",
"resourceId": "987-654-321",
"sourceType": "project",
"creatorEmail": {email},
"clientId": {client id},
"subscriptionStatus": "disabled",
"created": "2025-05-13T19:21:00.736687777Z",
"updated": "2025-06-05T14:37:15.546528614Z",
"callbackURI": {callback URI}
}
]
}
Renvoie des informations sur un seul abonnement.
Exemple de réponse :
{
"subscriptionId": "0476edcf-e0e5-4242-8203-ad1770f4f059",
"resourceId": "123-456-789",
"sourceType": "session",
"creatorEmail": {email},
"clientId": {client id},
"subscriptionStatus": "active",
"created": "2025-06-16T15:50:20.831973204Z",
"updated": "2025-06-16T15:53:30.274501793Z",
"callbackURI": {callback URI}
}
Définit le statut d’un abonnement sur « désactivé ».
Renvoie un message 204 No Content.
Exemples de rappels
{
"Source": "Studio",
"ResourceID": "123-456-789",
"ResourceType": "SessionDocuments",
"Timestamp": "2025-06-16T15:58:44.2265563Z",
"User": {email},
"EventType": "Create",
"IdPath": "null",
"Path": "null",
"ItemType": "null",
"Name": "test.pdf"
}
{
"Source": "Studio",
"ResourceID": "123-456-789",
"ResourceType": "Sessions",
"Timestamp": "2025-06-16T15:59:31.2323589Z",
"User": {email},
"EventType": "Update",
"IdPath": "null",
"Path": "null",
"ItemType": "null",
"Name": "newSessionName"
}
{
"Source": "Studio",
"ResourceID": "987-654-321",
"ResourceType": "ProjectItems",
"Timestamp": "2025-06-16T16:01:56.8371219Z",
"User": {email},
"EventType": "Update",
"IdPath": "/17484067/17572477",
"Path": "/level1/test.pdf",
"ItemType": "File",
"Name": "test.pdf"
}
{
"Source": "Studio",
"ResourceID": "987-654-321",
"ResourceType": "Projects",
"Timestamp": "2025-06-16T16:03:40.0220965Z",
"User": {email},
"EventType": "Delete",
"IdPath": "null",
"Path": "null",
"ItemType": "null",
"Name": "testProject"
}
Contacter l’équipe d’assistance au développement
Pour toute question concernant la fonctionnalité des intégrations, les points de terminaison d’API spécifiques et d’autres questions liées à Bluebeam, envoyez-nous un e-mail à integrations@bluebeam.com.
Pour obtenir des informations détaillées sur les points de terminaison des API et les dernières mises à jour de la plateforme d’intégrations, consultez la section API Docs du Developer Portal.
Ressources
Revu 21
Intégrations Bluebeam
Intégrations Bluebeam
