Webhook é um recurso usado para que a Educbank se comunique com outra ferramenta, fornecendo dados sempre que um evento acontecer. Desta forma os dois sistemas realizam troca de informações sem que nenhuma ação externa precise ser realizada.

O Educbank irá efetuar 10 tentativas de envio, caso seu sistema responda com um código HTTP diferente de 2xx. As retentativas são enviadas em intervalos progressivos durante aproximadamente 10 horas.

É importante salientar que caso o endpoint responda 2xx para o Educbank a notificação será dada como entregue com sucesso.

Tipos de eventos e payload enviados.

Invoice.Changed
Será disparado sempre que uma fatura tiver o seu status alterado.

Lista com os possíveis status:

StatusMomento de disparo
PaidQuando uma fatura for paga
PendingNa criação ou atualização de fatura
ExpiredQuando a fatura atingir 30 dias após o vencimento
CanceledQuando uma fatura for cancelada

Exemplo de payload enviado

// será encaminhado um json no seguinte formato 
{
  "InvoiceId": string //Id Educbank (UUID)
  "Status": string // Status da fatura (Paid, Pending, Expired, Canceled)
  "ExternalId": string // Id no ERP (Id enviado pelo parceiro)
  "PaidMethod": "credit_card|bank_slip|pix|debit_card|financial_agreement|school", //O método de pagamento realizado pelo responsável financeiro.
  "PaidDate": "2021-01-01T00:00:00Z", // A data de pagamento efetuado pelo responsável financeiro.
  "TotalDiscountCents": 0, // O valor do desconto aplicado em centavos.
  "TotalFineCents": 0, // O valor da multa e juros aplicados em centavos.
  "TotalPaidCents": 0, // O valor total pago em centavos.
}

🚧

Atenção

  • É importante que o sistema parceiro garanta que o InvoiceId e o ExternalId sejam ambos encontrados no sistema para executarem qualquer ação necessária na mudança do status.

  • O Educbank só irá enviar requests com o protocolo HTTP no ambiente de Sandbox, no ambiente de produção só enviaremos o protocolo HTTPS

Autorização

O Educbank irá fazer a autenticação no sistema parceiro através de um Basic Authentication, por isso é importante no cadastro do Webhook informar o token no formato Base64.

📘

Como transformar o login em base64:

  • Linux
    echo -n 'USUÁRIO:SENHA' | base64
  • Windows PowerShell
    $auth = [System.Text.Encoding]::UTF8.GetBytes("USUÁRIO:SENHA")[System.Convert]::ToBase64String($auth)