Webhooks
Webhooks will be executed as POST
requests against the URL you have defined on your signature order. The URL will be used as-is, no parameters will be stripped.
The POST request will contain a JSON
body similar to the events shown below.
You can use the values included in the webhook body to query the GraphQL API for more details.
Triggered when a signatory successfully signs the order.
{
"event" = "SIGNATORY_SIGNED",
"signatureOrderId" = "[GraphQL ID]",
"signatoryId" = "[GraphQL ID]"
}
Triggered when a signatory rejects the signature order via the UI.
{
"event" = "SIGNATORY_REJECTED",
"signatureOrderId" = "[GraphQL ID]",
"signatoryId" = "[GraphQL ID]",
"reason" = "[REASON]" | null
}
Triggered when a signatory experiences an error as part of signing.
{
"event" = "SIGNATORY_SIGN_ERROR",
"error" = "[ERROR MESSAGE]",
"signatureOrderId" = "[GraphQL ID]",
"signatoryId" = "[GraphQL ID]"
}
Triggered when a signatory opens the sign link href
{
"event" = "SIGNATORY_SIGN_LINK_OPENED",
"signatureOrderId" = "[GraphQL ID]",
"signatoryId" = "[GraphQL ID]"
}
Triggered when a signatory opens the download link downloadHref
{
"event" = "SIGNATORY_DOWNLOAD_LINK_OPENED",
"signatureOrderId" = "[GraphQL ID]",
"signatoryId" = "[GraphQL ID]"
}
Triggered when a signatory opens, approves or rejects a document.
{
"event" = "SIGNATORY_DOWNLOAD_LINK_OPENED",
"signatureOrderId" = "[GraphQL ID]",
"signatoryId" = "[GraphQL ID]",
"documentId" = "[GraphQL ID]",
"status" = "OPENED|APPROVED|REJECTED|%future%"
}
Triggered when a signature order has expired and is cleaned up.
{
"event" = "SIGNATURE_ORDER_EXPIRED",
"signatureOrderId" = "[GraphQL ID]"
}
Triggered when a signature order is created with webhook validation.
Make sure to respond with 200
/OK
our your signature order will not be created.
{
"event" = "WEBHOOK_VALIDATION"
}
query SignatoryWebhook($signatoryId: ID!) {
signatory(id: $signatoryId) {
status
signatureOrder {
id
}
}
}