...
Diagrama representacional dos status da API de Recursos (Resources)
*encerrado/liquidado/sofreu portabilidade / cancelado /quitada…
Glossário:
...
Consentimento (ex. 4 meses) | ||||||
Cenários | Dia D | D +1M | D + 2M | D + 3M | D + 4M | D + 5M |
Produto encerrado* em D -13M | Não é escopo de compartilhamento | |||||
Produto encerrado* em D -11M | AVAILABLE | AVAILABLE | UNAVAILABLE | UNAVAILABLE | UNAVAILABLE | N/A** |
Produto encerrado* em D + 2M | AVAILABLE | AVAILABLE | AVAILABLE | AVAILABLE | AVAILABLE | N/A** |
*encerrado/liquidado/quitada…
** Consentimento não autorizado
Glossário:
Dia D: dia do consentimento
• Eixo X: representa o tempo em meses
• Eixo em Y: representa os cenários que são produtos e suas vigências. Ex.: empréstimo que se encerrou em 13 meses.
• O encontro dos eixos representa os status da resources, naquele tempo para aquele produto.
...
Bloco de código |
---|
{
"code": "STATUS_RESOURCE_TEMPORARY_UNAVAILABLE",
"title": "Recurso temporariamente indisponível",
"detail": "(uso a critério do transmissor)"
} |
Tabela descritiva das possibilidades de interação entre API de Recursos (Resources) e as APIs de Operações de Crédito
(A tabela abaixo explicita os status esperados par as APIs de Operações de crédito com a utilização da API de Adiantamento a Depositantes (Unarranged-Accounts-Overdraft) como exemplo)
Cenário | Status do recurso na Detentora | API Resources (.../resources/v1/resources) | API Listagem Produto (.../unarranged-accounts-overdraft/v1/contracts) | APIs Dados Produto (.../unarranged-accounts-overdraft/v1/contracts/{contractId} |
---|---|---|---|---|
Sem consentimento | - | 401 unauthorized | 401 unauthorized | 401 unauthorized |
Com consentimento não autorizado | - | 401 unauthorized | 401 unauthorized | 401 unauthorized |
Com consentimento autorizado (pendente múltipla alçada) | - | 200 - Retorna recurso com status PENDING_AUTHORISATION .../resources/v1/resources [ { “resourceId”: “1234”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “PENDING_ AUTHORISATION” } ] | 200 Não retorna .../unarranged-accounts-overdraft/v1/contracts { “data”: [] ... } | 403 forbidden .../unarranged-accounts-overdraft/v1/contracts/1234 { “code”: “status_RESOURCE_ PENDING_AUTHORISATION”, “title”: “Aguardando autorização de múltiplas alçadas”, “detail”: “xxxxxx” } |
Com consentimento autorizado (aprovado múltipla alçada) | OK | 200 - Retorna o recurso com status AVAILABLE .../resources/v1/resources [ { “resourceId”: “1234”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “AVAILABLE” }, { “resourceId”: “4321”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “AVAILABLE” } ] | 200 retorna o recurso na lista .../unarranged-accounts-overdraft/v1/contracts { “data”: [ { “contractId”: “1234”, “brandName”: “Organização A”, “companyCnpj”: “60500998000144”, “productType”: “ADIANTAMENTO_A_ DEPOSITANTES”, “productSubType”: “ADIANTAMENTO_A_DEPOSITANTES”, “ipocCode”: “123456” }, { “contractId”: “4321”, “brandName”: “Organização A”, “companyCnpj”: “60500998000144”, “productType”: “ADIANTAMENTO_A_ DEPOSITANTES”, “productSubType”: “ADIANTAMENTO_A_DEPOSITANTES”, “ipocCode”: “654321” } ] ... | 200 retorna dados para o recurso .../unarranged-accounts-overdraft/v1/contracts/1234 { “data”: [ { “contractId”: “1234”, “brandName”: “Organização A”, “companyCnpj”: “60500998000144”, “productType”: “ADIANTAMENTO_A_ DEPOSITANTES”, “productSubType”: “ADIANTAMENTO_A_DEPOSITANTES”, “ipocCode”: “123456” }, ] ... } |
Com consentimento autorizado (aprovado múltipla alçada) | Bloqueio Temporário | 200 - Retorna o recurso com status TEMPORARY_UNAVAILABLE .../resources/v1/resources [ { “resourceId”: “1234”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “TEMPORARY_ UNAVAILABLE” }, { “resourceId”: “4321”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “AVAILABLE” } ] | 200 Não retorna na lista o recurso “bloqueado” .../unarranged-accounts-overdraft/v1/contracts { “data”: [ { “contractId”: “4321”, “brandName”: “Organização A”, “companyCnpj”: “60500998000144”, “productType”: “ADIANTAMENTO_A_ DEPOSITANTES”, “productSubType”: “ADIANTAMENTO_A_DEPOSITANTES”, “ipocCode”: “654321” } ] ... } | 403 forbidden .../unarranged-accounts-overdraft/v1/contracts/1234 { “code”: “status_RESOURCE_ PENDING_AUTHORISATION”, “title”: “Aguardando autorização de múltiplas alçadas”, “detail”: “(uso a critério do transmissor)” } |
Com consentimento autorizado (aprovado múltipla alçada) | Liquidado a menos de 12 meses | 200 - Retorna o recurso como status AVAILABLE .../resources/v1/resources [ { “resourceId”: “1234”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “AVAILABLE” }, { “resourceId”: “4321”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “AVAILABLE” } ] | 200 retorna o recurso na lista .../unarranged-accounts-overdraft/v1/contracts { “data”: [ { “contractId”: “1234”, “brandName”: “Organização A”, “companyCnpj”: “60500998000144”, “productType”: “ADIANTAMENTO_A_ DEPOSITANTES”, “productSubType”: “ADIANTAMENTO_A_DEPOSITANTES”, “ipocCode”: “123456” }, { “contractId”: “4321”, “brandName”: “Organização A”, “companyCnpj”: “60500998000144”, “productType”: “ADIANTAMENTO_A_ DEPOSITANTES”, “productSubType”: “ADIANTAMENTO_A_DEPOSITANTES”, “ipocCode”: “654321” }] ...} | 200 retorna os dados .../unarranged-accounts-overdraft/v1/contracts/1234 { “data”: [ { “contractId”: “1234”, “brandName”: “Organização A”, “companyCnpj”: “60500998000144”, “productType”: “ADIANTAMENTO_A_ DEPOSITANTES”, “productSubType”: “ADIANTAMENTO_A_DEPOSITANTES”, “ipocCode”: “123456” }, ] ... } |
Com consentimento autorizado (aprovado múltipla alçada) | Liquidado a mais de 12 meses (recurso nunca compartilhado na vigência do consentimento) | 200 – Não retorna o recurso obs.: como exemplo o recurso de resourceId 1234 foi liquidado a mais de 12 meses .../resources/v1/resources [ { “resourceId”: “4321”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “AVAILABLE” } ] | 200 – Não retorna o recurso .../unarranged-accounts-overdraft/v1/contracts { “data”: [ { “contractId”: “4321”, “brandName”: “Organização A”, “companyCnpj”: “60500998000144”, “productType”: “ADIANTAMENTO_A_ DEPOSITANTES”, “productSubType”: “ADIANTAMENTO_A_DEPOSITANTES”, “ipocCode”: “654321” } ] ... } | 403 forbidden .../unarranged-accounts-overdraft/v1/contracts/1234 { “code”: “RESOURCE_FORBIDDEN”, “title”: “Recurso inacessível”, “detail”: “(uso a critério do transmissor)” } |
Com consentimento autorizado (aprovado múltipla alçada) | Liquidado a mais de 12 meses (recurso já compartilhado na vigência do consentimento) | 200 - Retorna o recurso como status UNAVAILABLE .../resources/v1/resources [ { “resourceId”: “1234”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “UNAVAILABLE” } ] | 200 – Não retorna o recurso .../unarranged-accounts-overdraft/v1/contracts { “data”: [] ... } | 403 forbidden .../unarranged-accounts-overdraft/v1/contracts/1234 { “code”: “status_RESOURCE_ UNAVAILABLE”, “title”: “Aguardando autorização de múltiplas alçadas”, “detail”: “(uso a critério do transmissor)” } |
Com consentimento autorizado (recusado múltipla alçada) | - | 200 - Retorna recurso com status UNAVAILABLE .../resources/v1/resources [ { “resourceId”: “1234”, “type”: “UNARRANGED_ ACCOUNT_OVERDRAFT”, “status”: “UNAVAILABLE” } ] | 200 Não retorna recurso recusado na lista .../unarranged-accounts-overdraft/v1/contracts { “data”: [] ... } | 403 forbidden .../unarranged-accounts-overdraft/v1/contracts/1234 { “code”: “status_RESOURCE_ UNAVAILABLE”, “title”: “Aguardando autorização de múltiplas alçadas”, “detail”: “(uso a critério do transmissor)” } |
Com consentimento autorizado (recurso inexistente) | HTTP 200 - Retorna array vazio .../resources/v1/resources [ ] | 200 Não retorna .../unarranged-accounts-overdraft/v1/contracts { “data”: [] ... } | 403 forbidden .../unarranged-accounts-overdraft/v1/contracts/1234 { “code”: “RESOURCE_FORBIDDEN”, “title”: “Recurso inexistente”, “detail”: “(uso a critério do transmissor)” } | |
Com consentimento revogado ou expirado* | 401 unauthorized | 401 unauthorized | 401 unauthorized |
Para os cenários de consentimento revogado ou expirado, conforme determinado na especificação de segurança o access token associado ao mesmo é invalidado impossibilitando a consulta as APIs produtos por parte da Receptora.
Casos de uso de Operações de Crédito e o respectivo status a ser informado pela API de Recursos (Resources).
Operações de crédito liquidadas nos últimos 12 meses em relação à data da consulta pela Receptora devem retornar o status AVAILABLE;
Operações de crédito liquidadas há mais que 12 meses em relação a data da consulta pela Receptora devem retornar o status UNAVAILABLE;
Casos de uso que um cliente final efetue um consentimento para a qual um dos contratos exija a aprovação de múltiplas alçadas (PENDING_AUTHORISATION) e o outro contrato esteja disponível para consulta (AVAILABLE), o comportamento esperado é que cada contrato tenha seu status representado de forma independente, disponibilizando imediatamente os contratos já aprovados.
Operações de crédito canceladas não são escopo de exposição no Open Finance. Contratos nessa situação devem parar de ter suas informações compartilhadas, e o recurso correspondente deve ter seu status atualizado para deixam de ser escopo de exposição em novos consentimentos, já para consentimentos onde esse contrato já foi compartilhado, o recurso deve se tornar UNAVAILABLE;
Operações de crédito que tenham ido para perda não são escopo de exposição no Open Finance. Contratos nessa situação devem parar de ter suas informações compartilhadas, e o recurso correspondente deve ter seu status atualizado para UNAVAILABLE.
Operações de crédito portadas para outra instituição deixam de ser escopo de exposição no Open Finance. Contratos nessa situação deixam de ser escopo de exposição em novos consentimentos, já para consentimentos onde esse contrato já foi compartilhado, o recurso deve se tornar UNAVAILABLE.