Pular para o conteúdo principal

Referência dos eventos

O Signer envia um evento para a URL do webhook quando algo acontece com um documento, como uma assinatura ou a conclusão do fluxo. Cada evento traz o tipo do evento e os dados do documento. Para cadastrar o webhook e criar o endpoint que recebe os eventos, veja Webhooks.

Formato da requisição​

O Signer envia um POST com Content-Type: application/json (UTF-8). O corpo tem sempre dois campos:

{
"type": "DocumentConcluded",
"data": { }
}
CampoTipoDescrição
typetextoO tipo do evento. Veja a lista em Eventos.
dataobjetoOs dados do evento. O conteúdo muda conforme o type.

O corpo segue estas convenções:

  • Os nomes dos campos usam camelCase, como creationDate.
  • Os valores de enumerações vêm como texto. Por exemplo, o Signer envia "DocumentConcluded", e não 1.
  • As datas usam o formato ISO 8601, com o fuso horário, como 2026-09-10T14:27:35.115Z.
  • Os ids, como id, userId e flowActionId, são GUIDs em texto.

Nas tabelas desta página, um campo que pode vir como null tem "ou null" na coluna "Tipo".

Eventos​

typeQuando o Signer envia
DocumentsCreatedUm ou mais documentos foram criados.
DocumentSignedUm participante assinou o documento.
DocumentApprovedUm participante aprovou o documento.
DocumentRefusedUm participante recusou o documento.
DocumentConcludedO fluxo terminou: todas as ações foram concluídas.
DocumentCanceledO documento foi cancelado.
DocumentPausedO documento foi pausado.
DocumentResumedO documento pausado foi retomado.
DocumentExpiredO documento chegou à data de expiração sem ser concluído.
DocumentDeletedUm ou mais documentos foram excluídos.
InvoiceClosedUma fatura foi fechada.

Campos comuns dos eventos de documento​

Todo evento de documento traz em data os campos abaixo. Nos eventos DocumentsCreated e DocumentDeleted, cada item da lista documents traz esses campos.

CampoTipoDescrição
idtexto (GUID)O id do documento.
nametextoO nome do documento.
creationDatedataA data de criação do documento.
updateDatedataA data da última alteração do documento.
folderobjeto ou nullA pasta do documento. É null quando o documento não está em uma pasta.
folder.idtexto (GUID)O id da pasta.
folder.nametextoO nome da pasta.
folder.parentIdtexto (GUID) ou nullO id da pasta acima desta. É null quando a pasta não está dentro de outra pasta.
folder.organizationNametextoO nome da organização da pasta.
organizationobjeto ou nullA organização do documento. É null em documentos pessoais.
organization.idtexto (GUID)O id da organização.
organization.nametextoO nome da organização.
organization.identifiertextoO CNPJ da organização.
organization.ownerobjeto ou nullO dono de uma organização pessoal, com id e name. É null nas outras organizações.
createdByobjetoO usuário ou a aplicação que criou o documento, com id e name.
{
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços",
"creationDate": "2026-09-10T13:02:11.482Z",
"updateDate": "2026-09-10T14:27:35.115Z",
"folder": {
"id": "0a9e1f3c-2b44-4f6a-9d0e-77c1b8a4e510",
"name": "Contratos 2026",
"parentId": null,
"organizationName": "Acme S.A."
},
"organization": {
"id": "5f2c9a71-3e8d-4a12-bb90-6d4e2f1c8a33",
"name": "Acme S.A.",
"identifier": "11222333000181",
"owner": null
},
"createdBy": {
"id": "4d961566-9b03-450c-b144-930e0294bac2",
"name": "Integração ERP"
}
}

Para ficarem curtos, os exemplos das seções abaixo mostram só id e name dos campos comuns.

Quem fez a ação​

Os eventos usam dois objetos para dizer quem fez a ação.

O objeto de participante aparece em signature, approval e refusal:

CampoTipoDescrição
flowActionIdtexto (GUID)O id da ação do fluxo, por exemplo a etapa de assinatura do participante. No refusal, pode ser null.
datedataA data da ação.
userIdtexto (GUID)O id do usuário que fez a ação.
nametextoO nome do usuário.
identifiertextoO identificador do usuário, por exemplo o CPF.
emailAddresstextoO e-mail do usuário.
reasontextoO motivo da recusa. Só existe no refusal.

O objeto de agente aparece em canceledBy, pausedBy e resumedBy. Um agente é um usuário ou uma aplicação:

CampoTipoDescrição
idtexto (GUID)O id do usuário ou da aplicação.
nametextoO nome do usuário ou da aplicação.
typetextoUser para um usuário, ou Application para uma aplicação.

Eventos de documento​

DocumentsCreated​

O Signer envia este evento quando um ou mais documentos são criados. Um evento pode trazer vários documentos. Neste evento, data tem só a lista documents, sem os campos comuns fora dela.

CampoTipoDescrição
documentslistaOs documentos criados. Cada item tem os campos comuns.
{
"type": "DocumentsCreated",
"data": {
"documents": [
{ "id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11", "name": "Contrato 1" },
{ "id": "c98a2f14-1d3b-4c77-8e05-2a6b9d1f4e62", "name": "Contrato 2" }
]
}
}

DocumentSigned​

O Signer envia este evento quando um participante assina o documento. Se o documento tem vários signatários, o Signer envia um evento para cada assinatura.

CampoTipoDescrição
signatureobjetoO participante que assinou. Veja o objeto de participante.
{
"type": "DocumentSigned",
"data": {
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços",
"signature": {
"flowActionId": "4bf61c68-eaf1-455f-b4a1-6141554f1dae",
"date": "2026-09-10T14:27:35.115Z",
"userId": "8c3a1d90-77b5-4e2f-9a61-0f5d2b7c4e88",
"name": "John Wick",
"identifier": "81976153069",
"emailAddress": "john.wick@mailinator.com"
}
}
}

DocumentApproved​

O Signer envia este evento quando um participante aprova o documento.

CampoTipoDescrição
approvalobjetoO participante que aprovou. Veja o objeto de participante.
{
"type": "DocumentApproved",
"data": {
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços",
"approval": {
"flowActionId": "7d2e9b41-0c6a-4f18-a3b5-92e1c4d7f630",
"date": "2026-09-10T13:45:20.310Z",
"userId": "2f7b4c18-6e9d-4a35-8b02-c1d6e9a3f574",
"name": "Maria Souza",
"identifier": "52998224725",
"emailAddress": "maria.souza@mailinator.com"
}
}
}

DocumentRefused​

O Signer envia este evento quando um participante recusa o documento.

CampoTipoDescrição
refusalobjetoO participante que recusou, com o campo reason. Veja o objeto de participante. Aqui, o flowActionId pode ser null.
{
"type": "DocumentRefused",
"data": {
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços",
"refusal": {
"flowActionId": "4bf61c68-eaf1-455f-b4a1-6141554f1dae",
"date": "2026-09-10T15:11:02.700Z",
"userId": "8c3a1d90-77b5-4e2f-9a61-0f5d2b7c4e88",
"name": "John Wick",
"identifier": "81976153069",
"emailAddress": "john.wick@mailinator.com",
"reason": "Valor divergente na cláusula 4"
}
}
}

DocumentConcluded​

O Signer envia este evento quando o fluxo termina, isto é, quando todas as ações do documento foram concluídas. O evento traz só os campos comuns.

{
"type": "DocumentConcluded",
"data": {
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços"
}
}

DocumentCanceled​

O Signer envia este evento quando um usuário ou uma aplicação cancela o documento.

CampoTipoDescrição
canceledByobjetoQuem cancelou. Veja o objeto de agente.
reasontextoO motivo do cancelamento.
{
"type": "DocumentCanceled",
"data": {
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços",
"canceledBy": {
"id": "4d961566-9b03-450c-b144-930e0294bac2",
"name": "Integração ERP",
"type": "Application"
},
"reason": "Contrato substituído por nova versão"
}
}

DocumentPaused​

O Signer envia este evento quando um usuário pausa o documento. O evento existe a partir da versão 3.0.0 do Signer.

CampoTipoDescrição
pausedByobjetoQuem pausou. Veja o objeto de agente.
reasontextoO motivo informado ao pausar.
{
"type": "DocumentPaused",
"data": {
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços",
"pausedBy": {
"id": "2f7b4c18-6e9d-4a35-8b02-c1d6e9a3f574",
"name": "Maria Souza",
"type": "User"
},
"reason": "Aguardando revisão do jurídico"
}
}

DocumentResumed​

O Signer envia este evento quando um usuário retoma um documento pausado. O evento existe a partir da versão 3.0.0 do Signer.

CampoTipoDescrição
resumedByobjetoQuem retomou. Veja o objeto de agente.
{
"type": "DocumentResumed",
"data": {
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços",
"resumedBy": {
"id": "2f7b4c18-6e9d-4a35-8b02-c1d6e9a3f574",
"name": "Maria Souza",
"type": "User"
}
}
}

DocumentExpired​

O Signer envia este evento quando o documento chega à data de expiração e o fluxo ainda não terminou.

CampoTipoDescrição
expirationDatedataA data de expiração, no fuso horário padrão da instância.
expirationDateWithoutTimetextoA mesma data sem a hora, no formato yyyy-MM-dd. Use este campo para exibir a data na tela.
{
"type": "DocumentExpired",
"data": {
"id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11",
"name": "Contrato de prestação de serviços",
"expirationDate": "2026-09-30T00:00:00-03:00",
"expirationDateWithoutTime": "2026-09-30"
}
}

DocumentDeleted​

O Signer envia este evento quando um ou mais documentos são excluídos. O nome do evento está no singular, mas o evento traz uma lista de documentos. Neste evento, data tem só a lista documents e o campo action, sem os campos comuns fora da lista.

CampoTipoDescrição
documentslistaOs documentos excluídos. Cada item tem os campos comuns.
actiontextoO que causou a exclusão. Veja os valores abaixo.
actionSignificado
DeletedByUserOrApplicationUm usuário ou uma aplicação excluiu os documentos.
DeletedByOrganizationA organização fez uma exclusão em massa.
DeletedByFolderAlguém excluiu a pasta que continha os documentos.
observação

Em DeletedByOrganization e DeletedByFolder, a lista documents traz no máximo 100 documentos, mesmo quando a exclusão afetou mais documentos.

{
"type": "DocumentDeleted",
"data": {
"action": "DeletedByUserOrApplication",
"documents": [
{ "id": "b12cb1b2-5d6e-40b2-a050-097d068c4c11", "name": "Contrato 1" }
]
}
}

Evento de faturamento​

InvoiceClosed​

O Signer envia este evento quando uma fatura é fechada. O evento não usa o webhook da organização. Ele usa o webhook de faturamento da instância, que o administrador do sistema configura. O data deste evento não tem os campos comuns dos eventos de documento.

CampoTipoDescrição
idnúmeroO id da fatura.
monthnúmeroO mês da fatura.
yearnúmeroO ano da fatura.
valuenúmeroO valor da fatura.
invoiceTotalslistaOs totais por tipo de transação. Cada item tem transactionType, price, total, totalInTrialPeriod e value.
organizationobjetoA organização da fatura, com os mesmos campos de organization dos campos comuns.
billingInformationobjetoOs dados de faturamento da organização, como contactName, email, phone e o endereço.
totalStorageUsednúmeroO armazenamento total usado, em bytes.

O exemplo abaixo não mostra todos os campos de invoiceTotals e de billingInformation:

{
"type": "InvoiceClosed",
"data": {
"id": 1042,
"month": 9,
"year": 2026,
"value": 480.00,
"invoiceTotals": [
{ "transactionType": "Document", "total": 120, "totalInTrialPeriod": 0, "value": 240.00 },
{ "transactionType": "Signature", "total": 240, "totalInTrialPeriod": 0, "value": 240.00 }
],
"organization": {
"id": "5f2c9a71-3e8d-4a12-bb90-6d4e2f1c8a33",
"name": "Acme S.A.",
"identifier": "11222333000181",
"owner": null
},
"billingInformation": {
"contactName": "Financeiro Acme",
"email": "financeiro@acme.com.br",
"phone": "+55 61 3000-0000"
},
"totalStorageUsed": 734003200
}
}

Veja também​

Ver em Markdown