From a1e3e6c03d447d4775344dc3e1f6ab80addb1c52 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Wed, 13 Sep 2023 16:32:19 +0000 Subject: [PATCH 1/2] =?UTF-8?q?feat(Accounts):=20ORB-3581=20-=20SPA152=20-?= =?UTF-8?q?=20Criar=20nova=20vers=C3=A3o=20da=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/accounts/2.1.0-rc.3.yml | 1499 ++++++++++++++++++++++++++ swagger-apis/accounts/index.html | 5 +- 2 files changed, 1502 insertions(+), 2 deletions(-) create mode 100644 swagger-apis/accounts/2.1.0-rc.3.yml diff --git a/swagger-apis/accounts/2.1.0-rc.3.yml b/swagger-apis/accounts/2.1.0-rc.3.yml new file mode 100644 index 000000000..6a418331b --- /dev/null +++ b/swagger-apis/accounts/2.1.0-rc.3.yml @@ -0,0 +1,1499 @@ +openapi: 3.0.0 +info: + title: API Accounts - Open Finance Brasil + description: | + API de contas de depósito à vista, contas de poupança e contas pré-pagas do Open Finance Brasil – Fase 2. + API que retorna informações de contas de depósito à vista, contas de poupança e contas de pagamento pré-pagas mantidas nas instituições transmissoras por seus clientes, + incluindo dados de identificação da conta, saldos, limites e transações.\ + Não possui segregação entre pessoa natural e pessoa jurídica.\ + Requer consentimento do cliente para todos os `endpoints`. + + # Orientações + A `Role` do diretório de participantes relacionada à presente API é a `DADOS`.\ + Para todos os `endpoints` desta API é previsto o envio de um `token` através do header `Authorization`.\ + Este token deverá estar relacionado ao consentimento (`consentId`) mantido na instituição transmissora dos dados, o qual permitirá a pesquisa e retorno, na API em questão, dos + dados relacionados ao `consentId` específico relacionado.\ + Os dados serão devolvidos na consulta desde que o `consentId` relacionado corresponda a um consentimento válido e com o status `AUTHORISED`.\ + É também necessário que o recurso em questão (conta, contrato, etc) esteja disponível na instituição transmissora (ou seja, sem boqueios de qualquer natureza e com todas as autorizações/consentimentos já autorizados).\ + Além disso as `permissions` necessárias deverão ter sido solicitadas quando da criação do consentimento relacionado (`consentId`).\ + Relacionamos a seguir as `permissions` necessárias para a consulta de dados em cada `endpoint` da presente API. + + ## Permissions necessárias para a API Accounts + + Para cada um dos paths desta API, além dos escopos (`scopes`) indicados existem `permissions` que deverão ser observadas: + + ### `/accounts` + - permissions: + - GET: **ACCOUNTS_READ** + ### `/accounts/{accountId}` + - permissions: + - GET: **ACCOUNTS_READ** + ### `/accounts/{accountId}/balances` + - permissions: + - GET: **ACCOUNTS_BALANCES_READ** + ### `/accounts/{accountId}/transactions` + - permissions: + - GET: **ACCOUNTS_TRANSACTIONS_READ** + ### `/accounts/{accountId}/transactions-current` + - permissions: + - GET: **ACCOUNTS_TRANSACTIONS_READ** + ### `/accounts/{accountId}/overdraft-limits` + - permissions: + - GET: **ACCOUNTS_OVERDRAFT_LIMITS_READ** + + ## Tabela: Data de imutabilidade por tipo de transação + ``` + |---------------------------------------|-------------------------|-----------------------| + | Tipo de Transação | Data da Obrigatoriedade | Data da Imutabilidade | + |---------------------------------------|-------------------------|-----------------------| + | TED | DO | DO | + |---------------------------------------|-------------------------|-----------------------| + | PIX | DO | DO | + |---------------------------------------|-------------------------|-----------------------| + | TRANSFERENCIA MESMA INSTITUIÇÃO (TEF) | DO | DO | + |---------------------------------------|-------------------------|-----------------------| + | TARIFA SERVIÇOS AVULSOS | DO | DO | + |---------------------------------------|-------------------------|-----------------------| + | FOLHA DE PAGAMENTO | DO | DO | + |---------------------------------------|-------------------------|-----------------------| + | DOC | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | BOLETO | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | CONVÊNIO ARRECADAÇÃO | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | PACOTE TARIFA SERVIÇOS | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | DEPÓSITO | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | SAQUE | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | CARTÃO | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | ENCARGOS JUROS CHEQUE ESPECIAL | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | RENDIMENTO APLICAÇÃO FINANCEIRA | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | PORTABILIDADE SALÁRIO | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | RESGATE APLICAÇÃO FINANCEIRA | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | OPERAÇÃO DE CRÉDITO | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + | OUTROS | DO | D+1 | + |---------------------------------------|-------------------------|-----------------------| + ``` + version: 2.1.0-rc.3 + 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/accounts/v2' + description: Servidor de Produção + - url: 'https://apih.banco.com.br/open-banking/accounts/v2' + description: Servidor de Homologação +tags: + - name: Accounts + description: Operações para listagem das informações da Conta do Cliente +paths: + /accounts: + get: + tags: + - Accounts + summary: Obtém a lista de contas consentidas pelo cliente. + operationId: accountsGetAccounts + description: 'Método para obter a lista de contas depósito à vista, poupança e pagamento pré-pagas mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento.' + 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/accountType' + - $ref: '#/components/parameters/pagination-key' + responses: + '200': + $ref: '#/components/responses/OKResponseAccountList' + '400': + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' + '404': + $ref: '#/components/responses/NotFoundWithAdditionalProperties' + '405': + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' + '429': + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' + '500': + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OpenId: + - openid + OAuth2Security: + - 'consent:consentId' + - accounts + '/accounts/{accountId}': + get: + tags: + - Accounts + summary: Obtém os dados de identificação da conta identificada por accountId. + description: 'Método para obter os dados de identificação da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.' + operationId: accountsGetAccountsAccountId + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/accountId' + responses: + '200': + $ref: '#/components/responses/OKResponseAccountIdentification' + '400': + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' + '404': + $ref: '#/components/responses/NotFoundWithAdditionalProperties' + '405': + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' + '429': + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' + '500': + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OpenId: + - openid + OAuth2Security: + - 'consent:consentId' + - accounts + '/accounts/{accountId}/balances': + get: + tags: + - Accounts + summary: Obtém os saldos da conta identificada por accountId. + operationId: accountsGetAccountsAccountIdBalances + description: 'Método para obter os saldos da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.' + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/accountId' + responses: + '200': + $ref: '#/components/responses/OKResponseAccountBalances' + '400': + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' + '404': + $ref: '#/components/responses/NotFoundWithAdditionalProperties' + '405': + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' + '429': + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' + '500': + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OpenId: + - openid + OAuth2Security: + - 'consent:consentId' + - accounts + '/accounts/{accountId}/transactions': + get: + tags: + - Accounts + summary: Obtém a lista de transações da conta identificada por accountId. + operationId: accountsGetAccountsAccountIdTransactions + description: 'Método para obter a lista de transações da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.' + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/fromBookingDate' + - $ref: '#/components/parameters/toBookingDate' + - $ref: '#/components/parameters/creditDebitIndicator' + - $ref: '#/components/parameters/pagination-key' + responses: + '200': + $ref: '#/components/responses/OKResponseAccountTransactions' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '422': + $ref: '#/components/responses/UnprocessableEntity' + '423': + $ref: '#/components/responses/Locked' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '504': + $ref: '#/components/responses/GatewayTimeout' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + $ref: '#/components/responses/Default' + security: + - OpenId: + - openid + OAuth2Security: + - 'consent:consentId' + - accounts + '/accounts/{accountId}/transactions-current': + get: + tags: + - Accounts + summary: Obtém a lista de transações recentes (últimos 7 dias) da conta identificada por accountId. + operationId: accountsGetAccountsAccountIdTransactionsCurrent + description: 'Método para obter a lista de transações recentes (últimos 7 dias) da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.' + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/fromBookingDateMaxLimited' + - $ref: '#/components/parameters/toBookingDateMaxLimited' + - $ref: '#/components/parameters/creditDebitIndicator' + - $ref: '#/components/parameters/pagination-key' + responses: + '200': + $ref: '#/components/responses/OKResponseAccountTransactions' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '422': + $ref: '#/components/responses/UnprocessableEntity' + '423': + $ref: '#/components/responses/Locked' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '504': + $ref: '#/components/responses/GatewayTimeout' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + $ref: '#/components/responses/Default' + security: + - OpenId: + - openid + OAuth2Security: + - 'consent:consentId' + - accounts + '/accounts/{accountId}/overdraft-limits': + get: + tags: + - Accounts + summary: Obtém os limites da conta identificada por accountId. + operationId: accountsGetAccountsAccountIdOverdraftLimits + description: 'Método para obter os limites da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.' + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/accountId' + responses: + '200': + $ref: '#/components/responses/OKResponseAccountOverdraftLimits' + '400': + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' + '404': + $ref: '#/components/responses/NotFoundWithAdditionalProperties' + '405': + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' + '429': + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' + '500': + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OpenId: + - openid + OAuth2Security: + - 'consent:consentId' + - accounts +components: + schemas: + AccountBalancesDataAutomaticallyInvestedAmount: + type: object + description: Saldo disponível com aplicação automática - corresponde a soma do saldo disponível acrescido do valor obtido a partir da aplicação automática. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.0400' + description: Valor relacionado ao objeto. + currency: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + AccountOverdraftLimitsDataOverdraftContractedLimit: + type: object + description: Valor do limite contratado do cheque especial. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.0400' + description: Valor relacionado ao objeto. + currency: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + AccountOverdraftLimitsDataOverdraftUsedLimit: + type: object + description: Valor utilizado total do limite do cheque especial e o adiantamento a depositante. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.0400' + description: Valor relacionado ao objeto. + currency: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + AccountOverdraftLimitsDataUnarrangedOverdraftAmount: + type: object + description: Valor de operação contratada em caráter emergencial para cobertura de saldo devedor em conta de depósitos à vista e de excesso sobre o limite pactuado de cheque especial. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.0400' + description: Valor relacionado ao objeto. + currency: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + AccountBalancesDataBlockedAmount: + type: object + description: 'Saldo bloqueado, não disponível para utilização imediata, por motivo de bloqueio apresentado para o cliente nos canais eletrônicos. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.' + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.0400' + description: Valor relacionado ao objeto. + currency: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + AccountBalancesDataAvailableAmount: + type: object + description: 'Saldo disponível para utilização imediata. No caso de conta de depósito a vista, sem considerar cheque especial e investimentos atrelados a conta. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.' + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^-?\d{1,15}\.\d{2,4}$' + maxLength: 21 + minLength: 4 + example: '1000.0400' + description: Valor relacionado ao objeto. + currency: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + AccountBalancesData: + type: object + description: | + Conjunto de informações das Contas de: depósito à vista, poupança e de pagamento pré-paga + required: + - availableAmount + - blockedAmount + - automaticallyInvestedAmount + - updateDateTime + properties: + availableAmount: + $ref: '#/components/schemas/AccountBalancesDataAvailableAmount' + blockedAmount: + $ref: '#/components/schemas/AccountBalancesDataBlockedAmount' + automaticallyInvestedAmount: + $ref: '#/components/schemas/AccountBalancesDataAutomaticallyInvestedAmount' + updateDateTime: + type: string + format: date-time + 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: '2021-05-21T08:30:00Z' + description: | + Data e hora da última atualização do saldo. É esperado que a instituição informe a última vez que capturou o saldo para compartilhamento no Open Finance. Dessa forma, é possível que: + - Caso a instituição capture dados de forma síncrona essa informação seja de poucos momentos; + - Caso a instituição capture dados de forma assíncrona essa informação seja de horas ou dias no passado; + - Quando não existente uma data vinculada especificamente ao bloco, se assume a data e hora de atualização do cadastro como um todo. + + De toda forma, é preciso continuar respeitando o prazo máximo de tempestividade da API de Contas. + AccountData: + type: object + required: + - brandName + - companyCnpj + - type + - compeCode + - number + - checkDigit + - accountId + properties: + brandName: + type: string + 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).' + maxLength: 80 + pattern: '[\w\W\s]*' + example: Organização A + companyCnpj: + type: string + maxLength: 14 + pattern: '^\d{14}$' + 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' + example: '21128159000166' + type: + $ref: '#/components/schemas/EnumAccountType' + compeCode: + type: string + description: 'Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas).O Compe (Sistema de Compensação de Cheques e Outros Papéis) é um sistema que identifica e processa as compensações bancárias. Ele é representado por um código de três dígitos que serve como identificador de bancos, sendo assim, cada instituição bancária possui um número exclusivo' + pattern: '^\d{3}$' + maxLength: 3 + example: '001' + branchCode: + type: string + description: | + Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória) + + [Restrição] Obrigatoriamente deve ser preenchido quando o campo "type" for diferente de CONTA_PAGAMENTO_PRE_PAGA. + pattern: '^\d{4}$' + maxLength: 4 + example: '6272' + number: + type: string + description: Número da conta + pattern: '^\d{8,20}$' + maxLength: 20 + example: '94088392' + checkDigit: + type: string + description: Dígito da conta + pattern: '[\w\W\s]*' + maxLength: 1 + example: '4' + accountId: + type: string + description: 'Identifica de forma única a conta do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.' + pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' + maxLength: 100 + minLength: 1 + example: '92792126019929279212650822221989319252576' + AccountIdentificationData: + type: object + description: | + Conjunto dos atributos que caracterizam as Contas de: depósito à vista, poupança e de pagamento pré-paga + required: + - compeCode + - number + - checkDigit + - type + - subtype + - currency + properties: + compeCode: + type: string + maxLength: 3 + pattern: '^\d{3}$' + description: 'Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas). O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código' + example: '001' + branchCode: + type: string + maxLength: 4 + pattern: '^\d{4}$' + description: | + Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória) + + [Restrição] Obrigatoriamente deve ser preenchido quando o campo "type" for diferente de conta pré-paga. + example: '6272' + number: + type: string + maxLength: 20 + pattern: '^\d{8,20}$' + description: | + Número da conta + example: '24550245' + checkDigit: + type: string + maxLength: 1 + pattern: '[\w\W\s]*' + description: | + Dígito da conta + example: '4' + type: + $ref: '#/components/schemas/EnumAccountType' + subtype: + $ref: '#/components/schemas/EnumAccountSubType' + currency: + type: string + pattern: '^(\w{3}){1}$' + maxLength: 3 + description: | + Moeda referente ao valor da transação, segundo modelo ISO-4217. p.ex. 'BRL' + Todos os saldos informados estão representados com a moeda vigente do Brasil + example: BRL + AccountOverdraftLimitsData: + type: object + description: | + Conjunto de informações da Conta de: depósito à vista + properties: + overdraftContractedLimit: + $ref: '#/components/schemas/AccountOverdraftLimitsDataOverdraftContractedLimit' + overdraftUsedLimit: + $ref: '#/components/schemas/AccountOverdraftLimitsDataOverdraftUsedLimit' + unarrangedOverdraftAmount: + $ref: '#/components/schemas/AccountOverdraftLimitsDataUnarrangedOverdraftAmount' + AccountTransactionsData: + type: object + required: + - transactionId + - completedAuthorisedPaymentType + - creditDebitType + - transactionName + - type + - transactionAmount + - transactionDate + - transactionDateTime + properties: + transactionId: + type: string + description: | + Código ou identificador único prestado pela instituição que mantém a conta para representar a transação individual. + O ideal é que o `transactionId` seja imutável. + No entanto, o `transactionId` deve obedecer, no mínimo, as regras de imutabilidade propostas conforme tabela “Data de imutabilidade por tipo de transação” presente nas orientações desta API. + maxLength: 100 + minLength: 1 + pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + completedAuthorisedPaymentType: + $ref: '#/components/schemas/EnumCompletedAuthorisedPaymentIndicator' + creditDebitType: + $ref: '#/components/schemas/EnumCreditDebitIndicator' + transactionName: + type: string + maxLength: 200 + pattern: '[\w\W\s]*' + description: Literal usada na instituição financeira para identificar a transação. A informação apresentada precisa ser a mesma utilizada nos canais eletrônicos da instituição (extrato). + example: TRANSFCWAR5TXHCX5I9IDBHML8082N8NEO30M6LNNG7ANAYIJYRM00ZBZPU8 + type: + $ref: '#/components/schemas/EnumTransactionTypes' + transactionAmount: + $ref: '#/components/schemas/AccountTransactionsDataAmount' + transactionDate: + type: string + maxLength: 10 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + description: | + Se indicador de transação: TRANSACAO_EFETIVADA - corresponde a data de lançamento da transação LANCAMENTO_FUTURO - corresponde a data prevista de efetivação da transação. + example: '2021-01-07' + transactionDateTime: + type: string + maxLength: 24 + 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)\.(?:[0-9]){3}Z$)' + description: | + Data e hora original da transação. No primeiro momento, as instituições poderão complementar informações faltantes com 0 (Por exemplo: 2016-01-29T00:00:00.000Z). A partir de 31/01/2024 é esperado que o campo seja preenchido com informações reais. + example: '2016-01-29T12:29:03.374Z' + partieCnpjCpf: + type: string + maxLength: 14 + pattern: '^\d{11}$|^\d{14}$' + description: | + Identificação da pessoa envolvida na transação: pagador ou recebedor (Preencher com o CPF ou CNPJ, sem formatação). Exceção a obrigatoriedade de envio: Tipo de transação TED quando se tratar de Transferência entre Reservas (STR0004) e Recebimento de recursos judiciais (STR0051R2). + example: '43908445778' + partiePersonType: + $ref: '#/components/schemas/EnumPartiePersonType' + partieCompeCode: + type: string + maxLength: 3 + pattern: '^\d{3}$' + description: 'Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas) referente à pessoa envolvida na transação. O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código' + example: '001' + partieBranchCode: + type: string + maxLength: 4 + pattern: '^\d{4}$' + description: 'Código da Agência detentora da conta da pessoa envolvida na transação. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)' + example: '6272' + partieNumber: + type: string + maxLength: 20 + pattern: '^\d{8,20}$' + description: Número da conta da pessoa envolvida na transação + example: '67890854360' + partieCheckDigit: + type: string + maxLength: 1 + pattern: '[\w\W\s]*' + description: Dígito da conta da pessoa envolvida na transação + example: '4' + AccountTransactionsDataAmount: + type: object + description: Valor da transação. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.0400' + description: Valor relacionado ao objeto. + currency: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + EnumAccountSubType: + type: string + enum: + - INDIVIDUAL + - CONJUNTA_SIMPLES + - CONJUNTA_SOLIDARIA + description: | + Subtipo de conta (vide Enum): + Conta individual - possui um único titular + Conta conjunta simples - onde as movimentações financeiras só podem serem realizadas mediante autorização de TODOS os correntistas da conta. + Conta conjunta solidária - é a modalidade cujos titulares podem realizar movimentações de forma isolada, isto é, sem que seja necessária a autorização dos demais titulares + example: INDIVIDUAL + EnumAccountType: + type: string + enum: + - CONTA_DEPOSITO_A_VISTA + - CONTA_POUPANCA + - CONTA_PAGAMENTO_PRE_PAGA + description: | + Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum + Conta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante + Conta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado + Conta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de 2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados' + example: CONTA_DEPOSITO_A_VISTA + EnumCompletedAuthorisedPaymentIndicator: + type: string + description: | + Indicador da transação: + - Transação efetivada: a transação atinge esse status quando o `transactionId` torna-se imutável; + - Lançamento futuro: a transação será efetivada em momento futuro, ou seja, o `transactionId` pode mudar; + - Transação processando: a transação está em processamento, ou seja, o `transactionId` pode mudar. + enum: + - TRANSACAO_EFETIVADA + - LANCAMENTO_FUTURO + - TRANSACAO_PROCESSANDO + example: TRANSACAO_EFETIVADA + EnumCreditDebitIndicator: + type: string + description: | + Indicador do tipo de lançamento: + Débito (no extrato) Em um extrato bancário, os débitos, marcados com a letra “D” ao lado do valor registrado, informam as saídas de dinheiro na conta-corrente. + Crédito (no extrato) Em um extrato bancário, os créditos, marcados com a letra “C” ao lado do valor registrado, informam as entradas de dinheiro na conta-corrente. + enum: + - CREDITO + - DEBITO + example: DEBITO + EnumPartiePersonType: + type: string + enum: + - PESSOA_NATURAL + - PESSOA_JURIDICA + example: PESSOA_NATURAL + description: | + Identificação do Tipo de Pessoa da pessoa envolvida na transação. + Pessoa Natural - Informar CPF no campo “payerCnpjCpf”. + Pessoa Jurídica - Informar CNPJ no campo “payerCnpjCpf”. + EnumTransactionTypes: + type: string + description: | + O campo deve classificar a transação em um dos tipos descritos. O transmissor deve classificar as transações disponíveis associando-a a um dos itens do Enum listado neste campo. + A opção OUTROS só deve ser utilizada para os casos em que de fato a transação compartilhada não possa ser classificada como um dos itens deste Enum. + enum: + - TED + - DOC + - PIX + - TRANSFERENCIA_MESMA_INSTITUICAO + - BOLETO + - CONVENIO_ARRECADACAO + - PACOTE_TARIFA_SERVICOS + - TARIFA_SERVICOS_AVULSOS + - FOLHA_PAGAMENTO + - DEPOSITO + - SAQUE + - CARTAO + - ENCARGOS_JUROS_CHEQUE_ESPECIAL + - RENDIMENTO_APLIC_FINANCEIRA + - PORTABILIDADE_SALARIO + - RESGATE_APLIC_FINANCEIRA + - OPERACAO_CREDITO + - OUTROS + example: PIX + 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@:%_\+.~#?&\/\/=]*)$' + TransactionsLinks: + 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@:%_\+.~#?&\/\/=]*)$' + Meta: + type: object + description: Meta informações referente à API requisitada. + required: + - totalRecords + - totalPages + - requestDateTime + 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 + requestDateTime: + description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.' + type: string + maxLength: 20 + format: date-time + example: '2021-05-21T08:30:00Z' + MetaOnlyRequestDateTime: + type: object + description: Meta informações referente à API requisitada. + required: + - requestDateTime + properties: + requestDateTime: + description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.' + type: string + maxLength: 20 + format: date-time + example: '2021-05-21T08:30:00Z' + ResponseAccountList: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + description: 'Lista de contas depósito à vista, poupança e pagamento pré-pagas mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento' + minItems: 0 + items: + $ref: '#/components/schemas/AccountData' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Meta' + ResponseAccountBalances: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/AccountBalancesData' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Meta' + ResponseAccountIdentification: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/AccountIdentificationData' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Meta' + ResponseAccountOverdraftLimits: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/AccountOverdraftLimitsData' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Meta' + ResponseAccountTransactions: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + description: | + Lista dos lançamentos referentes às transações realizadas e de lançamentos futuros para as contas de: depósito à vista, poupança e de pagamento pré-paga + minItems: 0 + items: + $ref: '#/components/schemas/AccountTransactionsData' + links: + $ref: '#/components/schemas/TransactionsLinks' + meta: + $ref: '#/components/schemas/MetaOnlyRequestDateTime' + ResponseErrorMetaSingle: + 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 + meta: + $ref: '#/components/schemas/MetaOnlyRequestDateTime' + ResponseError: + 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 + meta: + $ref: '#/components/schemas/Meta' + XFapiInteractionId: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + maxLength: 100 + description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' + parameters: + accountId: + name: accountId + in: path + description: 'Identificador da conta de depósito à vista, de poupança ou de pagamento pré-paga.' + required: true + schema: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + maxLength: 100 + accountType: + name: accountType + description: 'Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum.' + required: false + in: query + schema: + $ref: '#/components/schemas/EnumAccountType' + 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 + creditDebitIndicator: + name: creditDebitIndicator + description: Indicador do tipo de lançamento + required: false + in: query + schema: + $ref: '#/components/schemas/EnumCreditDebitIndicator' + fromBookingDate: + name: fromBookingDate + description: 'Data inicial de filtragem. [Restrição] Deve obrigatoriamente ser enviado caso o campo toBookingDate 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' + fromBookingDateMaxLimited: + in: query + name: fromBookingDate + description: | + Data inicial de filtragem. O período máximo utilizado no filtro é de 7 dias inclusive (D-6). + [Restrição] Deve obrigatoriamente ser enviado caso o campo toBookingDate seja informado. + Caso não seja informado, deve ser assumido o dia atual. + required: false + schema: + type: string + maxLength: 10 + format: date + example: '2021-05-21' + toBookingDateMaxLimited: + in: query + name: toBookingDate + description: | + Data final de filtragem. O período máximo utilizado no filtro é de 7 dias inclusive (D-6). + [Restrição] Deve obrigatoriamente ser enviado caso o campo fromBookingDate seja informado. + Caso não seja informado, deve ser assumido o dia atual. + required: false + schema: + type: string + maxLength: 10 + format: date + example: '2021-05-21' + 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]*' + 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 + toBookingDate: + name: toBookingDate + description: 'Data final de filtragem. [Restrição] Deve obrigatoriamente ser enviado caso o campo fromBookingDate 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' + 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 + 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](https://tools.ietf.org/html/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 UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' + required: false + schema: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + minLength: 1 + maxLength: 100 + securitySchemes: + OpenId: + type: openIdConnect + openIdConnectUrl: 'https://auth.mockbank.poc.raidiam.io/.well-known/openid-configuration' + OAuth2Security: + 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: + accounts: Escopo necessário para acesso à API Accounts. O controle dos endpoints específicos é feito via permissions. + responses: + OKResponseAccountList: + description: Dados de identificação das contas obtidos com sucesso. + headers: + x-fapi-interaction-id: + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseAccountList' + OKResponseAccountIdentification: + description: Dados de identificação da conta identificada por accountId obtidos com sucesso. + headers: + x-fapi-interaction-id: + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseAccountIdentification' + OKResponseAccountBalances: + description: Dados relativos aos saldos da conta identificada por accountId obtidos com sucesso. + headers: + x-fapi-interaction-id: + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseAccountBalances' + OKResponseAccountTransactions: + description: Dados da lista de transações da conta identificada por accountId obtidos com sucesso. + headers: + x-fapi-interaction-id: + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseAccountTransactions' + OKResponseAccountOverdraftLimits: + description: Dados de limites da conta identificada por accountId obtidos com sucesso. + headers: + x-fapi-interaction-id: + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseAccountOverdraftLimits' + 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/schemas/ResponseErrorMetaSingle' + Forbidden: + description: O token tem escopo incorreto ou uma política de segurança foi violada + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + GatewayTimeout: + description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + InternalServerError: + description: Ocorreu um erro no gateway da API ou no microsserviço + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + Locked: + description: Locked + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + MethodNotAllowed: + description: O consumidor tentou acessar o recurso com um método não suportado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + NotAcceptable: + 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/ResponseErrorMetaSingle' + NotFound: + description: O recurso solicitado não existe ou não foi implementado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + 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/schemas/ResponseErrorMetaSingle' + Unauthorized: + description: Cabeçalho de autenticação ausente/inválido ou token inválido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + UnprocessableEntity: + 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/ResponseErrorMetaSingle' + SiteIsOverloaded: + 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/schemas/ResponseErrorMetaSingle' + Default: + description: Erro inesperado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + BadRequestWithAdditionalProperties: + 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/schemas/ResponseError' + 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/schemas/ResponseError' + GatewayTimeoutWithAdditionalProperties: + description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + InternalServerErrorWithAdditionalProperties: + description: Ocorreu um erro no gateway da API ou no microsserviço + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + LockedWithAdditionalProperties: + description: Locked + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + MethodNotAllowedWithAdditionalProperties: + description: O consumidor tentou acessar o recurso com um método não suportado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/ResponseError' + NotFoundWithAdditionalProperties: + description: O recurso solicitado não existe ou não foi implementado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/schemas/ResponseError' + UnauthorizedWithAdditionalProperties: + description: Cabeçalho de autenticação ausente/inválido ou token inválido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/ResponseError' + DefaultWithAdditionalProperties: + description: Erro inesperado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/schemas/ResponseError' diff --git a/swagger-apis/accounts/index.html b/swagger-apis/accounts/index.html index 3e86cc200..a0837da5d 100644 --- a/swagger-apis/accounts/index.html +++ b/swagger-apis/accounts/index.html @@ -56,8 +56,9 @@ {"name": "2.0.0", "url": "./2.0.0.yml"}, {"name": "2.0.1", "url": "./2.0.1.yml"}, {"name": "2.1.0-rc.1", "url": "./2.1.0-rc.1.yml"}, - {"name": "2.1.0-rc.2", "url": "./2.1.0-rc.2.yml"}], - "urls.primaryName": "2.1.0-rc.2", // default spec + {"name": "2.1.0-rc.2", "url": "./2.1.0-rc.2.yml"}, + {"name": "2.1.0-rc.3", "url": "./2.1.0-rc.3.yml"}], + "urls.primaryName": "2.1.0-rc.3", // default spec dom_id: '#swagger-ui', deepLinking: true, supportedSubmitMethods:[], From dbbf00fd9ca94b5302cdf43749ec216195987780 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Wed, 13 Sep 2023 17:05:30 +0000 Subject: [PATCH 2/2] feat(Accounts): ORB-3583 - SPA152 - Incluir e Atualizar textos no header da API --- swagger-apis/accounts/2.1.0-rc.3.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/swagger-apis/accounts/2.1.0-rc.3.yml b/swagger-apis/accounts/2.1.0-rc.3.yml index 6a418331b..2f3dba34a 100644 --- a/swagger-apis/accounts/2.1.0-rc.3.yml +++ b/swagger-apis/accounts/2.1.0-rc.3.yml @@ -41,7 +41,8 @@ info: - permissions: - GET: **ACCOUNTS_OVERDRAFT_LIMITS_READ** - ## Tabela: Data de imutabilidade por tipo de transação + ## Data de imutabilidade por tipo de transação​ + O identificador de transações de contas é de envio obrigatório no Open Finance Brasil. De acordo com o tipo da transação deve haver o envio de um identificador único, estável e imutável em D0 ou D+1, conforme tabela abaixo ``` |---------------------------------------|-------------------------|-----------------------| | Tipo de Transação | Data da Obrigatoriedade | Data da Imutabilidade |