WebHook (POSTBack)

Webhooks (POSTBack)


Webhook é uma forma de recebimento de informações quando um evento acontece. O webhook na prática, é a forma de receber informações entre dois sistemas de uma forma passiva.

Na D4Sign, quando um documento for assinado por um signatário, finalizado ou cancelado, ou seja, atingir a fase FINALIZADO ou CANCELADO, iremos disparar um evento HTTP POST para a URL que foi informada no documento.

Além disso, quando um e-mail não for entregue ao signatário, iremos, também, disparar um evento HTTP POST para a URL que foi informada no documento.

O evento que dispara o WEBHOOK ocorre apenas quando o documento for assinado por uma das partes, for finalizado ou cancelado e, também, quando um e-mail não for entregue ao signatário cadastrado.

🚧

O disparo ocorre em FORM-DATA

Retornos enviados para a sua URL via POST (Webhook versão 1.0)

{
    "uuid": "UUID-DOCUMENT",
    "type_post": "1",
    "message": "Finished document"
}
{
    "uuid": "UUID-DOCUMENT",
    "type_post": "2",
    "message": "E-mail not sent",
    "email": "[email protected]"
}
{
    "uuid": "UUID-DOCUMENT",
    "type_post": "3",
    "message": "Cancelled document"
}
{
    "uuid": "UUID-DOCUMENT",
    "type_post": "4",
    "message": "Signed",
    "email": "[email protected]"
}
🚧

ATENÇÃO: IMPORTANT


Retornos enviados para a sua URL via POST (Webhook versão 2.0)

{

    "uuid": "UUID-DOCUMENT",
    "type_post": "1",
    "message": "Finished document",
    "event_datetime": "yyyy-mm-ddThh:mm:ssZ",
    "document_name": "Document name",
    "signers": [
     {
      "uuid": "signer uuid",
      "email": "[email protected]",
      "name": "John Doe",
      "signed_at": "yyyy-mm-ddThh:mm:ssZ",
      "identification_number": "Signer Identification Number"
     }
   ]
}
{
    "uuid": "UUID-DOCUMENT",
    "type_post": "2",
    "message": "E-mail not sent",
    "event_datetime": "yyyy-mm-ddThh:mm:ssZ",
    "document_name": "Document name",
    "signer": {
      "uuid": "Signer uuid",
      "email": "[email protected]"
    },
    "error_details": {
    "category": "General error category",
    "reason": "Delivery failure reason or subtype",
    "smtp_code": "SMTP server response error code",
    "diagnostic_message": "Complete diagnostic message returned by e-mail server"
  }
}
{
    "uuid": "UUID-DOCUMENT",
    "type_post": "3",
    "message": "Cancelled document",
    "event_datetime": "yyyy-mm-ddThh:mm:ssZ",
    "document_name": "Document name",
    "cancellation_message": "Cancel message sent by sender"
}
{
    "uuid": "UUID-DOCUMENT",
    "type_post": "4",
    "message": "Signed",
    "event_datetime": "yyyy-mm-ddThh:mm:ssZ",
    "signer": {
      "uuid": "Signer UUID", // If signer doesn't have an account, value is 'Null' ,
      "email": "[email protected]",
      "identification_number": "Signer Identification Number" // If signer doesn't have an account, value is 'Null'
              }
}
🚧

ATENÇÃO: Sugerimos a utilização http://requestcatcher.com/ para os testes. Esses serviços fornecem uma URL que irá coletar as requisições HTTP para apresentá-las de forma fácil.

Tentativas de disparo

Se a URL cadastrada no documento estiver indisponível, tentaremos efetuar 6 novas requisições, conforme abaixo:

Tentativa 1: 0 min.
Tentativa 2: após 1 hora.
Tentativa 3: após 1 hora.
Tentativa 4: após 1 hora.
Tentativa 5: após 6 horas.
Tentativa 6: após 6 horas.
Tentativa 7: após 12 horas.

Portanto, o webhook será perdido somente se a URL cadastrada estiver indisponível por mais de 27 horas.