...
A documentação funcional pode ser encontrada em ...Plataforma de Coleta de Métricas
Procedimento de integração
...
Os endereços base em cada ambiente, bem como suas respectivas datas de validade são os abaixo:
Ambiente | Endereço | Tipo | Validade |
---|---|---|---|
Sandbox | API | Indeterminada | |
Autenticação | |||
Piloto | API | Disponível até 31/01/2023 | |
Autenticação | |||
Produção | API | Disponível a partir de 01/02/2023 | |
Autenticação |
Autenticação
O procedimento segue o fluxo de client_credentials
da especificação oauth2, sendo que o acesso ao endpoint precisa ser feito usando uma conexão mTLS. As credenciais, bem como os certificados aceitos em cada um dos ambientes estão descritos abaixo:
Ambiente | Credenciais | Certificados |
---|---|---|
Sandbox/Piloto | client_id do Software Statement do diretório de sandbox | Certificado emitido pelo diretório central de sandbox |
Produção | client_id do Software Statement do diretório de produção | Certificado emitido por autoridade certificadora aceita pelo ecossistema [1] |
O endpoint de recuperação de token é:
...
Para recuperar um token é necessário fazer uma chamada POST usando um payload com os seguintes campos:
client_id |
|
grant_type | Fixo: |
Não há a necessidade do envio do client_secret
, uma vez que a camada de transporte via certificado cliente já assegura a autenticidade do chamador.
Os campos relevantes devolvidos por esse endpoint são:
access_token | Token no padrão jwt para acesso às APIs |
expires_in | Número de segundos em que o token é válido |
token_type | O tipo do token fornecido (nesse caso, Bearer) |
Exemplo
Envio de um request para o endereço de autenticação em sandbox:
...
Bloco de código |
---|
POST https://api.pcm.sandbox.openfinancebrasil.org.br/report-api/v1/private/report Content-Type: application/json Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkFiT [ { "timestamp": "2022-08-31T17:43:13.622Z", "fapiInteractionId": "e67824fa-6b4d-448c-8101-304407259552", "endpoint": "/open-banking/customers/v2/personal/financial-relations", "statusCode": 200, "httpMethod": "GET", "processTimespan": 120, "clientOrgId": "c160a6f5-e5df-5067-9e97-ec6fba62fd87", "serverOrgId": "2a01e202-e8f0-5f5a-9651-ebc257371e6e", } ] |
Resposta
Bloco de código |
---|
200 Ok Content-Type: application/json { "reportId": "9737cc7f-9854-4f57-aec6-7f1778c642d4", "status": "ACCEPTED" } |
...
Bloco de código |
---|
{ “role”: “CLIENT”, "timestamp": "2022-08-31T17:43:13.622Z", "fapiInteractionId": "cd9a2e6b-0c33-403b-a8dd-544e95c63cd8", "endpoint": "/invalid_endpoint", “additionalInfo”: { “consentId”: “uri:banrisul:6096c7f6-53a0-4c53-bc95-9c8d48b9a6cf“, “personType”: “PF“ } "statusCode": 200, "httpMethod": "GET", "processTimespan": 120, "clientSSId": "clientSSId", "endpointUriPrefix": "https://openbanking.instituicao.com.br/namespace" } |
...