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:
Status | Momento de disparo |
---|---|
Paid | Quando uma fatura for paga |
Pending | Na criação ou atualização de fatura |
Expired | Quando a fatura atingir 30 dias após o vencimento |
Canceled | Quando 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.
"PaymentDate": "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)