Webhooks

A Plataforma de Crédito utiliza webhooks no processo de originação para informar o originador dos eventos relativos à processos assíncronos da plataforma:

Modelo de Notificação:

{
  "payload": {},
  "createdAt": "2023-05-04T18:53:03.775698Z",
  "type": "TYPE"
}
📘

Todos os eventos são enviados à mesma URL de webhook com o campo type indicando o formato esperado da propriedade payload. O integrador deve mapear os eventos possíveis, e dentro de sua aplicação, dar o tratamento correto aos diferentes formatos de payload

Tipos de Eventos

Temos 3 tipos possíveis de eventos:

APPLICATION_STATUS_UPDATED: Indica atualizações no status de uma Solicitação.

PERSON_DOCUMENT_STATUS_UPDATED: Indica atualizações no status de um documento para uma Pessoa.

BUSINESS_DOCUMENT_STATUS_UPDATED: Indica atualizações no status de um documento para uma Empresa.

APPLICATION_STATUS_UPDATED:

Eventos da Solicitação: Depois que uma solicitação é enviada, ela passa por vários status. Toda vez que essa alteração ocorre, um webhook é acionado para que o originador possa manter o controle do processo de originação. Os status da Solicitação são descritos na página sobre Status de Solicitações.

Exemplo:

{
  "payload": {
    "application_id": "dc9f7774-4ec5-4876-a36e-0d89b8001bfc",
    "status": "PENDING_SIGNATURE"
  },
  "createdAt": "2023-05-04T18:53:03.775698Z",
  "type": "APPLICATION_STATUS_UPDATED"
}

A partir do application_id informado neste webhook, é possível consultar a Solicitação para inspecionar o estado atual do sistema.

PERSON_DOCUMENT_STATUS_UPDATED e BUSINESS_DOCUMENT_STATUS_UPDATED:

{
  "payload": {
    "document_id": "9075aef9-0ad7-4f62-8ec9-10da2336ab0e",
    "status": "OK"
  },
  "createdAt": "2023-06-22T16:07:36.832Z",
  "type": "PERSON_DOCUMENT_STATUS_UPDATED"
}

Documentos podem estar em 2 status: "OK" e "PENDING".

OK: Indica que o documento foi cadastrado com sucesso.

PENDING: Indica que o documento está passando por uma avaliação assíncrona.

A partir do document_id recebido, o integrador pode consultar o documento referido utilizando os endpoints de documento.

📘

É esperado que a maior parte dos documentos transitem para o status OK diretamente. Em alguns casos, o documento passará brevemente pelos status PENDING. Caso um documento passe mais de 5 minutos em PENDING, entre em contato com seu Gerente de Conta Celcoin.


📘

Webhooks estão disponíveis apenas para originadores.


Gestão de Webhooks

Esta seção detalha as possíveis para cadastrar o webhook de originador.


1. Listar Webhooks Cadastrados

Use o método GET para recuperar o webhooks cadastrado.

Método: GET
Endpoint: /banking/originator/webhooks

Exemplo de Requisição (cURL)

curl --location '[https://sandbox.platform.flowfinance.com.br/banking/originator/webhooks](https://sandbox.platform.flowfinance.com.br/banking/originator/webhooks)' \
--header 'Authorization: SEU_TOKEN_DE_AUTORIZACAO' \
--data ''

 

2. Cadastrar um Novo Webhook

Utilize o método POST para cadastrar um novo webhook no sistema.

Método: POST

Endpoint: /banking/originator/webhooks Content-Type: application/json

Exemplo de Requisição (cURL)

curl --location '[https://sandbox.platform.flowfinance.com.br/banking/originator/webhooks](https://sandbox.platform.flowfinance.com.br/banking/originator/webhooks)' \
--header 'Authorization: SEU_TOKEN_DE_AUTORIZACAO' \
--header 'Content-Type: application/json' \
--data '{
    "url": "[https://www.dominio.com/webhooks](https://www.dominio.com/webhooks)"
}'

3. Atualizar um Webhook Existente

Método: PUT

Endpoint: /banking/originator/webhooks/{webhook_id} Content-Type: application/json

Exemplo de Requisição (cURL)


curl --location --globoff --request PUT 'https://sandbox.platform.flowfinance.com.br/banking/originator/webhooks/{{webhook_id}}' \
--header 'Authorization:  \
--header 'Content-Type: application/json' \
--data '{
    "url": "https://www.dominio.com/webhooks"
}'

4. Excluir um Webhook

Para remover um webhook , utilize o método DELETE, especificando o ID na rota.

Método: DELETE

Endpoint: /banking/originator/webhooks/{webhook_id}


Exemplo de Requisição (cURL)


curl --location --request DELETE '[https://sandbox.platform.flowfinance.com.br/banking/originator/webhooks/WEBHOOK_ID](https://sandbox.platform.flowfinance.com.br/banking/originator/webhooks/WEBHOOK_ID)' \
--header 'Authorization: SEU_TOKEN_DE_AUTORIZACAO'

Lembrete: Não há corpo de requisição (--data) na requisição DELETE. Certifique-se de substituir WEBHOOK_ID pelo identificador correto.