Skip to content

Commit

Permalink
versão 1.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
bcb-thiago committed Mar 30, 2021
1 parent 4409ea8 commit 4f3bdba
Show file tree
Hide file tree
Showing 6 changed files with 196 additions and 10 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

Mudanças relevantes na API do DICT serão documentadas aqui.

## [1.2.0] - 2021-04-01
### Adicionado
- Alteração de nome de cliente na Entry
- Consulta de existência de chaves (CheckKeys)

## [1.1.0] - 2020-12-02
### Removido
- Tipo de infração AML_CTF
Expand Down
5 changes: 5 additions & 0 deletions openapi/examples/entries/UpdateEntryRequest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,10 @@
<AccountType>CACC</AccountType>
<OpeningDate>2010-01-10T03:00:00Z</OpeningDate>
</Account>
<Owner>
<Type>NATURAL_PERSON</Type>
<TaxIdNumber>11122233300</TaxIdNumber>
<Name>João Silva</Name>
</Owner>
<Reason>USER_REQUESTED</Reason>
</UpdateEntryRequest>
9 changes: 9 additions & 0 deletions openapi/examples/keys/CheckKeysRequest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<CheckKeysRequest>
<Keys>
<Key>[email protected]</Key>
<Key>[email protected]</Key>
<Key>+5561999999999</Key>
<Key>+5561888888888</Key>
</Keys>
</CheckKeysRequest>
12 changes: 12 additions & 0 deletions openapi/examples/keys/CheckKeysResponse.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<CheckKeysResponse>
<Signature></Signature>
<ResponseTime>2020-01-10T10:00:00Z</ResponseTime>
<CorrelationId>a9f13566e19f5ca51329479a5bae60c5</CorrelationId>
<Keys>
<Key hasEntry="true">[email protected]</Key>
<Key hasEntry="false">[email protected]</Key>
<Key hasEntry="true">+5561999999999</Key>
<Key hasEntry="false">+5561888888888</Key>
</Keys>
</CheckKeysResponse>
116 changes: 106 additions & 10 deletions openapi/openapi.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
openapi: 3.0.0
info:
title: DICT API
version: '1.1.0'
version: '1.2.0'
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0
Expand Down Expand Up @@ -230,6 +230,9 @@ info:
- Existe uma reivindicação com status diferente de concluída ou cancelada para a chave
do vínculo. Enquanto estiver nessa situação, o vínculo não pode ser excluído.
- `EntryTaxIdNumberByDifferentOwner`
- CPF ou CNPJ do vínculo diferente do CPF ou CNPJ do dono da chave.
**Reivindicações**
- `ClaimInvalid`
Expand Down Expand Up @@ -289,28 +292,44 @@ servers:
description: Homologação
- url: https://dict.pi.rsfn.net.br:16422/api/v1/
description: Produção

tags:
- name: Directory
x-displayName: Diretório
description: |-
O diretório de identificadores de contas transacionais é um conjunto de vínculos.
Um vínculo é uma associação entre uma chave de endereçamento, uma conta transacional e seu dono.
O dono pode ser uma pessoa física ou uma pessoa jurídica. A chave de endereçamento é usada para identificar um vínculo.
O dono pode ser uma pessoa física ou uma pessoa jurídica. A chave de endereçamento é usada para identificar unicamente um vínculo.
Exemplo de vínculo:
| Chave | Conta | Dono |
|-----------------|---------------------------------------|-----------------------------------|
| +5510998765432 | Banco Fictício/Ag.7263-4/Cc.748627-1 | José João da Silva |
- name: Key
x-displayName: Chave
description: |-
Uma chave transacional é uma sequência de caracteres que identifica um vínculo de forma única no diretório de identificadores.
A existência de uma determinada chave no diretório implica diretamente na existência de um vínculo.
Os tipos de chave suportadas atualmente são as seguintes:
| Tipo | Exp. regular | Exemplo | Comentário |
|---------------|------------------------------------------------------------------------------------------------------------|--------------------------------------|---------------------------------------------------------------------------|
| CPF | ^\[0-9\]{11}$ | 12345678901 | |
| CNPJ | ^\[0-9\]{14}$ | 12345678901234 | |
| PHONE | ^\\+\[1-9\]\[0-9\]\d{1,14}$ | +5510998765432 | |
| EMAIL | [e-mails válidos W3C HTML5](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) | [email protected] | E-mail deve possuir no máximo 77 caracteres e deve ser em minúsculo |
| EMAIL | [e-mails válidos W3C HTML5](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) | [email protected] | E-mail deve possuir no máximo 77 caracteres e deve ser em minúsculo |
| EVP | [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} | 123e4567-e89b-12d3-a456-426655440000 | Endereço Virtual de Pagamento é um tipo de chave é gerado pelo DICT |
Novos tipos de chave poderão vir a ser adicionados no futuro. Logo, é importante que a implementação de clientes
seja flexível, permitindo a adição de novos tipos de chave.
Apesar da existência de uma chave estar sempre relacionada a um vínculo, é possível a realização de consultas de existência
de chaves.
- name: Claim
x-displayName: Reivindicação
description: |-
Expand Down Expand Up @@ -633,9 +652,9 @@ paths:
description: |-
Atualiza um vínculo.
A ser utilizado no cenário de atualização da informação da conta de um cliente, permanecendo este no mesmo PSP.
Somente pode ser atualizada a informação de conta do vínculo. Outras atualizações do vínculo devem ser feitas
por exclusão/inclusão do vínculo, portabilidade ou reivindicação de posse, a depender da situação.
A ser utilizado no cenário de atualização da informação da conta ou de nome de um cliente, permanecendo este no mesmo PSP.
Somente podem ser atualizadas as informações de conta do vínculo ou nome do cliente. Outras atualizações do vínculo devem
ser feitas por exclusão/inclusão do vínculo, portabilidade ou reivindicação de posse, a depender da situação.
operationId: updateEntry
requestBody:
Expand Down Expand Up @@ -707,6 +726,50 @@ paths:
'503':
$ref: "#/components/responses/ServiceUnavailable"

########################################################################################################################
## KEYS
########################################################################################################################

'/keys/check':

post:
summary: Verificar existência de chaves
operationId: checkKeys
description: Consulta a existência de um conjunto de chaves no diretório de identificadores.
tags:
- Key
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/CheckKeysRequest'
examples:
example:
value:
$ref: './examples/keys/CheckKeysRequest.xml'
responses:
'200':
description: OK
content:
application/xml:
schema:
$ref: '#/components/schemas/CheckKeysResponse'
examples:
example:
value:
$ref: './examples/keys/CheckKeysResponse.xml'
'403':
$ref: "#/components/responses/Forbidden"
'404':
$ref: "#/components/responses/NotFound"
'503':
$ref: "#/components/responses/ServiceUnavailable"
servers:
- url: https://dict-np-h.pi.rsfn.net.br:16532/api-np/v1/
description: Homologação
- url: https://dict-np.pi.rsfn.net.br:16432/api-np/v1/
description: Produção

#######################################################################################################################
## CLAIMS
########################################################################################################################
Expand Down Expand Up @@ -821,14 +884,30 @@ paths:
name: Limit
in: query
required: false
# - description: Cursor de deslocamento em consultas. Permite o escape linear de registros.
# schema:
# type: integer
# default: 0
# name: Offset
# in: query
# required: false
- description: Indica inclusão de reivindicações de participantes indiretos no resultado da consulta.
schema:
type: boolean
default: false
name: IncludeIndirectParticipants
in: query
required: false
summary: Listar Reivindicações
description: |-
Obtém uma lista de reivindicações, ordenada de forma crescente pelo campo `LastModified`, de acordo com os filtros passados.
Observações:
- Ao percorrer a lista em intervalos de tempo fechados, recomendável para que não se pule nenhum elemento, alguns elementos retornados poderão se repetir.
- O comportamento dos filtros `isDonor` e `isClaimer`, quando os valores passados são iguais, é disjuntivo: são retornadas reinvidicações em que
o participante é doador OU reivindicador.
o participante é doador OU reivindicador.
- A atualização de informações de reinvindicações para listagens é _assíncrona_ em relação às operações de inclusão e atualização de registros, sendo assim,
é possível haver um retardo de _5 segundos_ até que os dados incluídos ou alterados constem na consulta.
operationId: listClaims
tags:
Expand Down Expand Up @@ -1344,6 +1423,10 @@ paths:
| [Confirmar Reivindicação](#operation/confirmClaim) | remove (PSP doador) |
| [Concluir Reivindicação](#operation/completeClaim) | adiciona (PSP reivindicador)|
Observação:
- A atualização de informações de eventos de CIDs para listagens é _assíncrona_ em relação às operações de inclusão e atualização de registros, sendo assim,
é possível haver um retardo de _5 segundos_ até que os dados incluídos ou alterados constem na consulta.
operationId: listCidSetEvents
tags:
- Reconciliation
Expand Down Expand Up @@ -1495,11 +1578,22 @@ paths:
name: Limit
in: query
required: false
# - description: Cursor de deslocamento em consultas. Permite o escape linear de registros.
# schema:
# type: integer
# default: 0
# name: Offset
# in: query
# required: false
summary: Listar Relatos de Infração
description: |-
Obtém lista de relatos de infração em que o participante é parte.
Lista de relatos é ordenada de forma crescente pelo campo `LastModified` .
Lista de relatos é ordenada de forma crescente pelo campo `LastModified`.
Observação:
- A atualização de informações de relatos de infração para listagens é _assíncrona_ em relação às operações de inclusão
e atualização de registros, sendo assim, é possível haver um retardo de _5 segundos_ até que os dados incluídos ou alterados constem na consulta.
operationId: listInfractionReport
tags:
- InfractionReport
Expand Down Expand Up @@ -1661,6 +1755,8 @@ paths:
Fecha o relato de infração. Se o relato foi criado pelo participante debitado, o
creditado deve realizar o fechamento e vice-versa.
Para fechamento, o status deve ser `ACKNOWLEDGED`.
### Idempotência
A operação é idempotente. Caso o relato já tenha sido fechado com os mesmos parâmetros,
será retornada resposta equivalente à primeira requisição.
Expand Down
59 changes: 59 additions & 0 deletions openapi/schemas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,19 @@
- EMAIL
- EVP
example: CPF
ExtendedKey:
allOf:
- $ref: '#/Key'
- type: string
- description: Chave de endereçamento.
xml:
name: Key
properties:
hasEntry:
type: boolean
description: Existe vínculo cadastrado para a chave de endereçamento.
xml:
attribute: true
NaturalPerson:
type: object
properties:
Expand Down Expand Up @@ -522,6 +535,17 @@
- CreditedParticipant
- CreationTime
- LastModified
Owner:
type: object
description: Dono da chave vinculada á uma conta transacional no Brasil.
oneOf:
- $ref: '#/NaturalPerson'
- $ref: '#/LegalPerson'
discriminator:
propertyName: Type
mapping:
NATURAL_PERSON: '#/NaturalPerson'
LEGAL_PERSON: '#/LegalPerson'

#### SYNC REQ-RESP #####

Expand Down Expand Up @@ -963,6 +987,8 @@
$ref: "#/Key"
Account:
$ref: '#/BrazilianAccount'
Owner:
$ref: '#/Owner'
Reason:
allOf:
- $ref: '#/EntryOperationReason'
Expand Down Expand Up @@ -1073,6 +1099,39 @@
- Entry
- Statistics

##### KEY REQ-RESP #####

CheckKeysRequest:
type: object
properties:
Keys:
type: array
description: Chaves de endereçamento
items:
$ref: '#/Key'
required:
- Keys
CheckKeysResponse:
type: object
properties:
Signature:
type: object
xml:
prefix: ds
namespace: 'http://www.w3.org/2000/09/xmldsig#'
ResponseTime:
type: string
format: date-time
CorrelationId:
$ref: '#/CorrelationId'
Keys:
type: array
description: Chaves de endereçamento
items:
$ref: '#/ExtendedKey'
required:
- Keys

##### INFRACTION-REPORT REQ-RESP ####

CreateInfractionReportRequest:
Expand Down

0 comments on commit 4f3bdba

Please sign in to comment.