Écouter les événements de Portant via des webhooks
Faites en sorte que Portant envoie des événements en POST à votre propre serveur lorsqu'une automatisation s'exécute. Ajoutez le bloc Send Webhook Events (Envoyer des événements Webhook) à votre workflow et Portant déclenchera une requête pour chaque élément source traité.
Les événements sont envoyés par élément source. Un élément source est une unité unique de données source (par exemple, une ligne dans Google Sheets). Si une automatisation s'exécute sur plusieurs éléments sources, Portant envoie un webhook par élément.
Schéma du payload
Chaque événement envoyé par Portant partage la même structure de premier niveau. Le contenu de data varie en fonction de event_type.
| Champ | Description |
|---|---|
event_id |
Un identifiant unique généré pour cet événement. |
event_type |
Le type d'événement. Détermine le contenu de data (voir les types d'événements ci-dessous). |
data |
Le payload de l'événement. Le schéma varie selon event_type. |
Exemple de schéma
{
"data": {
... // Determined by the type of event
},
"event_id": "325d36e717d9ec0943a55857ae2d4988ce33fe4165330e4f",
"event_type": "<EVENT_TYPE>"
}
Types d'événements
Portant envoie actuellement quatre types d'événements. Ceux que vous recevez dépendent de votre workflow : par exemple, vous ne recevez EMAILS_CREATED que si votre workflow contient un bloc d'e-mail.
Documents créés
L'automatisation a créé de nouveaux documents (Google Docs, Google Slides ou PDF).
Configuration du workflow
Le workflow doit contenir un bloc de modèle (Google Docs ou Google Slides).
Schéma
| Champ | Description |
|---|---|
documents |
Un tableau de tous les documents créés pour cet élément source. |
documents.id |
L'identifiant Google Drive du fichier. |
documents.url |
L'URL Google Drive du fichier. |
documents.name |
Le nom du fichier tel qu'il apparaît dans Google Drive. |
documents.mimetype |
Le type MIME du fichier (voir ci-dessous). |
Types MIME
| Mimetype | Description |
|---|---|
application/vnd.google-apps.document |
Fichier Google Docs |
application/vnd.google-apps.presentation |
Fichier Google Slides |
application/pdf |
Document PDF |
Exemple de payload
{
"data": {
"documents": [
{
"id": "12XXXXX..................",
"url": "https://docs.google.com/document/d/12XXXXX................../edit?usp=drivesdk",
"name": "Invoice #1200",
"mimetype": "application/vnd.google-apps.document"
},
{
"id": "13XXXXX..................",
"url": "https://drive.google.com/file/d/13XXXXX................../view?usp=drivesdk",
"name": "Invoice #1200",
"mimetype": "application/pdf"
}
]
},
"event_id": "325d36e717d9ec0943a55857ae2d4988ce33fe4165330e4f",
"event_type": "DOCUMENTS_CREATED"
}
E-mails créés
L'automatisation a créé et envoyé des e-mails. Cet événement ne se déclenche pas pour les demandes de signature.
Configuration du workflow
Le workflow doit contenir un bloc d'e-mail (Gmail).
Schéma
| Champ | Description |
|---|---|
emails |
Un tableau de tous les e-mails créés pour cet élément source. |
emails.message_id |
L'identifiant du message Gmail. |
emails.to |
Une chaîne de caractères séparée par des virgules contenant les adresses des destinataires. |
emails.subject |
L'objet de l'e-mail. |
Exemple de payload
{
"data": {
"emails": [
{
"to": "contact@portant.co",
"subject": "Hello World",
"message_id": "18xxxx........."
}
]
},
"event_id": "eac17961e3edcfafcc064015131e8a518c9f375005b8cec2",
"event_type": "EMAILS_CREATED"
}
Signatures demandées
L'automatisation a envoyé des demandes de signature.
Configuration du workflow
Le workflow doit contenir un bloc de demande de signature.
Schéma
| Champ | Description |
|---|---|
documents |
Un tableau de documents créés pour cet élément source. Même structure que l'événement Documents created. |
recipients |
Un tableau des destinataires de la demande de signature dans le workflow. |
recipients.email |
L'adresse e-mail du destinataire. |
recipients.order |
L'ordre dans lequel ce destinataire signe. |
recipients.status |
Le statut actuel. Toujours "PENDING" pour cet événement. |
recipients.signature_url |
L'URL du portail de signature où le destinataire peut compléter la demande. |
Exemple de payload
{
"data": {
"documents": [
{
"id": "10XXXXX.................",
"url": "https://drive.google.com/file/d/10XXXXX................./view?usp=drivesdk",
"name": "Employment Contact",
"mimetype": "application/pdf"
}
],
"recipients": [
{
"email": "bwlockley@gmail.com",
"order": 1,
"status": "PENDING",
"signature_url": "https://sign.portant.co/xxxxxxxxxxxxx"
}
]
},
"event_id": "66de24a8c20fa439d47d92a683861f6852c2924632623377",
"event_type": "SIGNATURES_REQUESTED"
}
Signatures completed
Toutes les demandes de signature de l'automatisation ont été complétées.
Configuration du workflow
Le workflow doit contenir un bloc de demande de signature.
Schéma
Identique à l'événement Signatures requested. Le champ recipients.status est "COMPLETED" pour chaque destinataire.
Exemple de payload
{
"data": {
"documents": [
{
"id": "10XXXXX.................",
"url": "https://drive.google.com/file/d/10XXXXX......../view?usp=drivesdk",
"name": "Employment Contact",
"mimetype": "application/pdf"
}
],
"recipients": [
{
"email": "bwlockley@gmail.com",
"order": 1,
"status": "COMPLETED",
"signatureUrl": "https://sign.portant.co/xxxxxxxxxxxxx"
}
]
},
"event_id": "72c32ca744baea46b4be710f052b14a9b73a29d77076e586",
"event_type": "SIGNATURES_COMPLETED"
}