Skip to content

Commit a5cce64

Browse files
committed
1.0.0
1 parent 43667de commit a5cce64

3 files changed

Lines changed: 92 additions & 61 deletions

File tree

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,19 @@
22

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

5+
## [1.0.0] - 2020-09-16
6+
### Adicionado
7+
- Seção com recomendações de desempenho
8+
- URL de produção
9+
- Possibilidade de cancelar reivindicação de posse pelo reivindicador com razão DEFAULT_OPERATION
10+
- Tipo de erro InfractionReportTransactionNotSettled
11+
12+
### Alterado
13+
- Atualizadas referências para manual de segurança
14+
15+
### Removido
16+
- Tipo de erro RequestOnBehalfUnauthorized
17+
518
## [1.0.0-RC6] - 2020-08-24
619
### Adicionado
720
- _Endpoints_ de InfractionReport

openapi/openapi.yaml

Lines changed: 57 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
openapi: 3.0.0
22
info:
33
title: DICT API
4-
version: '1.0.0-RC6'
4+
version: '1.0.0'
55
license:
66
name: Apache 2.0
77
url: http://www.apache.org/licenses/LICENSE-2.0
@@ -10,19 +10,21 @@ info:
1010
email: suporte.ti@bcb.gov.br
1111
url: https://www.bcb.gov.br/estabilidadefinanceira/pagamentosinstantaneos
1212
description: |-
13-
O Diretório de Identificadores de Contas Transacionais - DICT - é o serviço do arranjo PIX que permite
14-
buscar detalhes de contas transacionais com chaves de endereçamento mais convenientes para quem faz
13+
O Diretório de Identificadores de Contas Transacionais - DICT - é o serviço do arranjo Pix que permite
14+
buscar detalhes de contas transacionais com chaves de endereçamento mais convenientes para quem faz
1515
um pagamento. Entre os tipos de chave atualmente disponíveis estão CPF, CNPJ, telefone, e-mail e EVP.
1616
As informações retornadas pelo DICT permitem ao pagador confirmar a identidade do recebedor, proporcionando
1717
uma experiência mais fácil e segura. Permitem também ao PSP do pagador criar a mensagem de instrução de
1818
pagamento a ser enviada para o sistema de liquidação com os detalhes de conta do recebedor.
19+
20+
Para informações adicionais, consulte a [página do Pix](https://www.bcb.gov.br/estabilidadefinanceira/pagamentosinstantaneos).
1921
2022
# Segurança
2123
## Autenticação
2224
O DICT utiliza autenticação mútua TLS.
2325
24-
As definições de autenticação para essa API estão especificados no
25-
[manual de segurança PIX](https://www.bcb.gov.br/content/estabilidadefinanceira/forumpireunioes/Anexo%20IV%20-%20Manual%20de%20Seguranca%20PIX%20v2.0.pdf)
26+
As definições de autenticação para essa API estão especificadas no
27+
[manual de segurança do Pix](https://www.bcb.gov.br/content/estabilidadefinanceira/cedsfn/Manual%20de%20Seguranca%20do%20PIX%20v3.0.pdf).
2628
2729
## Assinatura digital
2830
Requisições que incluam ou alterem informações no DICT devem ser assinadas com
@@ -35,7 +37,7 @@ info:
3537
sendo assinado (assinatura é um elemento filho).
3638
3739
Para mais detalhes sobre a forma de construir a assinatura, consulte o
38-
[manual de segurança PIX](https://www.bcb.gov.br/content/estabilidadefinanceira/forumpireunioes/Anexo%20IV%20-%20Manual%20de%20Seguranca%20PIX%20v2.0.pdf).
40+
[manual de segurança do Pix](https://www.bcb.gov.br/content/estabilidadefinanceira/cedsfn/Manual%20de%20Seguranca%20do%20PIX%20v3.0.pdf).
3941
4042
## Limitação de requisições
4143
@@ -49,6 +51,17 @@ info:
4951
Cabeçalhos indicando os parâmetros de _rate-limiting_ serão retornados nas requisições. Ver, por exemplo,
5052
os cabeçalhos retornados ao [consultar vínculo](#operation/getEntry).
5153
54+
# Recomendações de desempenho
55+
56+
É altamente recomendável que as conexões HTTP para a comunicação com a API sejam reutilizadas, pois o custo de
57+
estabelecimento de uma conexão mTLS é muito alto em termos de latência. O uso de um _pool_ de conexões HTTP
58+
é uma alternativa efetiva para reutilização de conexões. A API retorna o header [`Keep-Alive`](https://tools.ietf.org/html/rfc2068#section-19.7.1.1)
59+
com o parâmetro `timeout`. Nele é informado o tempo em segundos que o servidor esperará antes de fechar a conexão caso não ocorram
60+
requisições adicionais.
61+
62+
É recomendável também que se utilize compressão. Para que as respostas da API utilizem compressão, adicione nas
63+
requisições o header `Accept-Encoding: gzip`. O envio de requisições com compressão não é suportado.
64+
5265
# Evolução da API
5366
5467
As seguintes mudanças são esperadas e consideradas retro-compatíveis (_backwards-compatibility_):
@@ -108,9 +121,6 @@ info:
108121
- `RequestSignatureInvalid`
109122
- Assinatura digital da requisição enviada é inválida.
110123
111-
- `RequestOnBehalfUnauthorized`
112-
- Participante direto envia requisição em nome de participante indireto para o qual não tem autorização.
113-
114124
- `RequestIdAlreadyUsed`
115125
- Requisição foi feita com mesmo `RequestId` de requisição feita anteriormente, mas com parâmetros diferentes.
116126
@@ -184,7 +194,10 @@ info:
184194
- Status atual do relato não permite que operação seja feita.
185195
186196
- `InfractionReportTransactionNotFound`
187-
- A transação listada no relato de infração não foi encontrada.
197+
- A transação definida no relato de infração não foi encontrada.
198+
199+
- `InfractionReportTransactionNotSettled`
200+
- A transação definida no relato de infração não foi liquidada.
188201
189202
- `InfractionReportAlreadyBeingProcessedForTransaction`
190203
- Já existe um relato de infração em andamento para a transação informada.
@@ -194,10 +207,12 @@ info:
194207
195208
- `InfractionReportPeriodExpired`
196209
- O prazo para o relato de infração sobre a transação expirou.
197-
210+
198211
servers:
199-
- url: https://dict-h.pi.rsfn.net.br:16522/api/v1-rc6/
200-
description: Servidor de Homologação
212+
- url: https://dict-h.pi.rsfn.net.br:16522/api/v1/
213+
description: Homologação
214+
- url: https://dict.pi.rsfn.net.br:16422/api/v1/
215+
description: Produção
201216
tags:
202217
- name: Directory
203218
x-displayName: Diretório
@@ -266,7 +281,7 @@ tags:
266281
**Importante!**
267282
Os participantes deverão monitorar as reivindicações fazendo _polling_ períodico no _endpoint_
268283
de [listar reivindicações](#operation/listClaims). A periodicidade adequada dependerá
269-
das definições de nível de serviço.
284+
das definições de nível de serviço. Consulte o [Manual de Tempos do Pix](https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/IX.ManualdeTemposdoPix-versao1.1.pdf).
270285
271286

272287
- name: Reconciliation
@@ -350,23 +365,24 @@ tags:
350365
x-displayName: Relatos de Infração
351366
description: |-
352367
Relatos de infração servem para reportar transações sob suspeita de fraude (FRAUD) ou PLD/FT
353-
(AML_CFT). Podem ser feitas tanto pelo participante debitado quanto pelo creditado na
368+
(AML_CFT). Podem ser feitas tanto pelo participante debitado quanto pelo creditado na
354369
transação.
355370
356371
Depois de criado, o relato deve ser reconhecido pela outra parte da transação (acknowledge) e,
357-
após análise, fechado (close) concordando (AGREED) ou discordando (DISAGREED) da infração.
372+
após análise, fechado (close) concordando (AGREED) ou discordando (DISAGREED) da infração.
358373
359-
O criador do relato pode cancelá-lo a qualquer momento, mesmo depois de fechado.
360-
361-
Relatos de infração são criados a partir do identificador da transação realizada no SPI
374+
O criador do relato pode cancelá-lo a qualquer momento, mesmo depois de fechado.
375+
376+
Relatos de infração são criados a partir do identificador da transação realizada no SPI
362377
(EndToEndId). O prazo máximo para relatar infração em uma transação está no regulamento do DICT.
363378
364-
Cada participante deve realizar _polling_ periódico na lista de relatos para verificar se
379+
Cada participante deve realizar _polling_ periódico na lista de relatos para verificar se
365380
existem novos relatos em que é parte. O recebimento do relato não implica em concordância.
366-
O tempo máximo de análise também está descrito no regulamento.
381+
Os níveis de serviço exigidos para as operações com relatos de infração estão definidos no
382+
[Manual de Tempos do Pix](https://www.bcb.gov.br/content/estabilidadefinanceira/pix/Regulamento_Pix/IX.ManualdeTemposdoPix-versao1.1.pdf).
367383
368-
As relatos por motivo de fraude e PLD/FT são contabilizadas e retornadas ao
369-
[consultar vínculo](#operation/getEntry). Se for cancelado, o relato deixa de ser contabilizado
384+
As relatos por motivo de fraude e PLD/FT são contabilizadas e retornadas ao
385+
[consultar vínculo](#operation/getEntry). Se for cancelado, o relato deixa de ser contabilizado
370386
entre os REPORTED_FRAUDS e REPORTED_AML_CFT durante a consulta de vínculos.
371387
372388
paths:
@@ -454,7 +470,7 @@ paths:
454470
desativação da chave ou da conta. Se houver troca de titularidade, ou portabilidade, os dados
455471
são herdados pelo novo registro no que couber (titular, chave, ou conta).
456472
457-
Os contadores de transações realizadas são quantizados. A escala usada é 0, 1, 5, 10, 50, 100, 500, 1000, 5000 ...
473+
Os contadores de transações realizadas são quantizados. A escala usada é 0, 1, 5, 10, 50, 100, 500, 1000, 5000...
458474
Arrendonda-se o número para cima, por exemplo: 3 → 5, 190 → 500 .
459475
460476
### Limitação de requisições
@@ -511,12 +527,12 @@ paths:
511527
type: integer
512528
example: 30
513529
PI-RateLimit-ParticipantRemaining:
514-
description: Número de requisições disponíveis para que limite associado ao `PI-PayerAccountServicer` seja atingido.
530+
description: Número de requisições disponíveis para que limite associado ao `PI-RequestingParticipant` seja atingido.
515531
schema:
516532
type: integer
517533
example: 100
518534
PI-RateLimit-ParticipantReset:
519-
description: Segundos até que limite associado ao `PI-PayerAccountServicer` seja renovado.
535+
description: Segundos até que limite associado ao `PI-RequestingParticipant` seja renovado.
520536
schema:
521537
type: integer
522538
example: 30
@@ -942,7 +958,9 @@ paths:
942958
description: |-
943959
Cancela reivindicação.
944960
945-
Para reivindicação de posse, status deve ser `WAITING_RESOLUTION` ou `CONFIRMED`.
961+
Para reivindicação de posse, status deve ser `WAITING_RESOLUTION` ou `CONFIRMED`. Se razão
962+
de cancelamento for `DEFAULT_OPERATION`, prazo de validação de posse da chave do usuário
963+
reivindicador deve ter passado.
946964
947965
Para portabilidade, status deve ser `WAITING_RESOLUTION`. Se razão de cancelamento for
948966
`DEFAULT_OPERATION`, prazo definido pelo campo `ResolutionPeriodEnd` deve ter passado.
@@ -989,7 +1007,7 @@ paths:
9891007
<tr>
9901008
<td>DEFAULT_OPERATION</td>
9911009
<td></td>
992-
<td></td>
1010+
<td></td>
9931011
<td>✓</td>
9941012
<td></td>
9951013
</tr>
@@ -1271,7 +1289,7 @@ paths:
12711289
schema:
12721290
type: string
12731291
pattern: '^[0-9]{8}$'
1274-
example: '12345678'
1292+
example: '12345678'
12751293
in: header
12761294
description: 'Identificador SPB do participante (direto ou indireto) que faz a requisição.'
12771295
required: true
@@ -1299,12 +1317,12 @@ paths:
12991317
$ref: "#/components/responses/Forbidden"
13001318

13011319
#######################################################################################################################
1302-
## INFRACTION-REPORT
1320+
## INFRACTION-REPORT
13031321
#######################################################################################################################
13041322
'/infraction-reports/':
13051323
post:
1306-
summary: Criar um relato de infração
1307-
description: |-
1324+
summary: Criar Relato de Infração
1325+
description: |-
13081326
Cria um relato de infração. Tanto o participante debitado quanto o creditado podem criar um relato de infração.
13091327
operationId: createInfractionReport
13101328
tags:
@@ -1464,11 +1482,11 @@ paths:
14641482
summary: Receber Relato de Infração
14651483
operationId: acknowledgeInfractionReport
14661484
description: |-
1467-
Notifica recebimento pelo participante. Se o relato foi criado pelo Debitado, o
1468-
Creditado deve realizar o acknowledge e vice-versa.
1485+
Notifica recebimento pelo participante. Se o relato foi criado pelo participante debitado, o
1486+
creditado deve realizar o recebimento e vice-versa.
14691487
14701488
### Idempotência
1471-
A operação é idempotente. Caso o relato já tenha sido recebido e esteja ainda com
1489+
A operação é idempotente. Caso o relato já tenha sido recebido e esteja ainda com
14721490
status `ACKNOWLEDGED`, será retornada resposta equivalente à primeira requisição.
14731491
tags:
14741492
- InfractionReport
@@ -1513,7 +1531,7 @@ paths:
15131531
Cancela o relato de infração. Só pode ser realizada pelo participante que criou o relato.
15141532
15151533
### Idempotência
1516-
A operação é idempotente. Caso o relato já tenha sido cancelado com os mesmos parâmetros,
1534+
A operação é idempotente. Caso o relato já tenha sido cancelado com os mesmos parâmetros,
15171535
será retornada resposta equivalente à primeira requisição.
15181536
15191537
tags:
@@ -1556,11 +1574,11 @@ paths:
15561574
summary: Fechar Relato de Infração
15571575
operationId: closeInfractionReport
15581576
description: |-
1559-
Fecha o relato de Infração. Se o relato foi criado pelo Debitado, o
1560-
Creditado deve realizar o acknowledge e vice-versa.
1577+
Fecha o relato de infração. Se o relato foi criado pelo participante debitado, o
1578+
creditado deve realizar o fechamento e vice-versa.
15611579
15621580
### Idempotência
1563-
A operação é idempotente. Caso o relato já tenha sido fechado com os mesmos parâmetros,
1581+
A operação é idempotente. Caso o relato já tenha sido fechado com os mesmos parâmetros,
15641582
será retornada resposta equivalente à primeira requisição.
15651583
15661584
tags:

0 commit comments

Comments
 (0)