Com relação ao Informe #544, a Instrução Normativa 441 definiu métricas de acompanhamento para a taxa de conversão.
Com a intenção de manter a Estrutura com clareza em relação as etapas dos fluxos de redirecionamento, foram criados endpoints para que os reports da PCM possam ser realizados em cada etapa das jornadas e com seus devidos parâmetros (OS, versão e plataforma).
Para que os reports dos parâmetros sejam devidamente enviados para a PCM, a plataforma Brick Bank disponibilizou duas maneiras diferentes:
Envio dos parâmetros via payload
Transmissora de Dados / Detentora de Contas
Os parâmetros devem ser enviados nas etapas de login, aprovação e cancelamento do consentimento, conforme os exemplos abaixo:
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/client_name/consents/v1/interactions/interactionId/login \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2ODI1MTUyMjgsImV4cCI",
"device": {
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX"
}
}
'
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/client_name/consents/v1/interactions/interactionId/consent \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"partialApproval": false,
"debtorAccount": {
"ispb": "37241230",
"issuer": "0001",
"number": "4261073573",
"accountType": "CACC"
},
"device": {
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX"
}
}
'
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/client_name/consents/v1/interactions/interactionId/cancel \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"device": {
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX"
}
}
'
Receptoras de Dados / ITPs
Os parâmetros devem ser enviados nas etapas de solicitação de consentimento e callback, conforme os exemplos abaixo:
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/admin/payment-initiation/v1/consents \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"data": {
"loggedUser": {
"document": {
"identification": "12345678909",
"rel": "CPF"
}
},
"creditor": {
"personType": "PESSOA_NATURAL",
"cpfCnpj": "55155114845",
"name": "HOMOLOGACAO PIX"
},
"payment": {
"type": "PIX",
"schedule": {
"single": {
"date": "2023-11-01"
}
},
"details": {
"localInstrument": "DICT",
"creditorAccount": {
"accountType": "CACC",
"ispb": "92894922",
"issuer": "0001",
"number": "10173722",
"qrCode": "00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012\\nBR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062\\n530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB\\nCD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76\\n"
},
"proxy": "55155114845"
},
"amount": "1.15",
"currency": "BRL",
"ibgeTownCode": "5300108"
},
"debtorAccount": {
"accountType": "CACC",
"ispb": "37241230",
"issuer": "0001",
"number": "4261073573"
}
},
"device": {
"platform": "BROWSER",
"os": "LINUX",
"osVersion": "20.04"
},
"specVersion": "v4",
"brandId": "71b50bd0-2205-4a39-86b9-27d76dc262f4"
}
'
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/admin/payment-initiation/v1/consents/callback \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"code": "zgsChBb0HyjYWeJIg5XI0WVNt1r05heJB3AdH5xvO-d",
"id_token": "eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00iLCJjdHkiOiJKV1QiLCJraWQiOiIxYjBmMTQyYmYzMjY4NmJhMDA4MDM3MTc4MDBlYjlmMDJiMGMwZGE1MDRiNjA4OGU5ZjMxOTIyZWVkNzc2ZTBjIn0.uTCtpUhyIGwcf5JGU7X1bB5HMnERisjjRDdRF2YvL7gPBbx4BYqnMIFRIVcqHFQbndRQN6jJA8fY3YNRpuzQdJ8LEkr2oStfOs8s0yjOQmsMhvcD0pOdi96JjATL2vOrNiV3P6IofRJ1oz_7DOf8ZUWCyHR3Ae5mS5mUjSrj2pYOdKLMjLMZVl06SJTHXFZIJ4nhyQLAYaVfmQvPtgTeZaamc4P7bEkefn-rN4PqFTuL0yVa7CGNzmMBs2oLmyIny2JV1Fhjas1KDEbZf1nYjsXtOHpGFAQNbFIkGlCuuDnfsGaNVFSRe4w951KaXk4T-wjFGu_lJsfnburySL0n6g.4_qKPhk8B44jYNld.HsFUGUNjJsqvyrzJ4IdYP2jh9UpncrHkuOeI0a9lHkN64PA0ajdg7ni4Dm7llLiY4IN-fJn8xQ4ri5Pc34gA2_uEbY7puInEuhnr5hQSrwJ7lbGfnZ6uY_H6lIV4nSDRVob3MGDD67ACyyu7c2YV0dmCBm-yHJXyZU4-u2IvsAsknuLpsAo55ZffdNwGj4epKLzA_PddKePqc-Ml0VnkIbGmSYeuLCtlr4wTxAKlGD0bSYxfuX8tbkM82tZ0UfQcw08F6-VIpFaY4buwIzkG4tRI37v_jNic23pqO6nMxyXQWN3iXM92gNnLAmL9up3-KnV8-6Kr3EOw-XSCQ9pqMtFD8TKDzp3nTp-mkCE9z51E8pakRJs9lsbOmBLvHqYZvNr9P1O1LJ4m5P3FWtz6HqwMXrE-nNLSDwJkEqzsK-nkZKdP_BRoIAdFECa3EpsYhKmVqnPsckgTK_s8YbKGZB6jRXhaatwpaVmoSFnrF7OEwsB-sqXyX2A-OKR99PhMcfLDlWYdkL6iXIp9pzOQozUqza5Cz3uPXz0vm2xJOszSEFn0gnKy2xpuUkvqipLPlb9fSJQW3AQ5iJPGF867w_M8ORzjX86tD08Yt2O2ILARDtT7RSqZ3Q8QJhykBIHh6fjupaNWJBh0tEk3yzRDEYPXcCNDuI-5Aih291ivWxxC9UkBY8U2uNVH_QBXy3OQaUOM-ZhdCyeESrWKihhcljyV5MDxR21ahalnlhsdaqDvAB8LD_YiOpImESsdp-PybLTDmoCkZVUu-qWx4n49v9kkoIwhoGHF7mp_jwWZpTaCkdZmknVDdddFuqZsbGao_QT9mH8pXKjcVxTTzuiaioOq90BS94nOQ0dD9VrtFEj4eevjgwrqUMt3a8xrAFcgX6aQROgHSaDTmvM_GEalav9S7_N2bDfRhEkkpanytg3yehGqsNrms6yI347xKt64bdcZoKVvg6fiHnUCtv3nHJlkzKZPDN0FI0rZF9jVrT29_MR4gHdHqdF-vtmlarE4zQjm9gilqpwWpBX-wAX7tLnnGspTpoSZGHqKGYTNE7K2iWfThCSaMvGM-kFsKyDBJmO7vO70ZRWX8dl3XkviqVRfU3BiBagSNtjNJGYRnz2hMWHkvbaRliuWkEQwYyIfdSkfQeZgo-UCkAItFeQgR1afMVndz6ps.qr_7FTdNE7tbF9ytJggCug",
"state": "jHRHFe9-hltSA15EjIbf6EdcM61nKoQGY5P9NJ2KKvw",
"device": {
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX"
}
}
'
Envio dos parâmetros via API
Se a sua instituição optar por enviar os parâmetros da PCM via API, será necessário integrar com o endpoint /report.
Dessa forma, o backend da sua instituição deverá identificar e reportar a respectiva etapa da jornada:
A Receptora de Dados ou Iniciadora de Pagamentos deve reportar os dados do sistema em que o usuário final iniciou o fluxo de pagamento.
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/journey/v1/consents/consentId/report \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"step": "REDIRECT_TO_SERVER",
"data": {
"uriAuthorizationEndpoint": "https://api.banco.com.br/open-banking/api/v1/resource",
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX"
}
}
'
A Transmissora de Dados ou Detentora de Contas deve reportar os dados do sistema em que o usuário final foi redirecionado.
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/journey/v1/consents/consentId/report \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"step": "REDIRECT_TARGET",
"data": {
"uriAuthorizationEndpoint": "https://api.banco.com.br/open-banking/api/v1/resource",
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX",
"type": "AWAITING_HANDOFF"
}
}
'
A Transmissora de Dados ou Detentora de Contas deve reportar os dados do sistema em que o usuário final realizou a autenticação.
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/journey/v1/consents/consentId/report \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"step": "AUTHENTICATED",
"data": {
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX"
}
}
'
A Transmissora de Dados ou Detentora de Contas deve reportar os dados do sistema em que o usuário final finalizou a jornada para ser redirecionado para a Receptora de Dados ou ITP.
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/journey/v1/consents/consentId/report \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"step": "REDIRECT_TO_CLIENT",
"data": {
"uri_callback": "https://api.banco.com.br/open-banking/api/v1/resource",
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX",
"type": "AUTHORISED"
}
}
'
A Receptora de Dados ou ITP deve reportar os dados do sistema onde a chamada de callback foi realizada com erros.
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/journey/v1/consents/consentId/report \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"step": "REDIRECT_TARGET_WITH_ERRORS",
"data": {
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX",
"error": "Código de erro retornado no payload do Hybrid Flow"
}
}
'
Redirect target without errors
A Receptora de Dados ou ITP deve reportar os dados do sistema onde a chamada de callback foi realizada sem erros.
curl --request POST \
--url https://api-openfinance.opb.bricks.dev.fsapps.io/api/journey/v1/consents/consentId/report \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"step": "REDIRECT_TARGET_WITHOUT_ERRORS",
"data": {
"platform": "BROWSER",
"osVersion": "20.04",
"os": "LINUX"
}
}
'
Essa implementação é obrigatória para todas as instituições participantes do Open Finance Brasil.
Comentários
0 comentário
Artigo fechado para comentários.