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


CampoDescrição
transaction.updateStatusSerá enviado quando uma transação tiver seu status de pagamento alterado. Vai conter todos os dados da entidade Transaction.
contract.acceptedSerá 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.addTransactionSerá enviado quando uma transação for adicionada em uma assinatura. Vai conter todos os dados da entidade Transaction.
transaction.updateInvoiceSerá enviado quando houver informações de atualização do status de nota fiscal
company.cashOutSerá enviado quando um pagamento Pix ou um Saque/Transferência for realizado no sistema.
company.verifyDocumentsInformações de atualização do status de aprovação de conta
chargeback.updateSerá 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.internalTransferSerá enviado quando uma transferência interna for realizada. Vai conter todos os dados da entidade Transaction.