Aller au contenu

Webhook payloads

Ce contenu n’est pas encore disponible dans votre langue.

Webhook requests are HTTP POST with a JSON or form-encoded body. Structure depends on content type and event.

With content type application/json, the body looks like:

payload.json
{
"eventUuid": "0f29a0a2-3a6f-44a4-b2a2-5d7b3f1b1f9b",
"eventType": "ENVELOPE_SIGNED",
"eventTime": 1704067200000,
"webhookUuid": "webhook-uuid",
"teamUuid": "team-uuid",
"data": {
"workspaceUuid": "workspace-uuid",
"envelopeUuid": "envelope-uuid",
"recipientEmail": "[email protected]",
"recipientName": "John Doe"
}
}

Top-level fields are always present. data varies by event (see below).

| Event | When it fires | Typical data fields | |-------|----------------|------------------------| | ENVELOPE_CREATED | New envelope created | workspaceUuid, envelopeUuid | | ENVELOPE_SENT | Envelope sent to recipients | workspaceUuid, envelopeUuid, optional recipients | | ENVELOPE_OPENED | Recipient opens envelope (first view) | workspaceUuid, envelopeUuid, optional recipient | | ENVELOPE_SIGNED | A recipient signs | workspaceUuid, envelopeUuid, recipientEmail, recipientName | | ENVELOPE_COMPLETED | All required signatures collected | workspaceUuid, envelopeUuid, documentUuid, finalRevisionVersion | | ENVELOPE_DECLINED | Recipient declines | workspaceUuid, envelopeUuid, optional reason, decliner | | ENVELOPE_CANCELED | Sender cancels envelope | workspaceUuid, envelopeUuid, optional reason |

Use this event to download the signed document and proof when an envelope is done:

ENVELOPE_COMPLETED
{
"eventType": "ENVELOPE_COMPLETED",
"eventTime": 1704067200000,
"data": {
"workspaceUuid": "workspace-uuid",
"envelopeUuid": "envelope-uuid",
"documentUuid": "document-uuid",
"finalRevisionVersion": 1
}
}

With application/x-www-form-urlencoded, the payload is in a single form field payload (JSON string):

form field
payload={"eventUuid":"...","eventType":"ENVELOPE_SIGNED",...}

When verifying signatures, use the raw form value (e.g. payload=...) as the signed body, not the parsed JSON.

Subnoto detects Discord and Slack webhook URLs and adapts the payload to their APIs. The structure above applies to custom endpoints with JSON or form content type.