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.
Standard JSON payload
Section titled “Standard JSON payload”With content type application/json, the body looks like:
{ "eventUuid": "0f29a0a2-3a6f-44a4-b2a2-5d7b3f1b1f9b", "eventType": "ENVELOPE_SIGNED", "eventTime": 1704067200000, "webhookUuid": "webhook-uuid", "teamUuid": "team-uuid", "data": { "workspaceUuid": "workspace-uuid", "envelopeUuid": "envelope-uuid", "recipientName": "John Doe" }}Top-level fields are always present. data varies by event (see below).
Event types and data shape
Section titled “Event types and data shape”| 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 |
ENVELOPE_COMPLETED example
Section titled “ENVELOPE_COMPLETED example”Use this event to download the signed document and proof when an envelope is done:
{ "eventType": "ENVELOPE_COMPLETED", "eventTime": 1704067200000, "data": { "workspaceUuid": "workspace-uuid", "envelopeUuid": "envelope-uuid", "documentUuid": "document-uuid", "finalRevisionVersion": 1 }}Form-encoded payload
Section titled “Form-encoded payload”With application/x-www-form-urlencoded, the payload is in a single form field payload (JSON string):
payload={"eventUuid":"...","eventType":"ENVELOPE_SIGNED",...}When verifying signatures, use the raw form value (e.g. payload=...) as the signed body, not the parsed JSON.
Discord and Slack
Section titled “Discord and Slack”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.