From 29ade4f2eea9044eb9e6fb644692db891ea6f9fd Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Tue, 16 May 2023 16:38:06 -0300 Subject: [PATCH 01/18] =?UTF-8?q?feat(Exchanges):=20ORB-2601=20-=20PA69=20?= =?UTF-8?q?-=20PA70=20-=20PA71=20-=20Criar=20estrutura=20inicial=20da=20AP?= =?UTF-8?q?I=20C=C3=A2mbio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1.0.0-rc1.0.yml | 594 ++++++++++++++++++ .../exchanges-aguardando-definicao/index.html | 81 +++ 2 files changed, 675 insertions(+) create mode 100644 swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml create mode 100644 swagger-apis/exchanges-aguardando-definicao/index.html diff --git a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml new file mode 100644 index 000000000..eee2618d6 --- /dev/null +++ b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml @@ -0,0 +1,594 @@ +openapi: 3.0.0 +info: + title: API Exchanges - Open Finance Brasil + description: | + API de informações de operações de Câmbio Open Finance Brasil – Fase 4. + API que retorna informações de operações de Câmbio realizadas nas instituições transmissoras por seus clientes, incluindo dados como + informações da operação contratada, valor da operação em moeda nacional e moeda estrangeira, classificação da operação, forma de entrega, + VET e, quando aplicável, valor a liquidar. + + Também serão compartilhados os eventos de alteração da operação, caso existam, com as informações modificadas. + Não possui segregação entre pessoa natural e pessoa jurídica. + Requer consentimento do cliente para todos os endpoints. + Devem ser considerados como escopo todas as operações de câmbio de compra e venda de moeda estrangeira, inclusive com adiantamento (ACC/ACE). + A exposição se dará por cada operação de câmbio contratada pelo cliente. + version: 1.0.0-rc1.0 + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0' + contact: + name: Governança do Open Finance Brasil – Especificações + email: gt-interfaces@openbankingbr.org + url: 'https://openbanking-brasil.github.io/areadesenvolvedor/' +servers: + - url: 'https://api.banco.com.br/open-banking/exchanges/v1' + description: Servidor de Produção + - url: 'https://apih.banco.com.br/open-banking/exchanges/v1' + description: Servidor de Homologação +tags: + - name: Product List + description: Faltando receber a descrição do endpoint. + - name: Product Identification + description: Faltando receber a descrição do endpoint. + - name: Events + description: Faltando receber a descrição do endpoint. +paths: + /operations: + get: + tags: + - Product List + summary: Faltando receber a descrição do endpoint. + operationId: productList + description: Faltando receber a descrição do endpoint. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + responses: + '200': + $ref: '#/components/responses/OKResponseExchangeOnlineRate' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /operations/{operationId}: + get: + tags: + - Product identification + summary: Faltando receber a descrição do endpoint. + operationId: productIdentification + description: Faltando receber a descrição do endpoint + parameters: + - $ref: '#/components/parameters/OperationId' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + responses: + '200': + $ref: '#/components/responses/OKResponseExchangeVetValue' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /operations/{operationId}/events: + get: + tags: + - Events + summary: Faltando receber a descrição do endpoint. + operationId: events + description: Faltando receber a descrição do endpoint + parameters: + - $ref: '#/components/parameters/OperationId' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + responses: + '200': + $ref: '#/components/responses/OKResponseExchangeVetValue' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' +components: + schemas: + Links: + type: object + description: Referências para outros recusos da API requisitada. + required: + - self + properties: + self: + type: string + format: uri + maxLength: 2000 + description: URI completo que gerou a resposta atual. + example: 'https://api.banco.com.br/open-banking/api/v1/resource' + pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + first: + type: string + format: uri + maxLength: 2000 + description: URI da primeira página que originou essa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta + example: 'https://api.banco.com.br/open-banking/api/v1/resource' + pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + prev: + type: string + format: uri + maxLength: 2000 + description: "URI da página anterior dessa lista de resultados. Restrição - \tObrigatório quando não for a primeira página da resposta" + example: 'https://api.banco.com.br/open-banking/api/v1/resource' + pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + next: + type: string + format: uri + maxLength: 2000 + description: URI da próxima página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta + example: 'https://api.banco.com.br/open-banking/api/v1/resource' + pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + last: + type: string + format: uri + maxLength: 2000 + description: URI da última página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta + example: 'https://api.banco.com.br/open-banking/api/v1/resource' + pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + additionalProperties: false + OpenDataMeta: + type: object + description: Meta informações referente à API requisitada. + required: + - totalRecords + - totalPages + properties: + totalRecords: + type: integer + format: int32 + description: Número total de registros no resultado + example: 1 + totalPages: + type: integer + format: int32 + description: Número total de páginas no resultado + example: 1 + additionalProperties: false + OKResponseExchangeOnlineRate: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + items: + $ref: '#/components/schemas/ExchangeOnlineRate' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/OpenDataMeta' + additionalProperties: false + OKResponseExchangeVetValue: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + items: + $ref: '#/components/schemas/ExchangeVetValue' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/OpenDataMeta' + additionalProperties: false + ExchangeOnlineRate: + type: object + description: Conjunto de informações referentes às informações de câmbio + required: + - participant + - values + - timestamp + - disclaimer + properties: + participant: + $ref: '#/components/schemas/Participant' + values: + type: array + items: + $ref: '#/components/schemas/OnlineRate' + example: + - foreignCurrency: USD + deliveryForeignCurrency: ESPECIE + transactionType: COMPRA + transactionCategory: COMERCIO_EXTERIOR + targetAudience: PESSOA_NATURAL + value: '5.5023' + - foreignCurrency: EUR + deliveryForeignCurrency: CARTAO_PRE_PAGO + transactionType: VENDA + transactionCategory: TRANSPORTE + targetAudience: PESSOA_JURIDICA + value: '2.7045' + timestamp: + type: string + format: date-time + description: Timestamp do momento da consulta + example: '2017-07-21T17:32:28Z' + disclaimer: + type: string + description: 'Disclaimer informando que a taxa apresentada é somente informativa, para a contratação de uma operação, deverá ser consultado o canal correspondente de cada instituição.' + example: 'Informamos que esta taxa é estimada e exclusiva para fins de Open Finance, não sendo válida para a contratação de operações de câmbio. Para obter a taxa para fechamento do câmbio, pedimos consultar os canais disponíveis para contratação.' + additionalProperties: false + ExchangeVetValue: + type: object + description: Conjunto de informações referentes às informações de câmbio + required: + - participant + - transactionType + - foreignCurrency + - deliveryForeignCurrency + - rangeTransactionCategory + - vetAmount + - targetAudience + properties: + participant: + $ref: '#/components/schemas/Participant' + transactionType: + $ref: '#/components/schemas/EnumExchangeTransactionType' + foreignCurrency: + $ref: '#/components/schemas/OnlineRate/properties/foreignCurrency' + deliveryForeignCurrency: + $ref: '#/components/schemas/EnumExchangeDeliveryForeignCurrency' + rangeTransactionCategory: + $ref: '#/components/schemas/EnumExchangeRangeTransactionCategory' + targetAudience: + $ref: '#/components/schemas/EnumTargetAudience' + vetAmount: + type: object + description: Distribuição por frequência. + required: + - prices + - minimum + - maximum + properties: + prices: + type: array + description: Distribuição dos preços. + items: + type: object + required: + - interval + - value + - operationRate + properties: + interval: + $ref: '#/components/schemas/VetValueFrequencyDistributionPrice/properties/interval' + value: + type: string + description: Mediana. + example: '0.020300' + maxLength: 8 + pattern: '^\d{1}\.\d{1,6}$' + operationRate: + type: string + description: Percentual de operação. + example: '0.500000' + maxLength: 8 + pattern: '^\d{1}\.\d{1,6}$' + additionalProperties: false + minItems: 4 + maxItems: 4 + example: + - interval: 1_FAIXA + value: '0.020300' + customerRate: '0.500000' + - interval: 2_FAIXA + value: '0.030600' + customerRate: '0.100000' + - interval: 3_FAIXA + value: '0.034300' + customerRate: '0.300000' + - interval: 4_FAIXA + value: '0.246800' + customerRate: '0.100000' + minimum: + type: string + description: Valor mínimo. + maxLength: 8 + pattern: '^\d{1}\.\d{1,6}$' + example: '0.010000' + maximum: + type: string + description: Valor máximo. + maxLength: 8 + pattern: '^\d{1}\.\d{1,6}$' + example: '0.300000' + additionalProperties: false + additionalProperties: false + OnlineRate: + type: object + description: Taxa disponibilizada (taxa online) pelas instituições no formato D+0/D+2 (valor U$500 operações câmbio pronto) separado por moeda dólar e euro compra e venda PF/PJ. + required: + - foreignCurrency + - deliveryForeignCurrency + - transactionType + - transactionCategory + - value + - targetAudience + properties: + foreignCurrency: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + deliveryForeignCurrency: + $ref: '#/components/schemas/EnumExchangeDeliveryForeignCurrency' + transactionType: + $ref: '#/components/schemas/EnumExchangeTransactionType' + transactionCategory: + $ref: '#/components/schemas/EnumExchangeTransactionCategory' + targetAudience: + $ref: '#/components/schemas/EnumDistinctTargetAudience' + value: + type: string + maxLength: 7 + pattern: '^\d{1}\.\d{1,5}$' + example: '5.5023' + description: Valor da operação. + additionalProperties: false + VetValueFrequencyDistributionPrice: + type: object + required: + - interval + - value + - customerRate + properties: + interval: + type: string + description: Faixas de frequência + maxLength: 7 + enum: + - 1_FAIXA + - 2_FAIXA + - 3_FAIXA + - 4_FAIXA + example: 1_FAIXA + value: + type: string + description: Mediana. + example: '0.020300' + maxLength: 8 + pattern: '^\d{1}\.\d{1,6}$' + customerRate: + type: string + description: Percentual de clientes. + example: '0.500000' + maxLength: 8 + pattern: '^\d{1}\.\d{1,6}$' + additionalProperties: false + EnumExchangeDeliveryForeignCurrency: + type: string + description: 'A classificação da forma de operação, conforme a circular BCB nº 3690 de 16/12/2013. (Vide Enum)
' + maxLength: 21 + enum: + - ESPECIE + - CARTAO_PRE_PAGO + - TELETRANSMISSAO_SWIFT + example: CARTAO_PRE_PAGO + EnumExchangeRangeTransactionCategory: + type: string + description: A classificação conforme a circular BCB nº 4015. + maxLength: 17 + enum: + - '0,01_200' + - '200,01_500' + - '500,01_1.000' + - '1.000,01_3.000' + - '3.000,01_10.000' + - '10.000,01_30.000' + - '30.000,01_100.000' + example: '0,01_200' + EnumExchangeTransactionCategory: + type: string + description: 'A classificação do tipo de operação, conforme a circular BCB nº 3690 de 16/12/2013.' + maxLength: 68 + enum: + - COMERCIO_EXTERIOR + - TRANSPORTE + - SEGUROS + - VIAGENS_INTERNACIONAIS + - TRANSFERENCIAS_UNILATERAIS + - SERVICOS_DIVERSOS + - RENDAS_CAPITAIS + - CAPITAIS_BRASILEIROS + - CAPITAIS_ESTRANGEIROS + - PRESTACAO_SERVICO_PAGAMENTO_OU_TRANSFERENCIA_INTERNACIONAL_EFX + example: COMERCIO_EXTERIOR + EnumExchangeTransactionType: + type: string + description: | + Determina se o Banco está comprando ou vendendo a moeda estrangeira nas operações + spot, que se liquidam em até dois dias (não aplica-se a operações futuras. (Vide Enum) + - Compra + - Venda + maxLength: 6 + enum: + - COMPRA + - VENDA + example: COMPRA + Participant: + type: object + description: Conjunto de informações relativas ao participante do produto de Open Finance + required: + - brand + - name + - cnpjNumber + properties: + brand: + type: string + description: 'Nome da marca reportada pelo participante do Open Finance. O conceito a que se refere a ''marca'' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes.' + maxLength: 80 + example: Organização + name: + type: string + description: Nome do participante do Open Finance. + maxLength: 80 + example: Organização A1 + cnpjNumber: + type: string + description: 'O CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.' + pattern: '^\d{14}$' + example: '13456789000112' + urlComplementaryList: + type: string + maxLength: 1024 + pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + example: 'https://empresaa1.com/companies' + additionalProperties: false + EnumDistinctTargetAudience: + type: string + description: Público alvo (PESSOA_NATURAL ou PESSOA_JURIDICA). + maxLength: 15 + enum: + - PESSOA_NATURAL + - PESSOA_JURIDICA + example: PESSOA_JURIDICA + EnumTargetAudience: + type: string + description: | + A considerar os domínios abaixo: + + 1. Pessoa Natural + 2. Pessoa Jurídica + 3. Ambas (Pessoa Natural e Jurídica) + maxLength: 23 + enum: + - PESSOA_NATURAL + - PESSOA_JURIDICA + - PESSOA_NATURAL_JURIDICA + example: PESSOA_NATURAL + parameters: + OperationId: + name: operationId + in: path + description: 'Identifica de forma única o relacionamento do cliente com o produto, mantendo as regras de imutabilidade dentro da instituição transmissora.' + required: true + schema: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + maxLength: 100 + example: '92792126019929200000000000000000000000000' + page: + name: page + in: query + description: Número da página que está sendo requisitada (o valor da primeira página é 1). + schema: + type: integer + default: 1 + minimum: 1 + maximum: 2147483647 + format: int32 + pageSize: + name: page-size + in: query + description: Quantidade total de registros por páginas. + schema: + type: integer + default: 25 + minimum: 1 + format: int32 + maximum: 1000 + responses: + OKResponseExchangeOnlineRate: + description: Dados de operações de câmbio da instituição obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/OKResponseExchangeOnlineRate' + OKResponseExchangeVetValue: + description: Dados de operações de câmbio da instituição obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/OKResponseExchangeVetValue' + BadRequest: + description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema' + NotFound: + description: O recurso solicitado não existe ou não foi implementado + content: + application/json; charset=utf-8: + schema: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 13 + items: + type: object + required: + - code + - title + - detail + properties: + code: + description: Código de erro específico do endpoint + type: string + pattern: '[\w\W\s]*' + maxLength: 255 + title: + description: Título legível por humanos deste erro específico + type: string + pattern: '[\w\W\s]*' + maxLength: 255 + detail: + description: Descrição legível por humanos deste erro específico + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + additionalProperties: false + meta: + $ref: '#/components/schemas/OpenDataMeta' + additionalProperties: false + MethodNotAllowed: + description: O consumidor tentou acessar o recurso com um método não suportado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema' + TooManyRequests: + description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema' + InternalServerError: + description: Ocorreu um erro no gateway da API ou no microsserviço + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema' diff --git a/swagger-apis/exchanges-aguardando-definicao/index.html b/swagger-apis/exchanges-aguardando-definicao/index.html new file mode 100644 index 000000000..00bbf6e2f --- /dev/null +++ b/swagger-apis/exchanges-aguardando-definicao/index.html @@ -0,0 +1,81 @@ + + + + + + Open Finance Brasil - OpenApi Specification + + + + + + + +
+

+ Essa é uma versão de rascunho e não deve ser utilizada para outras finalidades, você pode encontrar a documentação oficial e atualizada aqui +

+
+ +
+ + + + + + From 0891b8bd7cd86d032c350b8343d43b61115c86b4 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Tue, 16 May 2023 17:26:12 -0300 Subject: [PATCH 02/18] feat(Exchanges): ORB-2602 - PA69 - PA70 - PA71 - Criar endpoint de Listagem dos produtos --- .../1.0.0-rc1.0.yml | 646 ++++++++---------- 1 file changed, 279 insertions(+), 367 deletions(-) diff --git a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml index eee2618d6..5ccdcc1da 100644 --- a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml @@ -41,25 +41,52 @@ paths: operationId: productList description: Faltando receber a descrição do endpoint. parameters: - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/pagination-key' responses: '200': - $ref: '#/components/responses/OKResponseExchangeOnlineRate' + $ref: '#/components/responses/OKResponseProductList' '400': - $ref: '#/components/responses/BadRequest' + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' '404': - $ref: '#/components/responses/NotFound' + $ref: '#/components/responses/NotFoundWithAdditionalProperties' '405': - $ref: '#/components/responses/MethodNotAllowed' + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' '429': - $ref: '#/components/responses/TooManyRequests' + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' '500': - $ref: '#/components/responses/InternalServerError' + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OAuth2AuthorizationCode: + - 'openid' + - 'consent:consentId' + - 'exchanges' /operations/{operationId}: get: tags: - - Product identification + - Product Identification summary: Faltando receber a descrição do endpoint. operationId: productIdentification description: Faltando receber a descrição do endpoint @@ -68,18 +95,32 @@ paths: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' responses: - '200': - $ref: '#/components/responses/OKResponseExchangeVetValue' '400': - $ref: '#/components/responses/BadRequest' + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' '404': - $ref: '#/components/responses/NotFound' + $ref: '#/components/responses/NotFoundWithAdditionalProperties' '405': - $ref: '#/components/responses/MethodNotAllowed' + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' '429': - $ref: '#/components/responses/TooManyRequests' + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' '500': - $ref: '#/components/responses/InternalServerError' + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' /operations/{operationId}/events: get: tags: @@ -92,18 +133,32 @@ paths: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' responses: - '200': - $ref: '#/components/responses/OKResponseExchangeVetValue' '400': - $ref: '#/components/responses/BadRequest' + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' '404': - $ref: '#/components/responses/NotFound' + $ref: '#/components/responses/NotFoundWithAdditionalProperties' '405': - $ref: '#/components/responses/MethodNotAllowed' + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' '429': - $ref: '#/components/responses/TooManyRequests' + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' '500': - $ref: '#/components/responses/InternalServerError' + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' components: schemas: Links: @@ -166,7 +221,7 @@ components: description: Número total de páginas no resultado example: 1 additionalProperties: false - OKResponseExchangeOnlineRate: + OKResponseProductList: type: object required: - data @@ -176,315 +231,96 @@ components: data: type: array items: - $ref: '#/components/schemas/ExchangeOnlineRate' + $ref: '#/components/schemas/ProductList' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/OpenDataMeta' additionalProperties: false - OKResponseExchangeVetValue: + ProductList: type: object + description: Lista de operações de câmbio required: - - data - - links - - meta + - brandName + - companyCnpj + - operationId properties: - data: - type: array - items: - $ref: '#/components/schemas/ExchangeVetValue' - links: - $ref: '#/components/schemas/Links' - meta: - $ref: '#/components/schemas/OpenDataMeta' - additionalProperties: false - ExchangeOnlineRate: - type: object - description: Conjunto de informações referentes às informações de câmbio - required: - - participant - - values - - timestamp - - disclaimer - properties: - participant: - $ref: '#/components/schemas/Participant' - values: - type: array - items: - $ref: '#/components/schemas/OnlineRate' - example: - - foreignCurrency: USD - deliveryForeignCurrency: ESPECIE - transactionType: COMPRA - transactionCategory: COMERCIO_EXTERIOR - targetAudience: PESSOA_NATURAL - value: '5.5023' - - foreignCurrency: EUR - deliveryForeignCurrency: CARTAO_PRE_PAGO - transactionType: VENDA - transactionCategory: TRANSPORTE - targetAudience: PESSOA_JURIDICA - value: '2.7045' - timestamp: - type: string - format: date-time - description: Timestamp do momento da consulta - example: '2017-07-21T17:32:28Z' - disclaimer: + brandName: type: string - description: 'Disclaimer informando que a taxa apresentada é somente informativa, para a contratação de uma operação, deverá ser consultado o canal correspondente de cada instituição.' - example: 'Informamos que esta taxa é estimada e exclusiva para fins de Open Finance, não sendo válida para a contratação de operações de câmbio. Para obter a taxa para fechamento do câmbio, pedimos consultar os canais disponíveis para contratação.' - additionalProperties: false - ExchangeVetValue: - type: object - description: Conjunto de informações referentes às informações de câmbio - required: - - participant - - transactionType - - foreignCurrency - - deliveryForeignCurrency - - rangeTransactionCategory - - vetAmount - - targetAudience - properties: - participant: - $ref: '#/components/schemas/Participant' - transactionType: - $ref: '#/components/schemas/EnumExchangeTransactionType' - foreignCurrency: - $ref: '#/components/schemas/OnlineRate/properties/foreignCurrency' - deliveryForeignCurrency: - $ref: '#/components/schemas/EnumExchangeDeliveryForeignCurrency' - rangeTransactionCategory: - $ref: '#/components/schemas/EnumExchangeRangeTransactionCategory' - targetAudience: - $ref: '#/components/schemas/EnumTargetAudience' - vetAmount: - type: object - description: Distribuição por frequência. - required: - - prices - - minimum - - maximum - properties: - prices: - type: array - description: Distribuição dos preços. - items: - type: object - required: - - interval - - value - - operationRate - properties: - interval: - $ref: '#/components/schemas/VetValueFrequencyDistributionPrice/properties/interval' - value: - type: string - description: Mediana. - example: '0.020300' - maxLength: 8 - pattern: '^\d{1}\.\d{1,6}$' - operationRate: - type: string - description: Percentual de operação. - example: '0.500000' - maxLength: 8 - pattern: '^\d{1}\.\d{1,6}$' - additionalProperties: false - minItems: 4 - maxItems: 4 - example: - - interval: 1_FAIXA - value: '0.020300' - customerRate: '0.500000' - - interval: 2_FAIXA - value: '0.030600' - customerRate: '0.100000' - - interval: 3_FAIXA - value: '0.034300' - customerRate: '0.300000' - - interval: 4_FAIXA - value: '0.246800' - customerRate: '0.100000' - minimum: - type: string - description: Valor mínimo. - maxLength: 8 - pattern: '^\d{1}\.\d{1,6}$' - example: '0.010000' - maximum: - type: string - description: Valor máximo. - maxLength: 8 - pattern: '^\d{1}\.\d{1,6}$' - example: '0.300000' - additionalProperties: false - additionalProperties: false - OnlineRate: - type: object - description: Taxa disponibilizada (taxa online) pelas instituições no formato D+0/D+2 (valor U$500 operações câmbio pronto) separado por moeda dólar e euro compra e venda PF/PJ. - required: - - foreignCurrency - - deliveryForeignCurrency - - transactionType - - transactionCategory - - value - - targetAudience - properties: - foreignCurrency: + description: 'Nome da Marca reportada pelo participante no Open Finance. Recomenda-se utilizar, sempre que possível, o mesmo nome de marca atribuído no campo do diretório Customer Friendly Server Name (Authorisation Server). Instituição autorizada a operar' + pattern: '[\w\W\s]*' + example: Organização A + maxLength: 80 + companyCnpj: type: string - pattern: '^[A-Z]{3}$' - maxLength: 3 - description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' - example: BRL - deliveryForeignCurrency: - $ref: '#/components/schemas/EnumExchangeDeliveryForeignCurrency' - transactionType: - $ref: '#/components/schemas/EnumExchangeTransactionType' - transactionCategory: - $ref: '#/components/schemas/EnumExchangeTransactionCategory' - targetAudience: - $ref: '#/components/schemas/EnumDistinctTargetAudience' - value: + description: 'Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.' + maxLength: 14 + pattern: '^\d{14}$' + example: '21128159000166' + operationId: type: string - maxLength: 7 - pattern: '^\d{1}\.\d{1,5}$' - example: '5.5023' - description: Valor da operação. + description: 'Identifica de forma única o relacionamento do cliente com o produto, mantendo as regras de imutabilidade dentro da instituição transmissora.' + maxLength: 100 + pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' + example: '92792126019929240' additionalProperties: false - VetValueFrequencyDistributionPrice: + ResponseErrorWithAbleAdditionalProperties: type: object required: - - interval - - value - - customerRate + - errors properties: - interval: - type: string - description: Faixas de frequência - maxLength: 7 - enum: - - 1_FAIXA - - 2_FAIXA - - 3_FAIXA - - 4_FAIXA - example: 1_FAIXA - value: - type: string - description: Mediana. - example: '0.020300' - maxLength: 8 - pattern: '^\d{1}\.\d{1,6}$' - customerRate: - type: string - description: Percentual de clientes. - example: '0.500000' - maxLength: 8 - pattern: '^\d{1}\.\d{1,6}$' - additionalProperties: false - EnumExchangeDeliveryForeignCurrency: - type: string - description: 'A classificação da forma de operação, conforme a circular BCB nº 3690 de 16/12/2013. (Vide Enum)
' - maxLength: 21 - enum: - - ESPECIE - - CARTAO_PRE_PAGO - - TELETRANSMISSAO_SWIFT - example: CARTAO_PRE_PAGO - EnumExchangeRangeTransactionCategory: - type: string - description: A classificação conforme a circular BCB nº 4015. - maxLength: 17 - enum: - - '0,01_200' - - '200,01_500' - - '500,01_1.000' - - '1.000,01_3.000' - - '3.000,01_10.000' - - '10.000,01_30.000' - - '30.000,01_100.000' - example: '0,01_200' - EnumExchangeTransactionCategory: - type: string - description: 'A classificação do tipo de operação, conforme a circular BCB nº 3690 de 16/12/2013.' - maxLength: 68 - enum: - - COMERCIO_EXTERIOR - - TRANSPORTE - - SEGUROS - - VIAGENS_INTERNACIONAIS - - TRANSFERENCIAS_UNILATERAIS - - SERVICOS_DIVERSOS - - RENDAS_CAPITAIS - - CAPITAIS_BRASILEIROS - - CAPITAIS_ESTRANGEIROS - - PRESTACAO_SERVICO_PAGAMENTO_OU_TRANSFERENCIA_INTERNACIONAL_EFX - example: COMERCIO_EXTERIOR - EnumExchangeTransactionType: - type: string - description: | - Determina se o Banco está comprando ou vendendo a moeda estrangeira nas operações - spot, que se liquidam em até dois dias (não aplica-se a operações futuras. (Vide Enum) - - Compra - - Venda - maxLength: 6 - enum: - - COMPRA - - VENDA - example: COMPRA - Participant: + errors: + type: array + minItems: 1 + maxItems: 13 + items: + type: object + required: + - code + - title + - detail + properties: + code: + description: Código de erro específico do endpoint + type: string + pattern: '[\w\W\s]*' + maxLength: 255 + title: + description: Título legível por humanos deste erro específico + type: string + pattern: '[\w\W\s]*' + maxLength: 255 + detail: + description: Descrição legível por humanos deste erro específico + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + meta: + $ref: '#/components/schemas/MetaWithAbleAdditionalProperties' + MetaWithAbleAdditionalProperties: type: object - description: Conjunto de informações relativas ao participante do produto de Open Finance + description: Meta informações referente à API requisitada. required: - - brand - - name - - cnpjNumber + - totalRecords + - totalPages + - requestDateTime properties: - brand: - type: string - description: 'Nome da marca reportada pelo participante do Open Finance. O conceito a que se refere a ''marca'' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes.' - maxLength: 80 - example: Organização - name: - type: string - description: Nome do participante do Open Finance. - maxLength: 80 - example: Organização A1 - cnpjNumber: - type: string - description: 'O CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.' - pattern: '^\d{14}$' - example: '13456789000112' - urlComplementaryList: + totalRecords: + type: integer + format: int32 + description: Número total de registros no resultado + example: 1 + totalPages: + type: integer + format: int32 + description: Número total de páginas no resultado + example: 1 + requestDateTime: + description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.' type: string - maxLength: 1024 - pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' - example: 'https://empresaa1.com/companies' - additionalProperties: false - EnumDistinctTargetAudience: - type: string - description: Público alvo (PESSOA_NATURAL ou PESSOA_JURIDICA). - maxLength: 15 - enum: - - PESSOA_NATURAL - - PESSOA_JURIDICA - example: PESSOA_JURIDICA - EnumTargetAudience: - type: string - description: | - A considerar os domínios abaixo: - - 1. Pessoa Natural - 2. Pessoa Jurídica - 3. Ambas (Pessoa Natural e Jurídica) - maxLength: 23 - enum: - - PESSOA_NATURAL - - PESSOA_JURIDICA - - PESSOA_NATURAL_JURIDICA - example: PESSOA_NATURAL + maxLength: 20 + format: date-time + example: '2021-05-21T08:30:00Z' parameters: OperationId: name: operationId @@ -496,6 +332,55 @@ components: pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' maxLength: 100 example: '92792126019929200000000000000000000000000' + Authorization: + name: Authorization + in: header + description: Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado + required: true + schema: + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + xFapiAuthDate: + name: x-fapi-auth-date + in: header + description: 'Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231. Exemplo: Sun, 10 Sep 2017 19:43:31 UTC.' + required: false + schema: + type: string + pattern: '^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$' + minLength: 29 + maxLength: 29 + xFapiCustomerIpAddress: + name: x-fapi-customer-ip-address + in: header + description: O endereço IP do usuário se estiver atualmente logado com o receptor. + required: false + schema: + type: string + pattern: '[\w\W\s]*' + minLength: 1 + maxLength: 100 + xFapiInteractionId: + name: x-fapi-interaction-id + in: header + description: Um UUID RFC4122 usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser "espelhado" pela transmissora (server) no cabeçalho de resposta. + required: true + schema: + type: string + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$ + minLength: 1 + maxLength: 100 + xCustomerUserAgent: + name: x-customer-user-agent + in: header + description: Indica o user-agent que o usuário utiliza. + required: false + schema: + type: string + pattern: '[\w\W\s]*' + minLength: 1 + maxLength: 100 page: name: page in: query @@ -504,7 +389,7 @@ components: type: integer default: 1 minimum: 1 - maximum: 2147483647 + maximum: 2147483647 format: int32 pageSize: name: page-size @@ -516,79 +401,106 @@ components: minimum: 1 format: int32 maximum: 1000 + pagination-key: + name: pagination-key + in: query + description: Identificador de rechamada, utilizado para evitar a contagem de chamadas ao endpoint durante a paginação. + schema: + type: string + maxLength: 2048 + pattern: '[\w\W\s]*' + securitySchemes: + OAuth2AuthorizationCode: + type: oauth2 + description: Fluxo OAuth necessário para que a receptora tenha acesso aos dados na instituição transmissora. Requer o processo de redirecionamento e autenticação do usuário a que se referem os dados. + flows: + authorizationCode: + authorizationUrl: 'https://authserver.example/authorization' + tokenUrl: 'https://authserver.example/token' + scopes: + exchanges: Escopo necessário para acesso à API exchanges. O controle dos endpoints específicos é feito via permissions. responses: - OKResponseExchangeOnlineRate: + OKResponseProductList: description: Dados de operações de câmbio da instituição obtidos com sucesso. content: application/json: schema: - $ref: '#/components/schemas/OKResponseExchangeOnlineRate' - OKResponseExchangeVetValue: - description: Dados de operações de câmbio da instituição obtidos com sucesso. + $ref: '#/components/schemas/OKResponseProductList' + BadRequestWithAdditionalProperties: + description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' content: - application/json: + application/json; charset=utf-8: schema: - $ref: '#/components/schemas/OKResponseExchangeVetValue' - BadRequest: - description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + ForbiddenWithAdditionalProperties: + description: O token tem escopo incorreto ou uma política de segurança foi violada content: application/json; charset=utf-8: schema: - $ref: '#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema' - NotFound: - description: O recurso solicitado não existe ou não foi implementado + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + GatewayTimeoutWithAdditionalProperties: + description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido content: application/json; charset=utf-8: schema: - type: object - required: - - errors - properties: - errors: - type: array - minItems: 1 - maxItems: 13 - items: - type: object - required: - - code - - title - - detail - properties: - code: - description: Código de erro específico do endpoint - type: string - pattern: '[\w\W\s]*' - maxLength: 255 - title: - description: Título legível por humanos deste erro específico - type: string - pattern: '[\w\W\s]*' - maxLength: 255 - detail: - description: Descrição legível por humanos deste erro específico - type: string - pattern: '[\w\W\s]*' - maxLength: 2048 - additionalProperties: false - meta: - $ref: '#/components/schemas/OpenDataMeta' - additionalProperties: false - MethodNotAllowed: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + InternalServerErrorWithAdditionalProperties: + description: Ocorreu um erro no gateway da API ou no microsserviço + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + LockedWithAdditionalProperties: + description: Locked + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + MethodNotAllowedWithAdditionalProperties: description: O consumidor tentou acessar o recurso com um método não suportado content: application/json; charset=utf-8: schema: - $ref: '#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema' - TooManyRequests: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + NotAcceptableWithAdditionalProperties: + description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + NotFoundWithAdditionalProperties: + description: O recurso solicitado não existe ou não foi implementado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + TooManyRequestsWithAdditionalProperties: description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido' content: application/json; charset=utf-8: schema: - $ref: '#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema' - InternalServerError: - description: Ocorreu um erro no gateway da API ou no microsserviço + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + UnauthorizedWithAdditionalProperties: + description: Cabeçalho de autenticação ausente/inválido ou token inválido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + UnprocessableEntityWithAdditionalProperties: + description: 'A sintaxe da requisição esta correta, mas não foi possível processar as instruções presentes.' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + DefaultWithAdditionalProperties: + description: Erro inesperado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' + SiteIsOverloadedWithAdditionalProperties: + description: 'O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento.' content: application/json; charset=utf-8: schema: - $ref: '#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema' + $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' From 0d37b1902f79d0a9a55e6ee4169ae9c5d6465c1e Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 10:40:15 -0300 Subject: [PATCH 03/18] =?UTF-8?q?feat(Exchanges):=20ORB-2603=20-=20PA69=20?= =?UTF-8?q?-=20PA70=20-=20PA71=20-=20Criar=20endpoint=20de=20Identifica?= =?UTF-8?q?=C3=A7=C3=A3o=20do=20produto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1.0.0-rc1.0.yml | 284 +++++++++++++++++- 1 file changed, 274 insertions(+), 10 deletions(-) diff --git a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml index 5ccdcc1da..276a4817d 100644 --- a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml @@ -41,14 +41,14 @@ paths: operationId: productList description: Faltando receber a descrição do endpoint. parameters: - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/xFapiAuthDate' - - $ref: '#/components/parameters/xFapiCustomerIpAddress' - - $ref: '#/components/parameters/xFapiInteractionId' - - $ref: '#/components/parameters/xCustomerUserAgent' - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/pageSize' - - $ref: '#/components/parameters/pagination-key' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/pagination-key' responses: '200': $ref: '#/components/responses/OKResponseProductList' @@ -92,9 +92,14 @@ paths: description: Faltando receber a descrição do endpoint parameters: - $ref: '#/components/parameters/OperationId' - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' responses: + '200': + $ref: '#/components/responses/OKResponseProductIdentification' '400': $ref: '#/components/responses/BadRequestWithAdditionalProperties' '401': @@ -121,6 +126,11 @@ paths: $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' default: $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OAuth2AuthorizationCode: + - 'openid' + - 'consent:consentId' + - 'exchanges' /operations/{operationId}/events: get: tags: @@ -237,6 +247,22 @@ components: meta: $ref: '#/components/schemas/OpenDataMeta' additionalProperties: false + OKResponseProductIdentification: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + items: + $ref: '#/components/schemas/ProductIdentification' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/OpenDataMeta' + additionalProperties: false ProductList: type: object description: Lista de operações de câmbio @@ -264,6 +290,238 @@ components: pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' example: '92792126019929240' additionalProperties: false + ProductIdentification: + type: object + description: Detalhes da operação de câmbio. + required: + - authorizedInstitutionCnpjNumber + - authorizedInstitutionName + - operationType + - operationDate + - dueDate + - localCurrencyOperationTax + - deliveryForeignCurrency + - operationCategoryCode + properties: + authorizedInstitutionCnpjNumber: + type: string + description: CNPJ da instituição autorizada a operar no mercado de câmbio. + maxLength: 14 + pattern: '^\d{14}$' + example: '11225860000140' + authorizedInstitutionName: + type: string + description: Nome da Instituição Financeira no Brasil. + maxLength: 250 + pattern: '[\w\W\s]*' + example: AGENCIA CORRETORA + intermediaryInstitutionCnpjNumber: + type: string + description: | + CNPJ da instituição intermediadora autorizada a operar no mercado de câmbio. + Campo de envio obrigatório nos casos em que houver instituição intermediadora. + maxLength: 14 + pattern: '^\d{14}$' + example: '11225860000140' + intemediaryInstitutionName: + type: string + description: | + Nome da corretora interveniente autorizada a operar no mercado de câmbio. + + [Restrição] Campo de envio obrigatório nos casos em que for informado o CNPJ da instituição intermediadora. + maxLength: 250 + pattern: '[\w\W\s]*' + example: AGENCIA CORRETORA + operationNumber: + type: string + description: Número do registro da operação no Bacen. Deve ser preenchido no compartilhamento, após registro no Sistema de Câmbio e número disponível na transmissora/detentora. + maxLength: 12 + pattern: '^\d{12}$' + example: '393874649456' + operationType: + $ref: '#/components/schemas/EnumExchangesOperationType' + operationDate: + type: string + format: date-time + description: Data do fechamento do contrato de câmbio. + maxLength: 20 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' + example: '2023-03-07T08:30:00Z' + dueDate: + type: string + format: date + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + description: Data em que a operação (compra ou venda) está prevista para ser liquidada. + maxLength: 10 + example: "2018-02-15" + localCurrencyOperationTax: + type: object + description: Valor da taxa de câmbio aplicada a este contrato, em moeda nacional. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 31 + pattern: '^\d{1,15}\.\d{1,15}$' + example: '1.3' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: BRL + localCurrencyOperationValue: + type: object + description: Valor negociado em moeda nacional. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,17}\.\d{2}$' + example: '1000.04' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: BRL + foreignOperationValue: + type: object + description: Valor da operação em moeda estrangeira. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,17}\.\d{2}$' + example: '1000.04' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: USD + operationOutstandingBalance: + type: object + description: Valor do saldo da operação a liquidar em moeda estrangeira. Objeto de envio obrigatório nos casos de operações de câmbio com liquidação futura. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,17}\.\d{2}$' + example: '1000.04' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: BRL + vetAmount: + type: object + description: Representa o custo de uma operação de câmbio em reais por moeda estrangeira, englobando a taxa de câmbio, as tarifas e tributos incidentes sobre essa operação. Campo de envio obrigatório nas operações de câmbio pronto que atingirem até o limite de US$100.000 ou equivalente em outras moedas. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 31 + pattern: '\d{1,15}\.\d{1,15}$' + example: '1000.000004' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: BRL + localCurrencyAdvancePercentage: + type: string + description: Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. + pattern: '^\d{1}\.\d{1,6}$' + maxLength: 8 + minLength: 4 + example: '0.12' + deliveryForeignCurrency: + $ref: '#/components/schemas/EnumExchangesDeliveryForeignCurrency' + operationCategoryCode: + type: string + maxLength: 5 + pattern: '^\d{5}$' + description: Código da natureza fato do fechamento da operação. Deve respeitar os códigos de natureza referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. + example: '90302' + relationshipCode: + type: string + maxLength: 2 + pattern: '^\d{2}$' + description: | + Código de Relação de vínculo entre o Cliente e o Pagador/Recebedor no Exterior. Deve respeitar os códigos de vínculo referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. + + [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + example: '50' + foreignPartieName: + type: string + description: | + Nome do pagador ou recebedor no exterior. + + [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + maxLength: 80 + pattern: '[\w\W\s]*' + example: José da Silva + foreignPartieCountryCode: + type: string + description: | + País do pagador ou recebedor. Código do país segundo a norma ISO 3166-1. + + [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + maxLength: 2 + pattern: '^[A-Z]{2}$' + example: ZA + additionalProperties: false + EnumExchangesOperationType: + type: string + description: Compra ou venda de moeda estrangeira. + enum: + - COMPRA + - VENDA + example: COMPRA + EnumExchangesDeliveryForeignCurrency: + type: string + description: Forma de entrega da moeda estrangeira. + enum: + - CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_NO_PAIS + - CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_NO_EXTERIOR + - ESPECIE_CHEQUES_VIAGEM + - CARTAO_PREPAGO + - TELETRANSMISSAO + - SEM_MOVIMENTACAO_VALORES + - DEMAIS + - CARTA_CREDITO_A_VISTA + - CARTA_CREDITO_A_PRAZO + - CONTA_DEPOSITO + - CHEQUE + - TITULOS_VALORES + - SIMBOLICA + example: CARTA_CREDITO_A_PRAZO ResponseErrorWithAbleAdditionalProperties: type: object required: @@ -426,6 +684,12 @@ components: application/json: schema: $ref: '#/components/schemas/OKResponseProductList' + OKResponseProductIdentification: + description: Dados de operações de câmbio da instituição obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/OKResponseProductIdentification' BadRequestWithAdditionalProperties: description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' content: From df8f7da16003590dafa25cfd0aadfd74bd78efcd Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 11:06:39 -0300 Subject: [PATCH 04/18] =?UTF-8?q?fix(Exchanges):=20ORB-2603=20-=20PA69=20-?= =?UTF-8?q?=20PA70=20-=20PA71=20-=20campo=20obrigat=C3=B3rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml index 276a4817d..0333b423b 100644 --- a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml @@ -300,6 +300,7 @@ components: - operationDate - dueDate - localCurrencyOperationTax + - localCurrencyOperationValue - deliveryForeignCurrency - operationCategoryCode properties: From 52b8c0ae1eed5f07ad13a370a959906e5e022d9f Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 11:11:19 -0300 Subject: [PATCH 05/18] =?UTF-8?q?fix(Exchanges):=20ORB-2603=20-=20PA69=20-?= =?UTF-8?q?=20PA70=20-=20PA71=20-=20campo=20obrigat=C3=B3rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml index 0333b423b..9f7e364f2 100644 --- a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml @@ -301,6 +301,7 @@ components: - dueDate - localCurrencyOperationTax - localCurrencyOperationValue + - foreignOperationValue - deliveryForeignCurrency - operationCategoryCode properties: From 563298b00e60d21a553e8bbe7c189d357cffcc74 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 13:54:17 -0300 Subject: [PATCH 06/18] feat(Exchanges): ORB-2604 - PA69 - PA70 - PA71 - Criar endpoint de eventos --- .../1.0.0-rc1.0.yml | 255 +++++++++++++++++- 1 file changed, 254 insertions(+), 1 deletion(-) diff --git a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml index 276a4817d..ad3d3d95b 100644 --- a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml @@ -140,9 +140,19 @@ paths: description: Faltando receber a descrição do endpoint parameters: - $ref: '#/components/parameters/OperationId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/pagination-key' + - $ref: '#/components/parameters/fromTransactionDate' + - $ref: '#/components/parameters/toTransactionDate' responses: + '200': + $ref: '#/components/responses/OKResponseEvents' '400': $ref: '#/components/responses/BadRequestWithAdditionalProperties' '401': @@ -169,6 +179,11 @@ paths: $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' default: $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OAuth2AuthorizationCode: + - 'openid' + - 'consent:consentId' + - 'exchanges' components: schemas: Links: @@ -240,6 +255,7 @@ components: properties: data: type: array + minItems: 0 items: $ref: '#/components/schemas/ProductList' links: @@ -248,6 +264,19 @@ components: $ref: '#/components/schemas/OpenDataMeta' additionalProperties: false OKResponseProductIdentification: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/ProductIdentification' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/OpenDataMeta' + OKResponseEvents: type: object required: - data @@ -256,8 +285,9 @@ components: properties: data: type: array + minItems: 0 items: - $ref: '#/components/schemas/ProductIdentification' + $ref: '#/components/schemas/Events' links: $ref: '#/components/schemas/Links' meta: @@ -497,6 +527,179 @@ components: pattern: '^[A-Z]{2}$' example: ZA additionalProperties: false + Events: + type: object + description: Detalhes dos eventos da operação de câmbio. + required: + - eventSequenceNumber + - eventType + - eventDate + properties: + eventSequenceNumber: + type: string + description: Número sequência do registro do evento de câmbio no Bacen. + maxLength: 12 + pattern: '^\d{12}$' + example: '493874649457' + eventType: + $ref: '#/components/schemas/EnumExchangesEventType' + eventDate: + type: string + format: date-time + description: Data do evento relacionado com a operação. + maxLength: 20 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' + example: '2023-03-07T08:30:00Z' + dueDate: + type: string + format: date + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + description: Data em que a operação (compra ou venda), após evento, está prevista para ser liquidada. + maxLength: 10 + example: "2018-02-15" + localCurrencyOperationTax: + type: object + description: Valor da taxa de câmbio aplicada à operação, em moeda nacional. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 31 + pattern: '^\d{1,15}\.\d{1,15}$' + example: '1.3' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: BRL + localCurrencyOperationValue: + type: object + description: Valor negociado em moeda nacional. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,17}\.\d{2}$' + example: '1000.04' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: BRL + foreignOperationValue: + type: object + description: Valor da operação em moeda estrangeira. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,17}\.\d{2}$' + example: '1000.04' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: USD + operationOutstandingBalance: + type: object + description: Valor do saldo da operação, após evento, a liquidar em moeda estrangeira. Objeto de envio obrigatório nos casos de operações de câmbio com liquidação futura. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,17}\.\d{2}$' + example: '1000.04' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: BRL + vetAmount: + type: object + description: Representa o custo de uma operação de câmbio em reais por moeda estrangeira, englobando a taxa de câmbio, as tarifas e tributos incidentes sobre essa operação. Campo de envio obrigatório nas operações de câmbio pronto que atingirem até o limite de US$100.000 ou equivalente em outras moedas. + required: + - amount + - currency + properties: + amount: + type: string + format: double + description: Valor relacionado ao objeto. + maxLength: 31 + pattern: '\d{1,15}\.\d{1,15}$' + example: '1000.000004' + currency: + type: string + description: Moeda referente ao valor monetário, seguindo o modelo ISO-4217. + pattern: '^[A-Z]{3}$' + maxLength: 3 + example: BRL + localCurrencyAdvancePercentage: + type: string + description: Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. + pattern: '^\d{1}\.\d{1,6}$' + maxLength: 8 + minLength: 4 + example: '0.12' + deliveryForeignCurrency: + $ref: '#/components/schemas/EnumExchangesDeliveryForeignCurrency' + operationCategoryCode: + type: string + maxLength: 5 + pattern: '^\d{5}$' + description: Código da natureza fato do fechamento da operação. Deve respeitar os códigos de natureza referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. + example: '90302' + relationshipCode: + type: string + maxLength: 2 + pattern: '^\d{2}$' + description: | + Código de Relação de vínculo entre o Cliente e o Pagador/Recebedor no Exterior. Deve respeitar os códigos de vínculo referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. + + [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + example: '50' + foreignPartieName: + type: string + description: | + Nome do pagador ou recebedor no exterior. + + [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + maxLength: 80 + pattern: '[\w\W\s]*' + example: José da Silva + foreignPartieCountryCode: + type: string + description: | + País do pagador ou recebedor. Código do país segundo a norma ISO 3166-1. + + [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + maxLength: 2 + pattern: '^[A-Z]{2}$' + example: ZA + additionalProperties: false EnumExchangesOperationType: type: string description: Compra ou venda de moeda estrangeira. @@ -504,6 +707,24 @@ components: - COMPRA - VENDA example: COMPRA + EnumExchangesEventType: + type: string + description: | + Para o campo domínio + 1 - Contratação no Mercado Primário + 2 - Alteração de Operação Cambial no Mercado Primário + 3 - Cancelamento de Operação Cambial no Mercado Primário + 4 - Liquidação de Operação Cambial no Mercado Primário + 5 - Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário + 6 - Restabelecimento de Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário O evento está relacionado ao tipo de contratação. + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + example: '2' EnumExchangesDeliveryForeignCurrency: type: string description: Forma de entrega da moeda estrangeira. @@ -667,6 +888,32 @@ components: type: string maxLength: 2048 pattern: '[\w\W\s]*' + fromTransactionDate: + name: fromTransactionDate + description: | + Data inicial de filtragem. + + [Restrição] Deve obrigatoriamente ser enviado caso o campo toTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual. + required: false + in: query + schema: + type: string + maxLength: 10 + format: date + example: '2021-05-21' + toTransactionDate: + name: toTransactionDate + description: | + Data final de filtragem. + + [Restrição] Deve obrigatoriamente ser enviado caso o campo fromTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual. + required: false + in: query + schema: + type: string + maxLength: 10 + format: date + example: '2021-05-21' securitySchemes: OAuth2AuthorizationCode: type: oauth2 @@ -690,6 +937,12 @@ components: application/json: schema: $ref: '#/components/schemas/OKResponseProductIdentification' + OKResponseEvents: + description: Dados de operações de câmbio da instituição obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/OKResponseEvents' BadRequestWithAdditionalProperties: description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' content: From 6627dd0d093b6181e61b8fda461b443aad610399 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 14:19:01 -0300 Subject: [PATCH 07/18] fix(Exchanges): adicionado a lista de APIS --- index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/index.html b/index.html index 0887175c4..ed148f598 100644 --- a/index.html +++ b/index.html @@ -59,6 +59,7 @@ 'credit-fixed-incomes', 'customers', 'exchange', + 'exchanges-aguardando-definicao', 'funds', 'financings', 'insurances', From d1ce9fa1adb3081eaf133ac966662d9f74cced6d Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 14:29:17 -0300 Subject: [PATCH 08/18] fix(Exchanges): ajustado nome API --- index.html | 2 +- .../1.0.0-rc1.0.yml | 0 .../{exchanges-aguardando-definicao => exchanges}/index.html | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename swagger-apis/{exchanges-aguardando-definicao => exchanges}/1.0.0-rc1.0.yml (100%) rename swagger-apis/{exchanges-aguardando-definicao => exchanges}/index.html (100%) diff --git a/index.html b/index.html index ed148f598..4e0906ecc 100644 --- a/index.html +++ b/index.html @@ -59,7 +59,7 @@ 'credit-fixed-incomes', 'customers', 'exchange', - 'exchanges-aguardando-definicao', + 'exchanges', 'funds', 'financings', 'insurances', diff --git a/swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml similarity index 100% rename from swagger-apis/exchanges-aguardando-definicao/1.0.0-rc1.0.yml rename to swagger-apis/exchanges/1.0.0-rc1.0.yml diff --git a/swagger-apis/exchanges-aguardando-definicao/index.html b/swagger-apis/exchanges/index.html similarity index 100% rename from swagger-apis/exchanges-aguardando-definicao/index.html rename to swagger-apis/exchanges/index.html From bcc2fa5aef6c59b9f6b156c569a33f84362f7d5a Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 14:41:23 -0300 Subject: [PATCH 09/18] fix(Exchanges): ajuste DeliveryForeignCurrency --- swagger-apis/exchanges/1.0.0-rc1.0.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index ae803b9c1..095c8d007 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -731,8 +731,8 @@ components: type: string description: Forma de entrega da moeda estrangeira. enum: - - CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_NO_PAIS - - CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_NO_EXTERIOR + - CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_PAIS + - CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_EXTERIOR - ESPECIE_CHEQUES_VIAGEM - CARTAO_PREPAGO - TELETRANSMISSAO From cbbc36e3278d547eaca14289f8252547245ae113 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 17:06:20 -0300 Subject: [PATCH 10/18] feat(Exchanges): ORB-2606 - PA69 - PA70 - PA71 - Criar dicionarios de dados --- dictionary/exchangesEvents_v1.csv | 63 +++++++++++++++++++ .../exchangesProductIdentification_v1.csv | 62 ++++++++++++++++++ dictionary/exchangesProductList_v1.csv | 5 ++ swagger-apis/exchanges/1.0.0-rc1.0.yml | 6 +- 4 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 dictionary/exchangesEvents_v1.csv create mode 100644 dictionary/exchangesProductIdentification_v1.csv create mode 100644 dictionary/exchangesProductList_v1.csv diff --git a/dictionary/exchangesEvents_v1.csv b/dictionary/exchangesEvents_v1.csv new file mode 100644 index 000000000..d5562da0a --- /dev/null +++ b/dictionary/exchangesEvents_v1.csv @@ -0,0 +1,63 @@ +Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo +/data;data;;Lista;;Obrigatório;;;0;N;"";Não permitido;array;; +/data/eventSequenceNumber;eventSequenceNumber;Número sequência do registro do evento de câmbio no Bacen.;Texto;12;Obrigatório;^\d{12}$;;1;1;"";Não permitido;string;493874649457; +/data/eventType;eventType;"Para o campo domínio +1 - Contratação no Mercado Primário +2 - Alteração de Operação Cambial no Mercado Primário +3 - Cancelamento de Operação Cambial no Mercado Primário +4 - Liquidação de Operação Cambial no Mercado Primário +5 - Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário +6 - Restabelecimento de Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário O evento está relacionado ao tipo de contratação. +";Texto;;Obrigatório;;"1 +2 +3 +4 +5 +6";1;1;"";Não permitido;string;2; +/data/eventDate;eventDate;Data do evento relacionado com a operação.;Date Hora;20;Obrigatório;^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$;;1;1;"";Não permitido;string;2023-03-07T08:30:00Z; +/data/dueDate;dueDate;Data em que a operação (compra ou venda), após evento, está prevista para ser liquidada.;Data;10;Opcional;^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$;;0;1;"";Não permitido;string;2018-02-15; +/data/localCurrencyOperationTax;localCurrencyOperationTax;Valor da taxa de câmbio aplicada à operação, em moeda nacional.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/data/localCurrencyOperationTax/amount;amount;Valor relacionado ao objeto.;Texto;31;Obrigatório;^\d{1,15}\.\d{1,15}$;;1;1;"";Não permitido;string;1.3; +/data/localCurrencyOperationTax/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; +/data/localCurrencyOperationValue;localCurrencyOperationValue;Valor negociado em moeda nacional.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/data/localCurrencyOperationValue/amount;amount;Valor relacionado ao objeto.;Texto;20;Obrigatório;^\d{1,17}\.\d{2}$;;1;1;"";Não permitido;string;1000.04; +/data/localCurrencyOperationValue/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; +/data/foreignOperationValue;foreignOperationValue;Valor da operação em moeda estrangeira.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/data/foreignOperationValue/amount;amount;Valor relacionado ao objeto.;Texto;20;Obrigatório;^\d{1,17}\.\d{2}$;;1;1;"";Não permitido;string;1000.04; +/data/foreignOperationValue/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;USD; +/data/operationOutstandingBalance;operationOutstandingBalance;Valor do saldo da operação, após evento, a liquidar em moeda estrangeira. Objeto de envio obrigatório nos casos de operações de câmbio com liquidação futura.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/data/operationOutstandingBalance/amount;amount;Valor relacionado ao objeto.;Texto;20;Obrigatório;^\d{1,17}\.\d{2}$;;1;1;"";Não permitido;string;1000.04; +/data/operationOutstandingBalance/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; +/data/vetAmount;vetAmount;Representa o custo de uma operação de câmbio em reais por moeda estrangeira, englobando a taxa de câmbio, as tarifas e tributos incidentes sobre essa operação. Campo de envio obrigatório nas operações de câmbio pronto que atingirem até o limite de US$100.000 ou equivalente em outras moedas.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/data/vetAmount/amount;amount;Valor relacionado ao objeto.;Texto;31;Obrigatório;\d{1,15}\.\d{1,15}$;;1;1;"";Não permitido;string;1000.000004; +/data/vetAmount/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; +/data/localCurrencyAdvancePercentage;localCurrencyAdvancePercentage;Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500.;Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;4 +/data/deliveryForeignCurrency;deliveryForeignCurrency;Forma de entrega da moeda estrangeira.;Texto;;Opcional;;"CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_NO_PAIS +CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_NO_EXTERIOR +ESPECIE_CHEQUES_VIAGEM +CARTAO_PREPAGO +TELETRANSMISSAO +SEM_MOVIMENTACAO_VALORES +DEMAIS +CARTA_CREDITO_A_VISTA +CARTA_CREDITO_A_PRAZO +CONTA_DEPOSITO +CHEQUE +TITULOS_VALORES +SIMBOLICA";0;1;"";Não permitido;string;CARTA_CREDITO_A_PRAZO; +/data/operationCategoryCode;operationCategoryCode;Código da natureza fato do fechamento da operação. Deve respeitar os códigos de natureza referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio.;Texto;5;Opcional;^\d{5}$;;0;1;"";Não permitido;string;90302; +/data/relationshipCode;relationshipCode;"Código de Relação de vínculo entre o Cliente e o Pagador/Recebedor no Exterior. Deve respeitar os códigos de vínculo referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. + +[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;2;Condicional;^\d{2}$;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Não permitido;string;50; +/data/foreignPartieName;foreignPartieName;"Nome do pagador ou recebedor no exterior. + +[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;80;Condicional;[\w\W\s]*;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Não permitido;string;José da Silva; +/data/foreignPartieCountryCode;foreignPartieCountryCode;"País do pagador ou recebedor. Código do país segundo a norma ISO 3166-1. + +[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;2;Condicional;^[A-Z]{2}$;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Não permitido;string;ZA; diff --git a/dictionary/exchangesProductIdentification_v1.csv b/dictionary/exchangesProductIdentification_v1.csv new file mode 100644 index 000000000..a44369bc3 --- /dev/null +++ b/dictionary/exchangesProductIdentification_v1.csv @@ -0,0 +1,62 @@ +Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo +/data;data;Detalhes da operação de câmbio.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/authorizedInstitutionCnpjNumber;authorizedInstitutionCnpjNumber;CNPJ da instituição autorizada a operar no mercado de câmbio.;Texto;14;Obrigatório;^\d{14}$;;1;1;"";Não permitido;string;11225860000140; +/data/authorizedInstitutionName;authorizedInstitutionName;Nome da Instituição Financeira no Brasil.;Texto;250;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;AGENCIA CORRETORA; +/data/intermediaryInstitutionCnpjNumber;intermediaryInstitutionCnpjNumber;"CNPJ da instituição intermediadora autorizada a operar no mercado de câmbio. +Campo de envio obrigatório nos casos em que houver instituição intermediadora. +";Texto;14;Opcional;^\d{14}$;;0;1;"";Não permitido;string;11225860000140; +/data/intemediaryInstitutionName;intemediaryInstitutionName;"Nome da corretora interveniente autorizada a operar no mercado de câmbio. + +[Restrição] Campo de envio obrigatório nos casos em que for informado o CNPJ da instituição intermediadora. +";Texto;250;Condicional;[\w\W\s]*;;0;1;" Campo de envio obrigatório nos casos em que for informado o CNPJ da instituição intermediadora. +";Não permitido;string;AGENCIA CORRETORA; +/data/operationNumber;operationNumber;Número do registro da operação no Bacen. Deve ser preenchido no compartilhamento, após registro no Sistema de Câmbio e número disponível na transmissora/detentora.;Texto;12;Opcional;^\d{12}$;;0;1;"";Não permitido;string;393874649456; +/data/operationType;operationType;Compra ou venda de moeda estrangeira.;Texto;;Obrigatório;;"COMPRA +VENDA";1;1;"";Não permitido;string;COMPRA; +/data/operationDate;operationDate;Data do fechamento do contrato de câmbio.;Date Hora;20;Obrigatório;^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$;;1;1;"";Não permitido;string;2023-03-07T08:30:00Z; +/data/dueDate;dueDate;Data em que a operação (compra ou venda) está prevista para ser liquidada.;Data;10;Obrigatório;^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$;;1;1;"";Não permitido;string;2018-02-15; +/data/localCurrencyOperationTax;localCurrencyOperationTax;Valor da taxa de câmbio aplicada a este contrato, em moeda nacional.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/localCurrencyOperationTax/amount;amount;Valor relacionado ao objeto.;Texto;31;Obrigatório;^\d{1,15}\.\d{1,15}$;;1;1;"";Não permitido;string;1.3; +/data/localCurrencyOperationTax/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; +/data/localCurrencyOperationValue;localCurrencyOperationValue;Valor negociado em moeda nacional.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/localCurrencyOperationValue/amount;amount;Valor relacionado ao objeto.;Texto;20;Obrigatório;^\d{1,17}\.\d{2}$;;1;1;"";Não permitido;string;1000.04; +/data/localCurrencyOperationValue/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; +/data/foreignOperationValue;foreignOperationValue;Valor da operação em moeda estrangeira.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/foreignOperationValue/amount;amount;Valor relacionado ao objeto.;Texto;20;Obrigatório;^\d{1,17}\.\d{2}$;;1;1;"";Não permitido;string;1000.04; +/data/foreignOperationValue/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;USD; +/data/operationOutstandingBalance;operationOutstandingBalance;Valor do saldo da operação a liquidar em moeda estrangeira. Objeto de envio obrigatório nos casos de operações de câmbio com liquidação futura.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/data/operationOutstandingBalance/amount;amount;Valor relacionado ao objeto.;Texto;20;Obrigatório;^\d{1,17}\.\d{2}$;;1;1;"";Não permitido;string;1000.04; +/data/operationOutstandingBalance/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; +/data/vetAmount;vetAmount;Representa o custo de uma operação de câmbio em reais por moeda estrangeira, englobando a taxa de câmbio, as tarifas e tributos incidentes sobre essa operação. Campo de envio obrigatório nas operações de câmbio pronto que atingirem até o limite de US$100.000 ou equivalente em outras moedas.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/data/vetAmount/amount;amount;Valor relacionado ao objeto.;Texto;31;Obrigatório;\d{1,15}\.\d{1,15}$;;1;1;"";Não permitido;string;1000.000004; +/data/vetAmount/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; +/data/localCurrencyAdvancePercentage;localCurrencyAdvancePercentage;Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500.;Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;4 +/data/deliveryForeignCurrency;deliveryForeignCurrency;Forma de entrega da moeda estrangeira.;Texto;;Obrigatório;;"CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_NO_PAIS +CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_NO_EXTERIOR +ESPECIE_CHEQUES_VIAGEM +CARTAO_PREPAGO +TELETRANSMISSAO +SEM_MOVIMENTACAO_VALORES +DEMAIS +CARTA_CREDITO_A_VISTA +CARTA_CREDITO_A_PRAZO +CONTA_DEPOSITO +CHEQUE +TITULOS_VALORES +SIMBOLICA";1;1;"";Não permitido;string;CARTA_CREDITO_A_PRAZO; +/data/operationCategoryCode;operationCategoryCode;Código da natureza fato do fechamento da operação. Deve respeitar os códigos de natureza referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio.;Texto;5;Obrigatório;^\d{5}$;;1;1;"";Não permitido;string;90302; +/data/relationshipCode;relationshipCode;"Código de Relação de vínculo entre o Cliente e o Pagador/Recebedor no Exterior. Deve respeitar os códigos de vínculo referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. + +[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;2;Condicional;^\d{2}$;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Não permitido;string;50; +/data/foreignPartieName;foreignPartieName;"Nome do pagador ou recebedor no exterior. + +[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;80;Condicional;[\w\W\s]*;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Não permitido;string;José da Silva; +/data/foreignPartieCountryCode;foreignPartieCountryCode;"País do pagador ou recebedor. Código do país segundo a norma ISO 3166-1. + +[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;2;Condicional;^[A-Z]{2}$;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Não permitido;string;ZA; diff --git a/dictionary/exchangesProductList_v1.csv b/dictionary/exchangesProductList_v1.csv new file mode 100644 index 000000000..805f8600a --- /dev/null +++ b/dictionary/exchangesProductList_v1.csv @@ -0,0 +1,5 @@ +Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo +/data;data;;Lista;;Obrigatório;;;0;N;"";Não permitido;array;; +/data/brandName;brandName;Nome da Marca reportada pelo participante no Open Finance. Recomenda-se utilizar, sempre que possível, o mesmo nome de marca atribuído no campo do diretório Customer Friendly Server Name (Authorisation Server). Instituição autorizada a operar;Texto;80;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;Organização A; +/data/companyCnpj;companyCnpj;Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.;Texto;14;Obrigatório;^\d{14}$;;1;1;"";Não permitido;string;21128159000166; +/data/operationId;operationId;Identifica de forma única o relacionamento do cliente com o produto, mantendo as regras de imutabilidade dentro da instituição transmissora.;Texto;100;Obrigatório;^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$;;1;1;"";Não permitido;string;92792126019929240; diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index ae803b9c1..79b7fef36 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -38,7 +38,7 @@ paths: tags: - Product List summary: Faltando receber a descrição do endpoint. - operationId: productList + operationId: exchangesProductList description: Faltando receber a descrição do endpoint. parameters: - $ref: '#/components/parameters/Authorization' @@ -88,7 +88,7 @@ paths: tags: - Product Identification summary: Faltando receber a descrição do endpoint. - operationId: productIdentification + operationId: exchangesProductIdentification description: Faltando receber a descrição do endpoint parameters: - $ref: '#/components/parameters/OperationId' @@ -136,7 +136,7 @@ paths: tags: - Events summary: Faltando receber a descrição do endpoint. - operationId: events + operationId: exchangesEvents description: Faltando receber a descrição do endpoint parameters: - $ref: '#/components/parameters/OperationId' From 11ac7c5c0b6bd89d64425f5f58013ba03dc7697c Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 17 May 2023 17:21:58 -0300 Subject: [PATCH 11/18] feat(Exchanges): ORB-2607 - PA69 - PA70 - PA71 - Criar exemplos de dados --- dictionary/example/examples_exchangesGetEvents_v1.csv | 4 ++++ .../examples_exchangesGetProductIdentification_v1.csv | 4 ++++ dictionary/example/examples_exchangesGetProductList_v1.csv | 3 +++ .../{exchangesEvents_v1.csv => exchangesGetEvents_v1.csv} | 0 ...tion_v1.csv => exchangesGetProductIdentification_v1.csv} | 0 ...gesProductList_v1.csv => exchangesGetProductList_v1.csv} | 0 swagger-apis/exchanges/1.0.0-rc1.0.yml | 6 +++--- 7 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 dictionary/example/examples_exchangesGetEvents_v1.csv create mode 100644 dictionary/example/examples_exchangesGetProductIdentification_v1.csv create mode 100644 dictionary/example/examples_exchangesGetProductList_v1.csv rename dictionary/{exchangesEvents_v1.csv => exchangesGetEvents_v1.csv} (100%) rename dictionary/{exchangesProductIdentification_v1.csv => exchangesGetProductIdentification_v1.csv} (100%) rename dictionary/{exchangesProductList_v1.csv => exchangesGetProductList_v1.csv} (100%) diff --git a/dictionary/example/examples_exchangesGetEvents_v1.csv b/dictionary/example/examples_exchangesGetEvents_v1.csv new file mode 100644 index 000000000..b3d3b31d4 --- /dev/null +++ b/dictionary/example/examples_exchangesGetEvents_v1.csv @@ -0,0 +1,4 @@ +data,,,,,,,,,,,,,,,,,,, +eventSequenceNumber,eventType,eventDate,dueDate,localCurrencyOperationTax,,localCurrencyOperationValue,,foreignOperationValue,,operationOutstandingBalance,,vetAmount,,localCurrencyAdvancePercentage,deliveryForeignCurrency,operationCategoryCode,relationshipCode,foreignPartieName,foreignPartieCountryCode +,,,,amount,currency,amount,currency,amount,currency,amount,currency,amount,currency,,,,,, +493874649457,2,2023-03-07T08:30:00Z,2018-02-15,1.3,BRL,1000.04,BRL,1000.04,USD,1000.04,BRL,1000.000004,BRL,0.12,CARTA_CREDITO_A_PRAZO,90302,50,José da Silva,ZA diff --git a/dictionary/example/examples_exchangesGetProductIdentification_v1.csv b/dictionary/example/examples_exchangesGetProductIdentification_v1.csv new file mode 100644 index 000000000..e1015bc8f --- /dev/null +++ b/dictionary/example/examples_exchangesGetProductIdentification_v1.csv @@ -0,0 +1,4 @@ +data,,,,,,,,,,,,,,,,,,,,,,, +authorizedInstitutionCnpjNumber,authorizedInstitutionName,intermediaryInstitutionCnpjNumber,intemediaryInstitutionName,operationNumber,operationType,operationDate,dueDate,localCurrencyOperationTax,,localCurrencyOperationValue,,foreignOperationValue,,operationOutstandingBalance,,vetAmount,,localCurrencyAdvancePercentage,deliveryForeignCurrency,operationCategoryCode,relationshipCode,foreignPartieName,foreignPartieCountryCode +,,,,,,,,amount,currency,amount,currency,amount,currency,amount,currency,amount,currency,,,,,, +11225860000140,AGENCIA CORRETORA,11225860000140,AGENCIA CORRETORA,393874649456,COMPRA,2023-03-07T08:30:00Z,2018-02-15,1.3,BRL,1000.04,BRL,1000.04,USD,1000.04,BRL,1000.000004,BRL,0.12,CARTA_CREDITO_A_PRAZO,90302,50,José da Silva,ZA diff --git a/dictionary/example/examples_exchangesGetProductList_v1.csv b/dictionary/example/examples_exchangesGetProductList_v1.csv new file mode 100644 index 000000000..5b5498733 --- /dev/null +++ b/dictionary/example/examples_exchangesGetProductList_v1.csv @@ -0,0 +1,3 @@ +data,, +brandName,companyCnpj,operationId +Organização A,21128159000166,92792126019929240 diff --git a/dictionary/exchangesEvents_v1.csv b/dictionary/exchangesGetEvents_v1.csv similarity index 100% rename from dictionary/exchangesEvents_v1.csv rename to dictionary/exchangesGetEvents_v1.csv diff --git a/dictionary/exchangesProductIdentification_v1.csv b/dictionary/exchangesGetProductIdentification_v1.csv similarity index 100% rename from dictionary/exchangesProductIdentification_v1.csv rename to dictionary/exchangesGetProductIdentification_v1.csv diff --git a/dictionary/exchangesProductList_v1.csv b/dictionary/exchangesGetProductList_v1.csv similarity index 100% rename from dictionary/exchangesProductList_v1.csv rename to dictionary/exchangesGetProductList_v1.csv diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index 79b7fef36..c7e1c7869 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -38,7 +38,7 @@ paths: tags: - Product List summary: Faltando receber a descrição do endpoint. - operationId: exchangesProductList + operationId: exchangesGetProductList description: Faltando receber a descrição do endpoint. parameters: - $ref: '#/components/parameters/Authorization' @@ -88,7 +88,7 @@ paths: tags: - Product Identification summary: Faltando receber a descrição do endpoint. - operationId: exchangesProductIdentification + operationId: exchangesGetProductIdentification description: Faltando receber a descrição do endpoint parameters: - $ref: '#/components/parameters/OperationId' @@ -136,7 +136,7 @@ paths: tags: - Events summary: Faltando receber a descrição do endpoint. - operationId: exchangesEvents + operationId: exchangesGetEvents description: Faltando receber a descrição do endpoint parameters: - $ref: '#/components/parameters/OperationId' From ba25183c73a3bcd94e47b6e3ea361c662781936e Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Thu, 18 May 2023 17:09:06 -0300 Subject: [PATCH 12/18] =?UTF-8?q?feat(Exchanges):=20ORB-2601=20-=20PA69=20?= =?UTF-8?q?-=20PA70=20-=20PA71=20-=20Descri=C3=A7=C3=A3o=20dos=20endpoints?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/exchanges/1.0.0-rc1.0.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index 8bc3e5b17..a81a492ce 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -27,19 +27,19 @@ servers: description: Servidor de Homologação tags: - name: Product List - description: Faltando receber a descrição do endpoint. + description: Obtém a lista de operações de Câmbio mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. - name: Product Identification - description: Faltando receber a descrição do endpoint. + description: Obtém os dados da operação de Câmbio identificada por operationId. - name: Events - description: Faltando receber a descrição do endpoint. + description: Obtém os dados dos eventos da operação de Câmbio identificada por operationId. paths: /operations: get: tags: - Product List - summary: Faltando receber a descrição do endpoint. + summary: Obtém a lista de operações de Câmbio mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. operationId: exchangesGetProductList - description: Faltando receber a descrição do endpoint. + description: Obtém a lista de operações de Câmbio mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' @@ -87,9 +87,9 @@ paths: get: tags: - Product Identification - summary: Faltando receber a descrição do endpoint. + summary: Obtém os dados da operação de Câmbio identificada por operationId. operationId: exchangesGetProductIdentification - description: Faltando receber a descrição do endpoint + description: Obtém os dados da operação de Câmbio identificada por operationId. parameters: - $ref: '#/components/parameters/OperationId' - $ref: '#/components/parameters/Authorization' @@ -135,9 +135,9 @@ paths: get: tags: - Events - summary: Faltando receber a descrição do endpoint. + summary: Obtém os dados dos eventos da operação de Câmbio identificada por operationId. operationId: exchangesGetEvents - description: Faltando receber a descrição do endpoint + description: Obtém os dados dos eventos da operação de Câmbio identificada por operationId. parameters: - $ref: '#/components/parameters/OperationId' - $ref: '#/components/parameters/Authorization' From 432c00e928764d980251277fb8619c43295a72e2 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Thu, 18 May 2023 17:43:51 -0300 Subject: [PATCH 13/18] =?UTF-8?q?fix(Exchanges):=20PA69=20-=20PA70=20-=20P?= =?UTF-8?q?A71=20-=20Descri=C3=A7=C3=A3o=20localCurrencyAdvancePercentage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionary/exchangesGetEvents_v1.csv | 9 ++++++--- dictionary/exchangesGetProductIdentification_v1.csv | 9 ++++++--- swagger-apis/exchanges/1.0.0-rc1.0.yml | 10 ++++++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/dictionary/exchangesGetEvents_v1.csv b/dictionary/exchangesGetEvents_v1.csv index d5562da0a..de8daf6e0 100644 --- a/dictionary/exchangesGetEvents_v1.csv +++ b/dictionary/exchangesGetEvents_v1.csv @@ -31,9 +31,12 @@ /data/vetAmount;vetAmount;Representa o custo de uma operação de câmbio em reais por moeda estrangeira, englobando a taxa de câmbio, as tarifas e tributos incidentes sobre essa operação. Campo de envio obrigatório nas operações de câmbio pronto que atingirem até o limite de US$100.000 ou equivalente em outras moedas.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; /data/vetAmount/amount;amount;Valor relacionado ao objeto.;Texto;31;Obrigatório;\d{1,15}\.\d{1,15}$;;1;1;"";Não permitido;string;1000.000004; /data/vetAmount/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; -/data/localCurrencyAdvancePercentage;localCurrencyAdvancePercentage;Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500.;Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;4 -/data/deliveryForeignCurrency;deliveryForeignCurrency;Forma de entrega da moeda estrangeira.;Texto;;Opcional;;"CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_NO_PAIS -CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_NO_EXTERIOR +/data/localCurrencyAdvancePercentage;localCurrencyAdvancePercentage;"Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. + +O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Campos de envio obrigatório no caso de operações de câmbio com liquidação futura. +";Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;4 +/data/deliveryForeignCurrency;deliveryForeignCurrency;Forma de entrega da moeda estrangeira.;Texto;;Opcional;;"CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_PAIS +CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_EXTERIOR ESPECIE_CHEQUES_VIAGEM CARTAO_PREPAGO TELETRANSMISSAO diff --git a/dictionary/exchangesGetProductIdentification_v1.csv b/dictionary/exchangesGetProductIdentification_v1.csv index a44369bc3..19eda662d 100644 --- a/dictionary/exchangesGetProductIdentification_v1.csv +++ b/dictionary/exchangesGetProductIdentification_v1.csv @@ -30,9 +30,12 @@ VENDA";1;1;"";Não permitido;string;COMPRA; /data/vetAmount;vetAmount;Representa o custo de uma operação de câmbio em reais por moeda estrangeira, englobando a taxa de câmbio, as tarifas e tributos incidentes sobre essa operação. Campo de envio obrigatório nas operações de câmbio pronto que atingirem até o limite de US$100.000 ou equivalente em outras moedas.;Objeto;;Opcional;;;0;1;"";Não permitido;object;; /data/vetAmount/amount;amount;Valor relacionado ao objeto.;Texto;31;Obrigatório;\d{1,15}\.\d{1,15}$;;1;1;"";Não permitido;string;1000.000004; /data/vetAmount/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; -/data/localCurrencyAdvancePercentage;localCurrencyAdvancePercentage;Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500.;Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;4 -/data/deliveryForeignCurrency;deliveryForeignCurrency;Forma de entrega da moeda estrangeira.;Texto;;Obrigatório;;"CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_NO_PAIS -CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_NO_EXTERIOR +/data/localCurrencyAdvancePercentage;localCurrencyAdvancePercentage;"Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. + +O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Campos de envio obrigatório no caso de operações de câmbio com liquidação futura. +";Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;4 +/data/deliveryForeignCurrency;deliveryForeignCurrency;Forma de entrega da moeda estrangeira.;Texto;;Obrigatório;;"CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_PAIS +CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_EXTERIOR ESPECIE_CHEQUES_VIAGEM CARTAO_PREPAGO TELETRANSMISSAO diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index a81a492ce..3e3947240 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -488,7 +488,10 @@ components: example: BRL localCurrencyAdvancePercentage: type: string - description: Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. + description: | + Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. + + O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Campos de envio obrigatório no caso de operações de câmbio com liquidação futura. pattern: '^\d{1}\.\d{1,6}$' maxLength: 8 minLength: 4 @@ -661,7 +664,10 @@ components: example: BRL localCurrencyAdvancePercentage: type: string - description: Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. + description: | + Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. + + O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Campos de envio obrigatório no caso de operações de câmbio com liquidação futura. pattern: '^\d{1}\.\d{1,6}$' maxLength: 8 minLength: 4 From e12ac56d01fb846c8b69cd1665f608710d2b2d0c Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 19 May 2023 15:54:06 -0300 Subject: [PATCH 14/18] =?UTF-8?q?fix(Exchanges):=20ORB-2641=20-=20PA69=20-?= =?UTF-8?q?=20PA70=20-=20PA71=20-=20Ajuste=20de=20nome=20de=20t=C3=ADtulo?= =?UTF-8?q?=20de=20endpoint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...amples_exchangesGetOperationDetails_v1.csv} | 0 ...csv => exchangesGetOperationDetails_v1.csv} | 0 swagger-apis/exchanges/1.0.0-rc1.0.yml | 18 +++++++++--------- 3 files changed, 9 insertions(+), 9 deletions(-) rename dictionary/example/{examples_exchangesGetProductIdentification_v1.csv => examples_exchangesGetOperationDetails_v1.csv} (100%) rename dictionary/{exchangesGetProductIdentification_v1.csv => exchangesGetOperationDetails_v1.csv} (100%) diff --git a/dictionary/example/examples_exchangesGetProductIdentification_v1.csv b/dictionary/example/examples_exchangesGetOperationDetails_v1.csv similarity index 100% rename from dictionary/example/examples_exchangesGetProductIdentification_v1.csv rename to dictionary/example/examples_exchangesGetOperationDetails_v1.csv diff --git a/dictionary/exchangesGetProductIdentification_v1.csv b/dictionary/exchangesGetOperationDetails_v1.csv similarity index 100% rename from dictionary/exchangesGetProductIdentification_v1.csv rename to dictionary/exchangesGetOperationDetails_v1.csv diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index 3e3947240..7c10201cb 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -28,7 +28,7 @@ servers: tags: - name: Product List description: Obtém a lista de operações de Câmbio mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. - - name: Product Identification + - name: Operation Details description: Obtém os dados da operação de Câmbio identificada por operationId. - name: Events description: Obtém os dados dos eventos da operação de Câmbio identificada por operationId. @@ -86,9 +86,9 @@ paths: /operations/{operationId}: get: tags: - - Product Identification + - Operation Details summary: Obtém os dados da operação de Câmbio identificada por operationId. - operationId: exchangesGetProductIdentification + operationId: exchangesGetOperationDetails description: Obtém os dados da operação de Câmbio identificada por operationId. parameters: - $ref: '#/components/parameters/OperationId' @@ -99,7 +99,7 @@ paths: - $ref: '#/components/parameters/xCustomerUserAgent' responses: '200': - $ref: '#/components/responses/OKResponseProductIdentification' + $ref: '#/components/responses/OKResponseOperationDetails' '400': $ref: '#/components/responses/BadRequestWithAdditionalProperties' '401': @@ -263,7 +263,7 @@ components: meta: $ref: '#/components/schemas/OpenDataMeta' additionalProperties: false - OKResponseProductIdentification: + OKResponseOperationDetails: type: object required: - data @@ -271,7 +271,7 @@ components: - meta properties: data: - $ref: '#/components/schemas/ProductIdentification' + $ref: '#/components/schemas/OperationDetails' links: $ref: '#/components/schemas/Links' meta: @@ -320,7 +320,7 @@ components: pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' example: '92792126019929240' additionalProperties: false - ProductIdentification: + OperationDetails: type: object description: Detalhes da operação de câmbio. required: @@ -939,12 +939,12 @@ components: application/json: schema: $ref: '#/components/schemas/OKResponseProductList' - OKResponseProductIdentification: + OKResponseOperationDetails: description: Dados de operações de câmbio da instituição obtidos com sucesso. content: application/json: schema: - $ref: '#/components/schemas/OKResponseProductIdentification' + $ref: '#/components/schemas/OKResponseOperationDetails' OKResponseEvents: description: Dados de operações de câmbio da instituição obtidos com sucesso. content: From b3f80334d16b4e539db032e348a0a740a1db3411 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Mon, 22 May 2023 11:22:55 -0300 Subject: [PATCH 15/18] fix(Exchanges): ajuste em nomes de dicionarios e exemplos de dados --- ...examples_exchangesGetOperationsOperationIdEvents_v1.csv} | 0 ...sv => examples_exchangesGetOperationsOperationId_v1.csv} | 0 ...ctList_v1.csv => examples_exchangesGetOperations_v1.csv} | 0 ...1.csv => exchangesGetOperationsOperationIdEvents_v1.csv} | 0 ...ails_v1.csv => exchangesGetOperationsOperationId_v1.csv} | 0 ...sGetProductList_v1.csv => exchangesGetOperations_v1.csv} | 0 swagger-apis/exchanges/1.0.0-rc1.0.yml | 6 +++--- 7 files changed, 3 insertions(+), 3 deletions(-) rename dictionary/example/{examples_exchangesGetEvents_v1.csv => examples_exchangesGetOperationsOperationIdEvents_v1.csv} (100%) rename dictionary/example/{examples_exchangesGetOperationDetails_v1.csv => examples_exchangesGetOperationsOperationId_v1.csv} (100%) rename dictionary/example/{examples_exchangesGetProductList_v1.csv => examples_exchangesGetOperations_v1.csv} (100%) rename dictionary/{exchangesGetEvents_v1.csv => exchangesGetOperationsOperationIdEvents_v1.csv} (100%) rename dictionary/{exchangesGetOperationDetails_v1.csv => exchangesGetOperationsOperationId_v1.csv} (100%) rename dictionary/{exchangesGetProductList_v1.csv => exchangesGetOperations_v1.csv} (100%) diff --git a/dictionary/example/examples_exchangesGetEvents_v1.csv b/dictionary/example/examples_exchangesGetOperationsOperationIdEvents_v1.csv similarity index 100% rename from dictionary/example/examples_exchangesGetEvents_v1.csv rename to dictionary/example/examples_exchangesGetOperationsOperationIdEvents_v1.csv diff --git a/dictionary/example/examples_exchangesGetOperationDetails_v1.csv b/dictionary/example/examples_exchangesGetOperationsOperationId_v1.csv similarity index 100% rename from dictionary/example/examples_exchangesGetOperationDetails_v1.csv rename to dictionary/example/examples_exchangesGetOperationsOperationId_v1.csv diff --git a/dictionary/example/examples_exchangesGetProductList_v1.csv b/dictionary/example/examples_exchangesGetOperations_v1.csv similarity index 100% rename from dictionary/example/examples_exchangesGetProductList_v1.csv rename to dictionary/example/examples_exchangesGetOperations_v1.csv diff --git a/dictionary/exchangesGetEvents_v1.csv b/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv similarity index 100% rename from dictionary/exchangesGetEvents_v1.csv rename to dictionary/exchangesGetOperationsOperationIdEvents_v1.csv diff --git a/dictionary/exchangesGetOperationDetails_v1.csv b/dictionary/exchangesGetOperationsOperationId_v1.csv similarity index 100% rename from dictionary/exchangesGetOperationDetails_v1.csv rename to dictionary/exchangesGetOperationsOperationId_v1.csv diff --git a/dictionary/exchangesGetProductList_v1.csv b/dictionary/exchangesGetOperations_v1.csv similarity index 100% rename from dictionary/exchangesGetProductList_v1.csv rename to dictionary/exchangesGetOperations_v1.csv diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index 7c10201cb..342bd5e84 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -38,7 +38,7 @@ paths: tags: - Product List summary: Obtém a lista de operações de Câmbio mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. - operationId: exchangesGetProductList + operationId: exchangesGetOperations description: Obtém a lista de operações de Câmbio mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. parameters: - $ref: '#/components/parameters/Authorization' @@ -88,7 +88,7 @@ paths: tags: - Operation Details summary: Obtém os dados da operação de Câmbio identificada por operationId. - operationId: exchangesGetOperationDetails + operationId: exchangesGetOperationsOperationId description: Obtém os dados da operação de Câmbio identificada por operationId. parameters: - $ref: '#/components/parameters/OperationId' @@ -136,7 +136,7 @@ paths: tags: - Events summary: Obtém os dados dos eventos da operação de Câmbio identificada por operationId. - operationId: exchangesGetEvents + operationId: exchangesGetOperationsOperationIdEvents description: Obtém os dados dos eventos da operação de Câmbio identificada por operationId. parameters: - $ref: '#/components/parameters/OperationId' From e35db4b827d4521180937abb4fb3854957bc558b Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Mon, 29 May 2023 09:12:12 -0300 Subject: [PATCH 16/18] =?UTF-8?q?feat(Exchanges):=20ORB-2685=20-=20PA87=20?= =?UTF-8?q?-=20Ajustar=20descri=C3=A7=C3=A3o=20da=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/exchanges/1.0.0-rc1.0.yml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index 342bd5e84..8beddcdf6 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -2,16 +2,14 @@ info: title: API Exchanges - Open Finance Brasil description: | - API de informações de operações de Câmbio Open Finance Brasil – Fase 4. - API que retorna informações de operações de Câmbio realizadas nas instituições transmissoras por seus clientes, incluindo dados como - informações da operação contratada, valor da operação em moeda nacional e moeda estrangeira, classificação da operação, forma de entrega, - VET e, quando aplicável, valor a liquidar. - - Também serão compartilhados os eventos de alteração da operação, caso existam, com as informações modificadas. - Não possui segregação entre pessoa natural e pessoa jurídica. - Requer consentimento do cliente para todos os endpoints. - Devem ser considerados como escopo todas as operações de câmbio de compra e venda de moeda estrangeira, inclusive com adiantamento (ACC/ACE). - A exposição se dará por cada operação de câmbio contratada pelo cliente. + API de informações de operações de Câmbio Open Finance Brasil – Fase 4. + API que retorna informações de operações de Câmbio realizadas nas instituições transmissoras por seus clientes, incluindo dados como informações da operação contratada, valor da operação em moeda nacional e moeda estrangeira, classificação da operação, forma de entrega, VET e, quando aplicável, valor a liquidar. + Também serão compartilhados os eventos de alteração da operação, caso existam, com as informações modificadas. + Não possui segregação entre pessoa natural e pessoa jurídica. + Requer consentimento do cliente para todos os endpoints. + __São escopo de compartilhamento as operações de compra e venda de moeda estrangeira de liquidação pronta ou futura, inclusive com adiantamento. + Operações de câmbio anuladas não são escopo de exposição, bem como eventos de vinculação de operações. + A exposição se dará por cada operação de câmbio contratada pelo cliente.__ version: 1.0.0-rc1.0 license: name: Apache 2.0 From 13de01c98558d1f330bb7ed00497074d76547111 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Mon, 29 May 2023 09:36:02 -0300 Subject: [PATCH 17/18] =?UTF-8?q?fix(Exchanges):=20ORB-2686=20-=20PA64=20-?= =?UTF-8?q?=20Realizar=20ajustes=20-=20p=C3=B3s=20homologa=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...angesGetOperationsOperationIdEvents_v1.csv | 2 +- .../exchangesGetOperationsOperationId_v1.csv | 2 +- swagger-apis/exchanges/1.0.0-rc1.0.yml | 32 ++----------------- 3 files changed, 4 insertions(+), 32 deletions(-) diff --git a/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv b/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv index de8daf6e0..649c8b36c 100644 --- a/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv +++ b/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv @@ -34,7 +34,7 @@ /data/localCurrencyAdvancePercentage;localCurrencyAdvancePercentage;"Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Campos de envio obrigatório no caso de operações de câmbio com liquidação futura. -";Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;4 +";Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;3 /data/deliveryForeignCurrency;deliveryForeignCurrency;Forma de entrega da moeda estrangeira.;Texto;;Opcional;;"CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_PAIS CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_EXTERIOR ESPECIE_CHEQUES_VIAGEM diff --git a/dictionary/exchangesGetOperationsOperationId_v1.csv b/dictionary/exchangesGetOperationsOperationId_v1.csv index 19eda662d..b85b5c24b 100644 --- a/dictionary/exchangesGetOperationsOperationId_v1.csv +++ b/dictionary/exchangesGetOperationsOperationId_v1.csv @@ -33,7 +33,7 @@ VENDA";1;1;"";Não permitido;string;COMPRA; /data/localCurrencyAdvancePercentage;localCurrencyAdvancePercentage;"Percentual do valor de moeda nacional concedido ao cliente antecipadamente. p.ex. 0.014500. O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Campos de envio obrigatório no caso de operações de câmbio com liquidação futura. -";Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;4 +";Texto;8;Opcional;^\d{1}\.\d{1,6}$;;0;1;"";Não permitido;string;0.12;3 /data/deliveryForeignCurrency;deliveryForeignCurrency;Forma de entrega da moeda estrangeira.;Texto;;Obrigatório;;"CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_PAIS CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_EXTERIOR ESPECIE_CHEQUES_VIAGEM diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index 8beddcdf6..e276c1e0e 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -146,8 +146,6 @@ paths: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pagination-key' - - $ref: '#/components/parameters/fromTransactionDate' - - $ref: '#/components/parameters/toTransactionDate' responses: '200': $ref: '#/components/responses/OKResponseEvents' @@ -492,7 +490,7 @@ components: O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Campos de envio obrigatório no caso de operações de câmbio com liquidação futura. pattern: '^\d{1}\.\d{1,6}$' maxLength: 8 - minLength: 4 + minLength: 3 example: '0.12' deliveryForeignCurrency: $ref: '#/components/schemas/EnumExchangesDeliveryForeignCurrency' @@ -668,7 +666,7 @@ components: O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Campos de envio obrigatório no caso de operações de câmbio com liquidação futura. pattern: '^\d{1}\.\d{1,6}$' maxLength: 8 - minLength: 4 + minLength: 3 example: '0.12' deliveryForeignCurrency: $ref: '#/components/schemas/EnumExchangesDeliveryForeignCurrency' @@ -894,32 +892,6 @@ components: type: string maxLength: 2048 pattern: '[\w\W\s]*' - fromTransactionDate: - name: fromTransactionDate - description: | - Data inicial de filtragem. - - [Restrição] Deve obrigatoriamente ser enviado caso o campo toTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual. - required: false - in: query - schema: - type: string - maxLength: 10 - format: date - example: '2021-05-21' - toTransactionDate: - name: toTransactionDate - description: | - Data final de filtragem. - - [Restrição] Deve obrigatoriamente ser enviado caso o campo fromTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual. - required: false - in: query - schema: - type: string - maxLength: 10 - format: date - example: '2021-05-21' securitySchemes: OAuth2AuthorizationCode: type: oauth2 From 077cfcc32859b8ad217b326c3141709f325696c3 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Mon, 29 May 2023 09:43:42 -0300 Subject: [PATCH 18/18] =?UTF-8?q?feat(Exchanges):=20ORB-2687=20-=20PA69=20?= =?UTF-8?q?-=20Melhoria=20-=20Padronizar=20restri=C3=A7=C3=B5es=20dos=20ca?= =?UTF-8?q?mpos=20da=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...angesGetOperationsOperationIdEvents_v1.csv | 29 +++++++++-------- .../exchangesGetOperationsOperationId_v1.csv | 16 +++++----- swagger-apis/exchanges/1.0.0-rc1.0.yml | 31 ++++++++++--------- 3 files changed, 41 insertions(+), 35 deletions(-) diff --git a/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv b/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv index 649c8b36c..57646d1c3 100644 --- a/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv +++ b/dictionary/exchangesGetOperationsOperationIdEvents_v1.csv @@ -1,13 +1,16 @@ Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo /data;data;;Lista;;Obrigatório;;;0;N;"";Não permitido;array;; /data/eventSequenceNumber;eventSequenceNumber;Número sequência do registro do evento de câmbio no Bacen.;Texto;12;Obrigatório;^\d{12}$;;1;1;"";Não permitido;string;493874649457; -/data/eventType;eventType;"Para o campo domínio -1 - Contratação no Mercado Primário -2 - Alteração de Operação Cambial no Mercado Primário -3 - Cancelamento de Operação Cambial no Mercado Primário -4 - Liquidação de Operação Cambial no Mercado Primário -5 - Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário -6 - Restabelecimento de Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário O evento está relacionado ao tipo de contratação. +/data/eventType;eventType;"Para o campo domínio: + +1 - Contratação no Mercado Primário. +2 - Alteração de Operação Cambial no Mercado Primário. +3 - Cancelamento de Operação Cambial no Mercado Primário. +4 - Liquidação de Operação Cambial no Mercado Primário. +5 - Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário. +6 - Restabelecimento de Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário. + +O evento está relacionado ao tipo de contratação. ";Texto;;Obrigatório;;"1 2 3 @@ -51,16 +54,16 @@ SIMBOLICA";0;1;"";Não permitido;string;CARTA_CREDITO_A_PRAZO; /data/operationCategoryCode;operationCategoryCode;Código da natureza fato do fechamento da operação. Deve respeitar os códigos de natureza referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio.;Texto;5;Opcional;^\d{5}$;;0;1;"";Não permitido;string;90302; /data/relationshipCode;relationshipCode;"Código de Relação de vínculo entre o Cliente e o Pagador/Recebedor no Exterior. Deve respeitar os códigos de vínculo referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. -[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. -";Texto;2;Condicional;^\d{2}$;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +[Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;2;Condicional;^\d{2}$;;0;1;" Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. ";Não permitido;string;50; /data/foreignPartieName;foreignPartieName;"Nome do pagador ou recebedor no exterior. -[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. -";Texto;80;Condicional;[\w\W\s]*;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +[Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;80;Condicional;[\w\W\s]*;;0;1;" Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. ";Não permitido;string;José da Silva; /data/foreignPartieCountryCode;foreignPartieCountryCode;"País do pagador ou recebedor. Código do país segundo a norma ISO 3166-1. -[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. -";Texto;2;Condicional;^[A-Z]{2}$;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +[Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;2;Condicional;^[A-Z]{2}$;;0;1;" Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. ";Não permitido;string;ZA; diff --git a/dictionary/exchangesGetOperationsOperationId_v1.csv b/dictionary/exchangesGetOperationsOperationId_v1.csv index b85b5c24b..8d643938c 100644 --- a/dictionary/exchangesGetOperationsOperationId_v1.csv +++ b/dictionary/exchangesGetOperationsOperationId_v1.csv @@ -7,8 +7,8 @@ Campo de envio obrigatório nos casos em que houver instituição intermediadora ";Texto;14;Opcional;^\d{14}$;;0;1;"";Não permitido;string;11225860000140; /data/intemediaryInstitutionName;intemediaryInstitutionName;"Nome da corretora interveniente autorizada a operar no mercado de câmbio. -[Restrição] Campo de envio obrigatório nos casos em que for informado o CNPJ da instituição intermediadora. -";Texto;250;Condicional;[\w\W\s]*;;0;1;" Campo de envio obrigatório nos casos em que for informado o CNPJ da instituição intermediadora. +[Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'intermediaryInstitutionCnpjNumber' for informado. +";Texto;250;Condicional;[\w\W\s]*;;0;1;" Campo de preenchimento obrigatório pelas participantes quando o campo 'intermediaryInstitutionCnpjNumber' for informado. ";Não permitido;string;AGENCIA CORRETORA; /data/operationNumber;operationNumber;Número do registro da operação no Bacen. Deve ser preenchido no compartilhamento, após registro no Sistema de Câmbio e número disponível na transmissora/detentora.;Texto;12;Opcional;^\d{12}$;;0;1;"";Não permitido;string;393874649456; /data/operationType;operationType;Compra ou venda de moeda estrangeira.;Texto;;Obrigatório;;"COMPRA @@ -50,16 +50,16 @@ SIMBOLICA";1;1;"";Não permitido;string;CARTA_CREDITO_A_PRAZO; /data/operationCategoryCode;operationCategoryCode;Código da natureza fato do fechamento da operação. Deve respeitar os códigos de natureza referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio.;Texto;5;Obrigatório;^\d{5}$;;1;1;"";Não permitido;string;90302; /data/relationshipCode;relationshipCode;"Código de Relação de vínculo entre o Cliente e o Pagador/Recebedor no Exterior. Deve respeitar os códigos de vínculo referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. -[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. -";Texto;2;Condicional;^\d{2}$;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +[Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;2;Condicional;^\d{2}$;;0;1;" Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. ";Não permitido;string;50; /data/foreignPartieName;foreignPartieName;"Nome do pagador ou recebedor no exterior. -[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. -";Texto;80;Condicional;[\w\W\s]*;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +[Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;80;Condicional;[\w\W\s]*;;0;1;" Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. ";Não permitido;string;José da Silva; /data/foreignPartieCountryCode;foreignPartieCountryCode;"País do pagador ou recebedor. Código do país segundo a norma ISO 3166-1. -[Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. -";Texto;2;Condicional;^[A-Z]{2}$;;0;1;" Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +[Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. +";Texto;2;Condicional;^[A-Z]{2}$;;0;1;" Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. ";Não permitido;string;ZA; diff --git a/swagger-apis/exchanges/1.0.0-rc1.0.yml b/swagger-apis/exchanges/1.0.0-rc1.0.yml index e276c1e0e..acbc694ef 100644 --- a/swagger-apis/exchanges/1.0.0-rc1.0.yml +++ b/swagger-apis/exchanges/1.0.0-rc1.0.yml @@ -356,7 +356,7 @@ components: description: | Nome da corretora interveniente autorizada a operar no mercado de câmbio. - [Restrição] Campo de envio obrigatório nos casos em que for informado o CNPJ da instituição intermediadora. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'intermediaryInstitutionCnpjNumber' for informado. maxLength: 250 pattern: '[\w\W\s]*' example: AGENCIA CORRETORA @@ -507,14 +507,14 @@ components: description: | Código de Relação de vínculo entre o Cliente e o Pagador/Recebedor no Exterior. Deve respeitar os códigos de vínculo referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. - [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + [Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. example: '50' foreignPartieName: type: string description: | Nome do pagador ou recebedor no exterior. - [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + [Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. maxLength: 80 pattern: '[\w\W\s]*' example: José da Silva @@ -523,7 +523,7 @@ components: description: | País do pagador ou recebedor. Código do país segundo a norma ISO 3166-1. - [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + [Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. maxLength: 2 pattern: '^[A-Z]{2}$' example: ZA @@ -683,14 +683,14 @@ components: description: | Código de Relação de vínculo entre o Cliente e o Pagador/Recebedor no Exterior. Deve respeitar os códigos de vínculo referenciados na resolução 277 ou na Circular 3690, conforme se aplicar ao contrato de câmbio. - [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + [Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. example: '50' foreignPartieName: type: string description: | Nome do pagador ou recebedor no exterior. - [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + [Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. maxLength: 80 pattern: '[\w\W\s]*' example: José da Silva @@ -699,7 +699,7 @@ components: description: | País do pagador ou recebedor. Código do país segundo a norma ISO 3166-1. - [Restrição] Campo de envio opcional nos casos em que o campo deliveryForeignCurrency for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. + [Restrição] Campo de preenchimento opcional pelas participantes quando o campo 'deliveryForeignCurrency ' for igual EM ESPÉCIE E/OU CHEQUES DE VIAGEM. maxLength: 2 pattern: '^[A-Z]{2}$' example: ZA @@ -714,13 +714,16 @@ components: EnumExchangesEventType: type: string description: | - Para o campo domínio - 1 - Contratação no Mercado Primário - 2 - Alteração de Operação Cambial no Mercado Primário - 3 - Cancelamento de Operação Cambial no Mercado Primário - 4 - Liquidação de Operação Cambial no Mercado Primário - 5 - Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário - 6 - Restabelecimento de Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário O evento está relacionado ao tipo de contratação. + Para o campo domínio: + + 1 - Contratação no Mercado Primário. + 2 - Alteração de Operação Cambial no Mercado Primário. + 3 - Cancelamento de Operação Cambial no Mercado Primário. + 4 - Liquidação de Operação Cambial no Mercado Primário. + 5 - Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário. + 6 - Restabelecimento de Baixa de Valor a Liquidar de Operação Cambial no Mercado Primário. + + O evento está relacionado ao tipo de contratação. enum: - '1' - '2'