Orientações - [DC] Operações de crédito

Regras de implementação pela instituição transmissora

No caso de operações de crédito o cliente efetua o compartilhamento por agrupamento de produtos ou seja, todas as modalidades de operações de crédito são compartilhadas escopo do open finance. A categorização das operações de crédito a serem compartilhadas são chamadas de modalidade no Guia de Experiência do Usuário em função do uso da mesma terminologia “modalidade” na circular 4015, porém essa mesma categorização no doc 3040 é chamada de submodalidade. A fim de manter padronização no Open Finance, consideramos o termo “modalidade”. As modalidades definidas na circular 4015 foram baseadas nas submodalidades do 3040, porém não há correspondência exata. Utilizaremos no texto abaixo o termo “passíveis de compartilhamento” para contratos ativos ou que estiveram ativos nos últimos 12m (considerando o momento da consulta pela Receptora).

Tabela com as modalidades e submodalidades das API’s de operações de crédito

Domínio

Descrição

Sub

Descrição

Circular 4015

Domínio

Descrição

Sub

Descrição

Circular 4015

01

Adiantamentos a depositantes

01

Adiantamentos a depositantes

Adiantamentos a depositantes

02

Empréstimos

02

Crédito pessoal - com consignação em folha de pagam.

Crédito pessoal - consignado

02

Empréstimos

03

Crédito pessoal - sem consignação em folha de pagam

Crédito pessoal - sem consignação

02

Empréstimos

11

Home equity

Home equity

02

Empréstimos

12

Microcrédito produtivo orientado

Microcrédito

02

Empréstimos

13

Cheque especial

Cheque especial

02

Empréstimos

14

Conta garantida

Conta garantida

02

Empréstimos

15

Capital de giro com prazo de vencimento de até 365 dias

Capital de giro

02

Empréstimos

16

Capital de giro com prazo de vencimento superior a 365 dias

Capital de giro

02

Empréstimos

17

Capital de giro com teto rotativo

Capital de giro

03

Direitos creditório descontados

01

Desconto de duplicatas

Desconto de duplicatas

03

Direitos creditório descontados

02

Desconto de cheques

Desconto de cheques

03

Direitos creditório descontados

03

Antecipação de faturas de cartão de crédito

Antecipação de faturas de cartão de crédito

03

Direitos creditório descontados

98

Outros direitos creditórios descontados

Desconto de nota promissória

03

Direitos creditório descontados

99

Outros títulos descontados

Desconto de nota promissória

04

Financiamentos

01

Aquisição de bens - veículos automotores

Aquisições de bens móveis

04

Financiamentos

02

Aquisição de bens - outros bens

Aquisições de bens móveis

04

Financiamentos

03

Microcréditos

Microcrédito produtivo orientado

08

Financiamentos

01

Custeiro

Rurais

08

Financiamentos

02

Investimento

Rurais

08

Financiamentos

03

Comercialização

Rurais

08

Financiamentos

04

Industrialização

Rurais

09

Financiamentos

01

Financiamento habitacional - SFH

Sistema Financeiro da Habilitação (SFH)

09

Financiamentos

02

Financiamento habitacional - exceto SFH 

Sistema Financeiro Imobiliário (SFI)

Diagrama representacional dos status da API de Recursos (Resources)

 

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

UNAUTHORISED

Produto encerrado em D + 2M

AVAILABLE

AVAILABLE

AVAILABLE

AVAILABLE

AVAILABLE

UNAUTHORISED

*encerrado/liquidado/sofreu portabilidade / cancelado /quitada…

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.

Regras para o preenchimento do campo status do Recurso (PENDING_AUTHORISATION, AVAILABLE, UNAVAILABLE, TEMPORARILY_UNAVAILABLE) e a transição entre status.

PENDING_AUTHORISATION: indica a existência de pendências para o compartilhamento do recurso, em caso de múltiplas alçadas, quando é necessário o consentimento de mais de um titular. Neste caso a Transmissora deve retornar um erro HTTP Status Code 403 - Forbidden com o conteúdo abaixo:

{ "code": "STATUS_RESOURCE_PEDING_AUTHORISATION", "title": "Aguardando autorização de múltiplas alçadas", "detail": "(uso a critério do transmissor)" }

UNAVAILABLE: indica que o recurso (contrato) se encontra indisponível para consulta na API de Operação de crédito. Neste caso a Transmissora deve retornar um erro HTTP Status Code 403 - Forbidden com o conteúdo abaixo:

{ "code": "STATUS_RESOURCE_UNAVAILABLE", "title": "Recurso indisponível", "detail": "(uso a critério do transmissor)" }

TEMPORARILY_UNAVAILABLE: indica que o recurso (contrato) se encontra temporariamente indisponível para consulta nas APIs de operações de crédito da modalidade em questão. Neste caso a Transmissora deve retornar um erro HTTP Status Code 403 - Forbidden com o conteúdo abaixo:

{ "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}

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”: “1234”,

“type”: “UNARRANGED_

ACCOUNT_OVERDRAFT”,

“status”: “AVAILABLE”

},

{

“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”

}

] ...

}

404 not found

.../unarranged-accounts-overdraft/v1/contracts/1234

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”: []

...

}

404 not found

.../unarranged-accounts-overdraft/v1/contracts/1234

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 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.