Fluxo de Integração
Realizar compartilhamento de dados via CIBA
O fluxo abaixo representa a interação da Receptora de Dados com uma Transmissora de Dados para o compartilhamento de dados via Open Finance, utilizando a autenticação desacoplada (backchannel) do protocolo CIBA. Perceba que:
- toda a comunicação entre a Receptora de Dados e a Transmissora de Dados é feita através da plataforma Celcoin;
- o usuário não é redirecionado entre as instituições: a autenticação e a decisão sobre o consentimento acontecem no canal digital da Transmissora de Dados; e
- qualquer acesso aos dados deverá ser viabilizado pela própria Transmissora de Dados, que é o backend dos dados.
Para visualizar o diagrama de sequência completo, acesse Diagrama de sequência da jornada CIBA.
Criação do consentimento
- O usuário solicita o compartilhamento de seus dados via Open Finance junto à instituição Receptora de Dados [1];
- A Receptora de Dados obtém um token de acesso sistêmico junto à Celcoin, por meio da chamada
POST /tokencom o grant typeclient_credentials[2]; - A Receptora de Dados solicita a criação do consentimento de dados à Celcoin, por meio da chamada
POST /consents[3]; - O consentimento é criado com o status
AWAITING_AUTHORISATION;
Início do protocolo CIBA
- A Receptora de Dados solicita a autenticação CIBA à Celcoin, por meio da chamada
POST /bc-authorize[4]; - A Celcoin encaminha a solicitação de autenticação CIBA à Transmissora de Dados, por meio da chamada
POST /internal-bc-authorize[5];
Ponto de atençãoA Transmissora de Dados deve disponibilizar um endpoint para receber a chamada
POST /internal-bc-authorize. Esta é uma ação do cliente, obrigatória para que o fluxo CIBA prossiga para os passos das aprovações.
- A Transmissora de Dados notifica o usuário (ou os aprovadores do consentimento) sobre o pedido de compartilhamento de dados [6];
Autenticação e decisão do usuário
- O usuário realiza a autenticação no canal digital da Transmissora de Dados [7];
- O usuário aprova ou rejeita o consentimento na Transmissora de Dados [8];
Aprovação do compartilhamento
- A Transmissora de Dados notifica a aprovação do consentimento à Celcoin, por meio da chamada
POST /api/admin/v1/organizations/{{client_name}}/backchannel/{{authReqId}}/consent[9]; - A Celcoin notifica a aprovação à Receptora de Dados, por meio da chamada
POST /cbcom oauthorization_code[10]; - O status do consentimento é alterado para
AUTHORISED; - A Receptora de Dados obtém o token de acesso do cliente junto à Celcoin, por meio da chamada
POST /tokencom oauth_req_id[13]; - A Receptora de Dados consulta a API de Recursos na Celcoin, por meio da chamada
GET /resources/v3/resources[14]; e - A Celcoin encaminha a consulta à Transmissora de Dados, que é o backend dos dados, por meio da chamada
GET /resources/v3/resources[15].
Rejeição do compartilhamento
- A Transmissora de Dados notifica a rejeição do consentimento à Celcoin, por meio da chamada
POST /api/admin/v1/organizations/{{client_name}}/backchannel/{{authReqId}}/cancel[11]; - A Celcoin notifica a rejeição à Receptora de Dados, por meio da chamada
POST /cb[12]; - O status do consentimento é alterado para
REJECTED.
Endpoints do fluxo
| Passo | Origem | Destino | Endpoint |
|---|---|---|---|
| [2] | Receptora de Dados | Celcoin | POST /token (client_credentials) |
| [3] | Receptora de Dados | Celcoin | POST /consents |
| [4] | Receptora de Dados | Celcoin | POST /bc-authorize |
| [5] | Celcoin | Transmissora de Dados | POST /internal-bc-authorize |
| [9] | Transmissora de Dados | Celcoin | POST /api/admin/v1/organizations/{{client_name}}/backchannel/{{authReqId}}/consent |
| [10] | Celcoin | Receptora de Dados | POST /cb (authorization_code) |
| [11] | Transmissora de Dados | Celcoin | POST /api/admin/v1/organizations/{{client_name}}/backchannel/{{authReqId}}/cancel |
| [12] | Celcoin | Receptora de Dados | POST /cb |
| [13] | Receptora de Dados | Celcoin | POST /token (auth_req_id) |
| [14] | Receptora de Dados | Celcoin | GET /resources/v3/resources |
| [15] | Celcoin | Transmissora de Dados | GET /resources/v3/resources |
Especificação das APIs
Para consultar a especificação completa de cada API (parâmetros, exemplos de requisição e códigos de resposta), acesse:
- Realiza a aprovação do consentimento fluxo CIBA: API da Celcoin chamada pela Transmissora de Dados;
- Realiza o cancelamento do consentimento fluxo CIBA: API da Celcoin chamada pela Transmissora de Dados; e
- Recebe a solicitação de autenticação CIBA: API que deve ser disponibilizada pela Transmissora de Dados.
Updated about 1 hour ago
Did this page help you?