Webhooks

Receba notificações referentes aos status de consentimento e pagamentos através do Brick Bank®!

Introdução

Utilize nossos webhooks para estender o funcionamento do Brick Bank® e adequar a integração de acordo com as suas necessidades.

📘

Integração

Este é um trabalho feito sob medida para a realidade de cada cliente e, por isso, reuniões de alinhamento serão necessárias para entendimento da situação.

Gatilhos

Os gatilhos são responsáveis pela execução de um webhook e podem estar situados em diferentes momentos dentro de um fluxo.

Consentimento

Os gatilhos relacionados ao consentimento estão associados à sua própria máquina de estados. Veja abaixo:

Gatilhos na máquina de estados do consentimento.

Gatilhos na máquina de estados do consentimento*.

* Os status PARTIALLY_ACCEPTED e CONSUMED são exclusivos da jornada de pagamentos.
Todos os demais valem para ambas as jornadas: compartilhamento de dados e pagamentos.

🚧

Atenção!

Os dados de consentimento devem ser armazenados na sua instituição de forma idêntica aos dados enviados pelo Brick Bank®!

A tabela a seguir lista todos os webhooks disponíveis para utilização:

DescriçãoEscopoO que é enviado?
Criação do consentimentoTransmissora de Dados e Detentora de ContasDados do consentimento
Atualização do status do consentimentoTransmissora de Dados e Dententora de ContasconsentId e status do consentimento
CallbackReceptora de DadosInformações de callback

Exemplos:

(1) Utilize o gatilho de "Criação do consentimento" para ser avisado sempre que um consentimento for criado. Alguns clientes utilizam para armazenar os dados do consentimento em suas próprias bases de dados.

{
   "body":{
      "loggedUser":{
         "document":{
            "identification":"12345678911",
            "rel":"CPF"
         }
      },
      "permissions":[
         "RESOURCES_READ",
         "CUSTOMERS_PERSONAL_IDENTIFICATIONS_READ",
         "CUSTOMERS_PERSONAL_ADITTIONALINFO_READ",
         "ACCOUNTS_READ",
         "ACCOUNTS_OVERDRAFT_LIMITS_READ",
         "ACCOUNTS_TRANSACTIONS_READ",
         "ACCOUNTS_BALANCES_READ",
      ],
      "expirationDateTime":"2024-12-31T00:00:00Z",
      "applicantId":{applicantId},
      "applicantSoftwareId":{applicantSoftwareId},
      "kind":"DATA",
      "fapiInteractionId":{fapiInteractionId},
      "consentId":"urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
      "creationDateTime":"2024-01-24T21:49:38.235Z",
      "statusUpdateDateTime":"2024-01-24T21:49:38.235Z",
      "status":"AWAITING_AUTHORISATION"
   }
}
{
    "creditor": {
        "personType": "PESSOA_NATURAL",
        "cpfCnpj": "12345678912",
        "name": "Joao Silva"
    },
    "debtorAccount": {
        "ispb": "12345678",
        "issuer": "0001",
        "number": "123456",
        "accountType": "CACC"
    },
    "payment": {
        "type": "PIX",
        "date": "2024-02-07",
        "currency": "BRL",
        "amount": "1.15",
        "ibgeTownCode": "5300108",
        "details": {
            "localInstrument": "DICT",
            "proxy": "[email protected]",
            "creditorAccount": {
                "ispb": "12345678",
                "issuer": "0001",
                "number": "12345678",
                "accountType": "CACC"
            }
        }
    },
    "idempotencyKey": "c4975f42-f870-4d6e-a090-b76165a06f1e",
    "version": 3,
    "creationDateTime": "2024-02-07T13:09:31.953Z",
    "status": "AWAITING_AUTHORISATION",
    "statusUpdateDateTime": "2024-02-07T13:09:31.953Z",
    "expirationDateTime": "2024-02-07T13:14:31.953Z",
    "loggedUser": {
        "document": {
            "identification": "12345678912",
            "rel": "CPF"
        }
    },
    "kind": "PAYMENT",
    "fapiInteractionId": "4ba57ccc-f064-4e69-8324-d4ececcedccb",
    "applicantId": "c55ceb2e-c9fb-4989-8ed1-39208d6d7951",
    "applicantSoftwareId": "088b5109-6b6c-4fbb-a9a2-cdf7edd564f5",
    "transactions": [],
    "events": [
        {
            "date": "2024-02-07T13:09:31.953Z",
            "event": "AWAITING_AUTHORISATION"
        }
    ],
    "consentId": "urn:bricks-dev:2a8c534c-eadc-488d-872c-e51a687ebb95",
    "consentTerm": 0,
    "consentTermUnit": "M",
    "organizationName": "Finansystech Banking Dev",
    "organizationLogo": "https://finansystech-pub.s3.sa-east-1.amazonaws.com/f_logo.svg"
}


        {
            "date": "2024-01-12T15:27:37.137Z",
            "event": "PAYMENT_REQUEST_RECEIVED"
        }
    ],
    "consentId": "urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
    "consentTerm": 0,
    "consentTermUnit": "M",
    "organizationName": "Finansystech Banking Dev",
    "organizationLogo": "https://finansystech-pub.s3.sa-east-1.amazonaws.com/f_logo.svg"
}

(2) Utilize o gatilho "Atualização do status do consentimento" para ser avisado sempre que o status do consentimento for alterado. Alguns clientes utilizam para executar rotinas específicas a depender do status;

{
   "data":{
      "consentId":"urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
      "brandId":"b67b59ad-da84-4bfc-be3a-eeb6f8533953",
      "brandName":"Brick Bank Demo",
      "createdDateTime":"2024-01-24T21:21:03",
      "expirationDateTime":"2025-01-24T03:00:01",
      "loggedUser":"12345678911",
      "status":"AUTHORISED",
   },
   "permissions":[
      "BANK_FIXED_INCOMES_READ",
      "LOANS_WARRANTIES_READ",
      "LOANS_PAYMENTS_READ",
      "LOANS_SCHEDULED_INSTALMENTS_READ",
      "FINANCINGS_READ",
      "FINANCINGS_WARRANTIES_READ",
      "FINANCINGS_PAYMENTS_READ",
      "FINANCINGS_SCHEDULED_INSTALMENTS_READ",
      "RESOURCES_READ"
   ],
   "event":"AUTHORISED",
   "eventDate":"2024-01-24T21:21:28"
}
{
    "creditor": {
        "personType": "PESSOA_NATURAL",
        "cpfCnpj": "12345678912",
        "name": "Joao Silva"
    },
    "debtorAccount": {
        "ispb": "12345678",
        "issuer": "0001",
        "number": "123456",
        "accountType": "CACC"
    },
    "payment": {
        "type": "PIX",
        "date": "2024-02-07",
        "currency": "BRL",
        "amount": "1.15",
        "ibgeTownCode": "5300108",
        "details": {
            "localInstrument": "DICT",
            "proxy": "[email protected]",
            "creditorAccount": {
                "ispb": "12345678",
                "issuer": "0001",
                "number": "12345678",
                "accountType": "CACC"
            }
        }
    },
    "idempotencyKey": "c4975f42-f870-4d6e-a090-b76165a06f1e",
    "version": 3,
    "creationDateTime": "2024-02-07T13:09:31.953Z",
    "status": "AWAITING_AUTHORISATION",
    "statusUpdateDateTime": "2024-02-07T13:09:31.953Z",
    "expirationDateTime": "2024-02-07T13:14:31.953Z",
    "loggedUser": {
        "document": {
            "identification": "12345678912",
            "rel": "CPF"
        }
    },
    "kind": "PAYMENT",
    "fapiInteractionId": "4ba57ccc-f064-4e69-8324-d4ececcedccb",
    "applicantId": "c55ceb2e-c9fb-4989-8ed1-39208d6d7951",
    "applicantSoftwareId": "088b5109-6b6c-4fbb-a9a2-cdf7edd564f5",
    "transactions": [],
    "events": [
        {
            "date": "2024-02-07T13:09:31.953Z",
            "event": "AWAITING_AUTHORISATION"
        }
    ],
    "consentId": "urn:bricks-dev:2a8c534c-eadc-488d-872c-e51a687ebb95",
    "consentTerm": 0,
    "consentTermUnit": "M",
    "organizationName": "Finansystech Banking Dev",
    "organizationLogo": "https://finansystech-pub.s3.sa-east-1.amazonaws.com/f_logo.svg"
}
        {
            "date": "2024-01-12T15:27:37.137Z",
            "event": "PAYMENT_REQUEST_RECEIVED"
        },
        {
            "date": "2024-01-12T15:26:25.984Z",
            "event": "REDIRECTED"
        },
        {
            "date": "2024-01-12T15:26:30.690Z",
            "event": "LOGGED"
        },
        {
            "date": "2024-01-12T15:26:40.648Z",
            "event": "AUTHORISED"
        },
        {
            "date": "2024-01-12T15:26:40.721Z",
            "event": "CODE_GENERATED"
        },
        {
            "date": "2024-01-12T15:26:45.955Z",
            "event": "TOKEN_GENERATED"
        },
        {
            "date": "2024-01-12T15:26:53.898Z",
            "event": "PAYMENT_REQUEST_RECEIVED"
        },
        {
            "date": "2024-01-12T15:27:20.595Z",
            "event": "PAYMENT_REQUEST_RECEIVED"
        },
        {
            "date": "2024-01-12T15:27:37.137Z",
            "event": "PAYMENT_REQUEST_RECEIVED"
        },
        {
            "date": "2024-01-12T16:26:58.349Z",
            "event": "REJECTED"
        },
    ],
    "consentId": "urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
    "consentTerm": 0,
    "consentTermUnit": "M",
    "organizationName": "Finansystech Banking Dev",
    "organizationLogo": "https://finansystech-pub.s3.sa-east-1.amazonaws.com/f_logo.svg"
}

(3) Utilize o gatilho "Callback" para ser avisado sempre que o callback for acionado pela sua instituição. Alguns clientes utilizam para notificar diferentes serviços internos que compõe o processo do fluxo de consentimento.

{
   "data":{
         "access_token":{accessToken},
         "expires_at":1706044978,
         "id_token": {idToken},
         "scope":"openid resources customers credit-cards-accounts accounts consent:urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
         "token_type":"Bearer",
         "consent_id":"urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
         "kind":"DATA"
     {
      "consent":{
         "permissions":[
            "RESOURCES_READ",
            "CUSTOMERS_PERSONAL_ADITTIONALINFO_READ",
            "CUSTOMERS_PERSONAL_IDENTIFICATIONS_READ",
            "ACCOUNTS_READ",
            "ACCOUNTS_OVERDRAFT_LIMITS_READ",
            "ACCOUNTS_BALANCES_READ",
            "ACCOUNTS_TRANSACTIONS_READ"
         ],
},
         "creationDateTime":"2024-01-23T21:05:54.000Z",
         "status":"AUTHORISED",
         "statusUpdateDateTime":"2024-01-23T21:05:54.000Z",
         "expirationDateTime":"2025-01-23T00:00:00.000Z",
         "loggedUser":{
            "document":{
               "identification":"12345678911",
               "rel":"CPF"
            }
         },
         "consentId":"urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
         "organizationName":"Brick Bank Demo",
         "organizationLogo":"https://aa.openfinance.celcoin.dev/logo.svg"
      }
   }
}
{
   "data":{
         "access_token":{accessToken},
         "expires_at":1706044978,
         "id_token": {idToken},
         "scope":"openid payments consent:urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
         "token_type":"Bearer",
         "consent_id":"urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
         "kind":"PAYMENT"
     {
        "consent": {
            "creditor": {
                "personType": "PESSOA_NATURAL",
                "cpfCnpj": "12345678911",
                "name": "José Silva"
            },
         "payment": {
                "type": "PIX",
                "date": "2024-02-07",
                "currency": "BRL",
                "amount": "1.15",
                "ibgeTownCode": "5300108",
                "details": {
                    "localInstrument": "MANU",
                    "creditorAccount": {
                        "ispb": "12345678",
                        "issuer": "0001",
                        "number": "123456",
                        "accountType": "CACC"
                    }
                }
            },
         "creationDateTime":"2024-01-23T21:05:54.000Z",
         "status":"AUTHORISED",
         "statusUpdateDateTime":"2024-01-23T21:05:54.000Z",
         "expirationDateTime":"2025-01-23T00:00:00.000Z",
         "loggedUser":{
            "document":{
               "identification":"12345678911",
               "rel":"CPF"
            }
         },
         "consentId":"urn:bricks-dev:ab91e41f-9996-41c8-aa32-960e7514de6a",
         "organizationName":"Brick Bank Demo",
         "organizationLogo":"https://aa.openfinance.celcoin.dev/logo.svg"
      }
   }
}

🚧

Atenção!

Os exemplos acima são apenas para fins de entendimento. Os valores reais e as URLs serão definidos nas reuniões de integração.

Pagamento

Nossa plataforma possui todas as funcionalidades de webhook para a fase 3 de pagamentos de acordo com a especificação do Open Finance Brasil.

  • Detentor de Contas: disponibilizamos uma API para que a sua instituição notifique o Iniciador de Pagamentos quando o pagamento passar por alterações de status;
  • Iniciador de Pagamentos: possuímos dentro da plataforma a possibilidade de receber as notificações dos Detentores de Contas do ecossistema, evitando a necessidade de realizar polling para obter o último status de pagamento.

📘

Não encontrou seu webhook?

Entre em contato para entendermos sua necessidade e avaliarmos como podemos ajudar.