Webhooks
Webhooks ou notificações são chamadas que o cel_payments faz na sua aplicação. Ou seja, você prepara um script para ler um conteúdo JSON que enviamos a você e fazer alguma rotina no seu sistema.
Eles são usados para que você possa manter o seu sistema sincronizado com o nosso em caso de mudanças que ocorrem após ou fora do fluxo direto da API. Exemplo: um boleto gerado pode ser pago a qualquer momento. Para que seu sistema possa atualizar o status de pagamento quando for pago, te enviaremos o webhook transaction.updateStatus com as informações atualizadas.
Regras
- Sua url deverá responder em até 5 segundos
- Não seguimos redirecionamentos. Enviamos o conteúdo para url exata que tiver sido cadastrada. Se você possuir https, por exemplo, coloque já a url com https no webhooks.
- Se sua url não responder com um código 2xx, tentaremos enviar o webhook novamente mais 5 vezes em intervalos progressivos durante aproximadamente 48 horas. Após isso, não tentaremos mais.
- A estrutura da API suporta apenas uma URL de webhook por conjunto de conta e subcontas. A URL de webhook deve ser cadastrada na conta master, e todas as subcontas herdarão essa configuração. Não é possível configurar URLs de webhook distintas por subconta. Para identificar a qual subconta um evento pertence, utilize o campo 'confirmHash', enviado no corpo do webhook.
Segurança
Juntamente com todos os webhooks enviamos um hash para que você possa ter certeza que foi o cel_payments que te enviou a requisição e não um terceiro tentando invadir seu sistema. O hash de segurança é retornado no campo confirmHash ao alterar a url do webhook pelo endpoint webhooks ou caso a alteração seja feita pelas configurações do sistema. Não confie em webhooks enviados por IPs que não estejam listados abaixo:
Atenção: Esses IPs podem ser alterados sem aviso prévio)
IPS de produção: 54.232.59.251 e 54.232.204.133 IP de sandbox: 54.207.173.93
Tipos de webhooks disponíveis
| Campo | Descrição |
|---|---|
| transaction.updateStatus | Será enviado quando uma transação tiver seu status de pagamento alterado. Vai conter todos os dados da entidade Transaction. |
| contract.accepted | Será enviado quando o cliente aceitar o contrato digital. Vai conter todos os dados da entidade Charge ou Subscription, variando do tipo de cobrança. |
| subscription.addTransaction | Será enviado quando uma transação for adicionada em uma assinatura. Vai conter todos os dados da entidade Transaction. |
| transaction.updateInvoice | Será enviado quando houver informações de atualização do status de nota fiscal |
| company.cashOut | Será enviado quando um pagamento Pix ou um Saque/Transferência for realizado no sistema. |
| company.verifyDocuments | Informações de atualização do status de aprovação de conta |
| chargeback.update | Será enviado quando uma abertura de disputa for criada no sistema. Vai conter todos os dados da entidade Chargeback, além de conter alguns dados da entidade Transaction e PaymentBill. |
| company.internalTransfer | Será enviado quando uma transferência interna for realizada. Vai conter todos os dados da entidade Transaction. |
Updated about 2 hours ago