diff --git a/swagger-apis/opendata-invoicefinancings/1.0.0.yml b/swagger-apis/opendata-invoicefinancings/1.0.0.yml new file mode 100644 index 000000000..62f8eadb4 --- /dev/null +++ b/swagger-apis/opendata-invoicefinancings/1.0.0.yml @@ -0,0 +1,856 @@ +openapi: 3.0.0 +info: + title: API OpenData Invoice Financings do Open Finance Brasil + description: A API descrita neste documento é referente as API Invoice Financings da fase OpenData do Open Finance Brasil. + version: 1.0.0 + contact: + url: 'https://servicedesk.openbankingbrasil.org.br/Login.jsp?navLanguage=pt-BR' +servers: + - url: 'http://api.banco.com.br/open-banking/products-services/v1' +tags: + - name: Invoice Financings +paths: + /personal-invoice-financings: + get: + tags: + - Invoice Financings + summary: Obtém a lista de Adiantamento de Recebíveis de Pessoa Natural. + description: Obtém a lista de Adiantamento de Recebíveis de Pessoa Natural. + operationId: getPersonalInvoiceFinancings + parameters: + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" + responses: + '200': + description: Lista de adiantamento de recebíveis de pessoa natural obtida com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponsePersonalInvoiceFinancings' + '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' + '504': + $ref: '#/components/responses/GatewayTimeout' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + $ref: '#/components/responses/Default' + /business-invoice-financings: + get: + tags: + - Invoice Financings + summary: Obtém a lista de Adiantamento de Recebíveis de Pessoa Jurídica. + description: Obtém a lista de Adiantamento de Recebíveis de Pessoa Jurídica. + operationId: getBusinessInvoiceFinancings + parameters: + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" + responses: + '200': + description: Lista de adiantamento de recebíveis de pessoa jurídica obtida com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBusinessInvoiceFinancings' + '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' + '504': + $ref: '#/components/responses/GatewayTimeout' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + $ref: '#/components/responses/Default' +components: + schemas: + ApplicationRate: + type: object + properties: + interval: + $ref: '#/components/schemas/ApplicationIntervals' + indexer: + $ref: '#/components/schemas/Indexer' + customers: + $ref: '#/components/schemas/Customer' + required: + - interval + - indexer + - customers + Indexer: + type: object + properties: + rate: + type: string + pattern: '^\d{1}\.\d{6}$' + minLength: 8 + maxLength: 8 + description: | + Percentual que corresponde a mediana da taxa efetiva cobrada do cliente pela contratação do crédito, no intervalo informado. p.ex. '0,8700%'. A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%) + example: '0.870000' + PriceIntervals: + type: string + enum: + - 1_FAIXA + - 2_FAIXA + - 3_FAIXA + - 4_FAIXA + description: | + Segundo Normativa nº 32, BCB, de 2020: Distribuição de frequência relativa dos valores de tarifas cobradas dos clientes, de que trata o § 2º do art. 3º da Circular nº 4.015, de 2020, deve dar-se com base em quatro faixas de igual tamanho, com explicitação dos valores sobre a mediana em cada uma dessas faixas. Informando: 1ª faixa, 2ª faixa, 3ª faixa e 4ª faixa + example: 1_FAIXA + ApplicationIntervals: + type: string + enum: + - 1_FAIXA + - 2_FAIXA + - 3_FAIXA + - 4_FAIXA + description: | + Faixas para cobrança da taxa efetiva aplicada pela contratação do crédito, no intervalo informado: 1ª faixa, 2ª faixa, 3ª faixa e 4ª faixa. Segundo Normativa nº32 de 2020: 'Distribuição de frequência relativa dos valores de tarifas e taxas de juros cobrados dos clientes, de que trata o § 2º do art. 3º da Circular nº 4.015, de 2020, deve dar-se com base em quatro faixas de igual tamanho, com explicitação dos valores sobre a mediana e o percentual de clientes em cada uma dessas faixas. + RequiredWarranty: + type: string + enum: + - CESSAO_DIREITOS_CREDITORIOS + - CAUCAO + - PENHOR + - ALIENACAO_FIDUCIARIA + - HIPOTECA + - OPERACOES_GARANTIDAS_PELO_GOVERNO + - OUTRAS_GARANTIAS_NAO_FIDEJUSSORIAS + - SEGUROS_ASSEMELHADOS + - GARANTIA_FIDEJUSSORIA + - BENS_ARRENDADOS + - GARANTIAS_INTERNACIONAIS + - OPERACOES_GARANTIDAS_OUTRAS_ENTIDADES + - ACORDOS_COMPENSACAO + - NAO_APLICAVEL + description: | + Relação de garantias exigidas, segundo documento 3040 do Bacen: + * `cessão de direitos creditórios`: o cedente transfere ao credor/cessionário a titularidade de direitos creditórios, até a liquidação da dívida. O credor/cessionário passa a recebê-los diretamente dos devedores e credita o produto da operação para o cedente na operação que originou a cessão, até a sua liquidação + * `caução`: garantia instituída sobre créditos do garantidor + * `penhor`: direito real que consiste na tradição de uma coisa móvel ou mobilizável, suscetível de alienação, realizada pelo devedor ou por terceiro ao credor, a fim de garantir o pagamento do débito + * `alienação fiduciária`: transferência ao credor, ou fiduciário, da propriedade do bem + * `hipoteca`: direito real de garantia que afeta um bem imóvel para o cumprimento da obrigação + * `operações garantidas pelo governo`: nas instâncias federal, estadual ou municipal + * `outras garantias não fidejussórias`: as garantias reais não descritas como: cessão de direitos creditórios, caução, penhor, alienação fiduciária, hipoteca ou operação garantida pelo governo + * `seguros e assemelhados`: os seguros (e assemelhados) contratados para garantir o pagamento da operação em circunstâncias adversas + * `garantia fidejussória`: baseada na fidelidade do garantidor em cumprir as obrigações, caso o devedor não o faça + * `bens arrendados`: bem objeto do arrendamento financeiro + * `garantias internacionais`: declarar se a garantia é mitigadora ou não, observados os critérios definidos pela Circular 3.644, de 4 de março de 2013 + * `operações garantidas por outras entidade`: declarar as garantias prestadas pelas entidades descritas no item 3. Informações de Garantias (i) do documento 3040 - Bacen + * `acordos de compensação`: operações que sejam abrangidas por acordos para a compensação e liquidação de obrigações no âmbito do SFN, nos termos da Resolução 3.263, de 24 de fevereiro de 2005 + * `não aplicável` + example: CESSAO_DIREITOS_CREDITORIOS + ResponsePersonalInvoiceFinancings: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + required: + - brand + properties: + brand: + $ref: '#/components/schemas/PersonalInvoiceFinancingsBrand' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Meta' + PersonalInvoiceFinancingsBrand: + type: object + required: + - name + - companies + properties: + name: + type: string + pattern: '[\w\W\s]*' + maxLength: 80 + description: Nome da marca. + example: Organização A + companies: + type: array + items: + $ref: '#/components/schemas/PersonalInvoiceFinancingsCompanies' + minItems: 1 + description: Companies traz uma lista de todas as instituições da Marca + PersonalInvoiceFinancingsCompanies: + type: object + required: + - name + - cnpjNumber + - personalInvoiceFinancings + properties: + name: + type: string + description: Nome da Instituição, pertencente à marca, responsável pela modalidade de Empréstimos. p.ex.'Empresa da Organização A' + maxLength: 80 + pattern: '[\w\W\s]*' + example: 'Empresa A1' + cnpjNumber: + type: string + pattern: '^(\d{14})$|^NA$' + description: CNPJ + maxLength: 14 + example: "50685362000135" + urlComplementaryList: + type: string + pattern: '[\w\W\s]*' + maxLength: 1024 + description: | + URL do link que conterá a lista complementar com os nomes e CNPJs agrupados sob o mesmo cnpjNumber. Os contidos nessa lista possuem as mesmas características para produtos e serviços. Endereço eletrônico de acesso ao canal. Será obrigatoriamente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada. + Restrição: Será obrigatorimente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada + example: 'https://empresadaorganizacaoa.com/complementarylist' + personalInvoiceFinancings: + type: array + items: + $ref: '#/components/schemas/PersonalInvoiceFinancings' + minItems: 1 + maxItems: 5 + description: Lista de Modalidades de Direitos Creditórios Descontados ofertados + PersonalInvoiceFinancings: + type: object + required: + - type + - fees + - interestRates + - requiredWarranties + - termsConditions + properties: + type: + type: string + enum: + - DESCONTO_DUPLICATAS + - DESCONTO_CHEQUES + - ANTECIPACAO_FATURA_CARTAO_CREDITO + - OUTROS_DIREITOS_CREDITORIOS_DESCONTADOS + - OUTROS_TITULOS_DESCONTADOS + description: 'Modalidades de direitos creditórios descontados ofertados para pessoas naturais, conforme Circular 4015-Bacen. Direito creditório descontado é a antecipação de créditos relativos por ex. ao: desconto de duplicatas, desconto de cheques,antecipação de fatura de cartão de crédito' + example: DESCONTO_DUPLICATAS + fees: + $ref: '#/components/schemas/PersonalInvoiceFinancingsFees' + interestRates: + type: array + items: + $ref: '#/components/schemas/PersonalInvoiceFinancingsInterestRates' + minItems: 1 + description: Lista que traz o conjunto de informações necessárias para demonstrar a distribuição de frequências das taxas de juros remuneratórios da Modalidade de crédito. + requiredWarranties: + type: array + items: + $ref: '#/components/schemas/RequiredWarranty' + minItems: 1 + maxItems: 14 + description: Lista das garantias exigidas + termsConditions: + type: string + pattern: '[\w\W\s]*' + maxLength: 2000 + description: Campo aberto para informar as condições contratuais relativas à Modalidade de Financiamentos para pessoa natural informada. Pode ser informada a URL referente ao endereço onde constam as condições informadas. Endereço eletrônico de acesso ao canal. + example: 'https://empresaa1.com/personal_invoice_financings' + PersonalInvoiceFinancingsFees: + type: object + description: Objeto que reúne informações de tarifas de serviços + properties: + services: + type: array + description: Lista das Tarifas cobradas sobre Serviços + items: + $ref: "#/components/schemas/InvoiceFinancingsService" + minItems: 1 + required: + - services + InvoiceFinancingsService: + type: object + required: + - name + - code + - chargingTriggerInfo + - prices + - minimum + - maximum + properties: + name: + type: string + pattern: '[\w\W\s]*' + maxLength: 250 + description: 'Nomes das Tarifas cobradas sobre Serviços ofertados à Modalidade de direitos creditórios descontados, para pessoa natural. (Campo Livre)' + example: 'Custódia de Duplicatas' + code: + type: string + pattern: '[\w\W\s]*' + maxLength: 100 + description: 'Sigla de identificação do serviço relacionado à Modalidade de direitos creditórios descontados, para pessoa natural. Campo aberto' + example: 'NA' + chargingTriggerInfo: + type: string + pattern: '[\w\W\s]*' + maxLength: 2000 + description: 'Fatores geradores de cobrança que incidem sobre as Modalidades de direitos creditórios descontados, para pessoa natural. Campo Livre' + example: '5% do valor do contrato' + prices: + type: array + items: + $ref: '#/components/schemas/Price' + minItems: 4 + maxItems: 4 + description: Lista distribuição preços tarifas de serviços + minimum: + $ref: '#/components/schemas/MinimumPrice' + maximum: + $ref: '#/components/schemas/MaximumPrice' + PersonalInvoiceFinancingsInterestRates: + type: object + required: + - referentialRateIndexer + - rate + - applications + - minimumRate + - maximumRate + properties: + referentialRateIndexer: + type: string + enum: + - SEM_INDEXADOR_TAXA + - PRE_FIXADO + - POS_FIXADO_TR_TBF + - POS_FIXADO_TJLP + - POS_FIXADO_LIBOR + - POS_FIXADO_TLP + - OUTRAS_TAXAS_POS_FIXADAS + - FLUTUANTES_CDI + - FLUTUANTES_SELIC + - OUTRAS_TAXAS_FLUTUANTES + - INDICES_PRECOS_IGPM + - INDICES_PRECOS_IPCA + - INDICES_PRECOS_IPCC + - OUTROS_INDICES_PRECO + - CREDITO_RURAL_TCR_PRE + - CREDITO_RURAL_TCR_POS + - CREDITO_RURAL_TRFC_PRE + - CREDITO_RURAL_TRFC_POS + - OUTROS_INDEXADORES + description: 'Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040' + example: PRE_FIXADO + rate: + type: string + pattern: '^\d{1}\.\d{6}$' + description: | + Percentual que incide sobre a composição das taxas de juros remuneratórios. (representa uma porcentagem Ex: 0.15 (O valor ao lado representa 15%. O valor '1 'representa 100%) A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%) + example: '0.150000' + minLength: 8 + maxLength: 8 + applications: + type: array + description: Lista das faixas de cobrança da taxa efetiva de remuneração + items: + $ref: "#/components/schemas/ApplicationRate" + minItems: 4 + maxItems: 4 + minimumRate: + type: string + description: | + Percentual mínimo cobrado (taxa efetiva) no mês de referência, para os Direitos Creditórios Descontados contratado A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.15. Este valor representa 15%. O valor 1 representa 100%) + pattern: '^\d{1}\.\d{6}$' + minLength: 8 + maxLength: 8 + example: '0.088900' + maximumRate: + type: string + description: | + Percentual máximo cobrado (taxa efetiva) no mês de referência, para os Direitos Creditórios Descontados contratado A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.15. Este valor representa 15%. O valor 1 representa 100%) + pattern: '^\d{1}\.\d{6}$' + minLength: 8 + maxLength: 8 + example: '0.686500' + ResponseBusinessInvoiceFinancings: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + required: + - brand + properties: + brand: + $ref: '#/components/schemas/BusinessInvoiceFinancingsBrand' + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Meta' + BusinessInvoiceFinancingsBrand: + type: object + required: + - name + - companies + properties: + name: + type: string + pattern: '[\w\W\s]*' + maxLength: 30 + description: Nome da marca. + example: Marca A + companies: + type: array + items: + $ref: '#/components/schemas/BusinessInvoiceFinancingsCompanies' + minItems: 1 + description: Companies traz uma lista de todas as instituições da Marca + BusinessInvoiceFinancingsCompanies: + type: object + required: + - name + - cnpjNumber + - businessInvoiceFinancings + properties: + name: + type: string + description: Nome da Instituição, pertencente à marca, responsável pela modalidade de Empréstimos. p.ex.'Empresa da Organização A' + maxLength: 80 + pattern: '[\w\W\s]*' + example: 'Empresa A1' + cnpjNumber: + type: string + pattern: '^(\d{14})$|^NA$' + description: CNPJ + maxLength: 14 + example: "50685362000135" + urlComplementaryList: + type: string + pattern: '[\w\W\s]*' + maxLength: 1024 + description: | + URL do link que conterá a lista complementar com os nomes e CNPJs agrupados sob o mesmo cnpjNumber. Os contidos nessa lista possuem as mesmas características para produtos e serviços. Endereço eletrônico de acesso ao canal. Será obrigatoriamente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada. + Restrição: Será obrigatorimente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada + example: 'https://empresadaorganizacaoa.com/complementarylist' + businessInvoiceFinancings: + type: array + items: + $ref: '#/components/schemas/BusinessInvoiceFinancings' + minItems: 1 + maxItems: 5 + description: Lista de Modalidades de Direitos Creditórios Descontados + BusinessInvoiceFinancings: + type: object + required: + - type + - fees + - interestRates + - requiredWarranties + - termsConditions + properties: + type: + type: string + enum: + - DESCONTO_DUPLICATAS + - DESCONTO_CHEQUES + - ANTECIPACAO_FATURA_CARTAO_CREDITO + - OUTROS_DIREITOS_CREDITORIOS_DESCONTADOS + - OUTROS_TITULOS_DESCONTADOS + description: 'Modalidades de direitos creditórios descontados ofertados para pessoas Jurídicas, conforme Circular 4015-Bacen. Direito creditório descontado é a antecipação de créditos relativos por ex. ao: desconto de duplicatas, desconto de cheques,antecipação de fatura de cartão de crédito' + fees: + $ref: '#/components/schemas/BusinessInvoiceFinancingsFees' + interestRates: + type: array + items: + $ref: '#/components/schemas/BusinessInvoiceFinancingsInterestRates' + minItems: 1 + description: Lista que traz o conjunto de informações necessárias para demonstrar a distribuição de frequências das taxas de juros remuneratórios da Modalidade de crédito + requiredWarranties: + type: array + items: + $ref: '#/components/schemas/RequiredWarranty' + description: Lista das garantias exigidas + minItems: 1 + maxItems: 14 + termsConditions: + type: string + pattern: '[\w\W\s]*' + maxLength: 2000 + description: Campo aberto para informar as condições contratuais relativas à Modalidade de Financiamentos para pessoa jurídica informada. Pode ser informada a URL referente ao endereço onde constam as condições informadas. Endereço eletrônico de acesso ao canal. + example: 'https://empresaa1.com/personal_invoice_financings' + BusinessInvoiceFinancingsFees: + type: object + description: Objeto que reúne informações de tarifas de serviços + required: + - services + properties: + services: + type: array + items: + $ref: "#/components/schemas/InvoiceFinancingsService" + minItems: 1 + description: Lista das Tarifas cobradas sobre Serviços + BusinessInvoiceFinancingsInterestRates: + type: object + required: + - referentialRateIndexer + - rate + - applications + - minimumRate + - maximumRate + properties: + referentialRateIndexer: + type: string + enum: + - SEM_INDEXADOR_TAXA + - PRE_FIXADO + - POS_FIXADO_TR_TBF + - POS_FIXADO_TJLP + - POS_FIXADO_LIBOR + - POS_FIXADO_TLP + - OUTRAS_TAXAS_POS_FIXADAS + - FLUTUANTES_CDI + - FLUTUANTES_SELIC + - OUTRAS_TAXAS_FLUTUANTES + - INDICES_PRECOS_IGPM + - INDICES_PRECOS_IPCA + - INDICES_PRECOS_IPCC + - OUTROS_INDICES_PRECO + - CREDITO_RURAL_TCR_PRE + - CREDITO_RURAL_TCR_POS + - CREDITO_RURAL_TRFC_PRE + - CREDITO_RURAL_TRFC_POS + - OUTROS_INDEXADORES + description: 'Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040' + example: PRE_FIXADO + rate: + type: string + pattern: '^\d{1}\.\d{6}$' + description: | + Percentual que incide sobre a composição das taxas de juros remuneratórios. (representa uma porcentagem Ex: 0.15 (O valor ao lado representa 15%. O valor '1 'representa 100%) A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%) + example: '0.150000' + minLength: 8 + maxLength: 8 + applications: + type: array + description: Lista das faixas de cobrança da taxa efetiva de remuneração + items: + $ref: "#/components/schemas/ApplicationRate" + minItems: 4 + maxItems: 4 + minimumRate: + type: string + description: | + Percentual mínimo cobrado (taxa efetiva) no mês de referência, para os Direitos Creditórios Descontados contratado A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.15. Este valor representa 15%. O valor 1 representa 100%) + pattern: '^\d{1}\.\d{6}$' + minLength: 8 + maxLength: 8 + example: '0.150000' + maximumRate: + type: string + description: | + Percentual máximo cobrado (taxa efetiva) no mês de referência, para os Direitos Creditórios Descontados contratado A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.15. Este valor representa 15%. O valor 1 representa 100%) + pattern: '^\d{1}\.\d{6}$' + minLength: 8 + maxLength: 8 + example: '0.686500' + Price: + type: object + required: + - interval + - value + - currency + - customers + properties: + interval: + $ref: '#/components/schemas/PriceIntervals' + value: + type: string + pattern: '^((\d{1,9}\.\d{2}){1}|NA)$' + maxLength: 12 + x-cds-type: AmountString + description: | + Valor da mediana de cada faixa relativa ao serviço ofertado, informado no período, conforme Res nº 32 BCB, 2020. p.ex. '45.00' (representa um valor monetário. p.ex: 1547368.92. Este valor, considerando que a moeda seja BRL, significa R$ 1.547.368,92. O único separador presente deve ser o '.' (ponto) para indicar a casa decimal. Não deve haver separador de milhar) + example: '2000.00' + currency: + $ref: '#/components/schemas/Currency' + customers: + $ref: '#/components/schemas/Customer' + MinimumPrice: + type: object + required: + - value + - currency + properties: + value: + type: string + pattern: '^((\d{1,9}\.\d{2}){1}|NA)$' + maxLength: 12 + x-cds-type: AmountString + description: Valor mínimo apurado para a tarifa de serviços sobre a base de clientes no mês de referência + example: '1350.00' + currency: + $ref: "#/components/schemas/Currency" + MaximumPrice: + type: object + required: + - value + - currency + properties: + value: + type: string + pattern: '^((\d{1,9}\.\d{2}){1}|NA)$' + maxLength: 12 + x-cds-type: AmountString + description: Valor máximo apurado para a tarifa de serviços sobre a base de clientes no mês de referência + example: '8800.00' + currency: + $ref: "#/components/schemas/Currency" + Customer: + type: object + required: + - rate + properties: + rate: + type: string + description: | + Percentual de clientes em cada faixa. + pattern: '^\d{1}\.\d{6}$' + example: '0.150000' + minLength: 8 + maxLength: 8 + Currency: + type: string + pattern: '^(\w{3}){1}$' + maxLength: 3 + x-cds-type: CurrencyString + description: 'Moeda referente ao valor mínimo da Tarifa, segundo modelo ISO-4217' + example: BRL + Links: + type: object + properties: + self: + type: string + maxLength: 2000 + description: URL da página atualmente requisitada + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + example: 'https://api.banco.com.br/open-banking/products-services/v1/resource' + first: + type: string + maxLength: 2000 + description: URL da primeira página de registros + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + example: 'https://api.banco.com.br/open-banking/products-services/v1/resource' + prev: + type: string + maxLength: 2000 + description: URL da página anterior de registros + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + next: + type: string + maxLength: 2000 + description: URL da próxima página de registros + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + last: + type: string + maxLength: 2000 + description: URL da última página de registros + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + example: 'https://api.banco.com.br/open-banking/products-services/v1/resource' + Meta: + type: object + properties: + totalRecords: + type: integer + description: Total de registros encontrados + example: 1 + totalPages: + type: integer + description: Total de páginas para os registros encontrados + example: 1 + required: + - totalRecords + - totalPages + 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: + 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' + 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: + 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 + securitySchemes: + APIKey1: + name: API Key + type: apiKey + in: query + APIKey2: + name: API Key + type: apiKey + in: query + parameters: + 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 + format: int32 + default: 1 + minimum: 1 + maximum: 2147483647 + pageSize: + name: page-size + in: query + description: Quantidade total de registros por páginas. + schema: + type: integer + format: int32 + default: 25 + minimum: 1 + maximum: 1000 + responses: + 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/ResponseError' + NotFound: + description: O recurso solicitado não existe ou não foi implementado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/ResponseError' + 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/ResponseError' + InternalServerError: + description: Ocorreu um erro no gateway da API ou no microsserviço. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/ResponseError' + 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: '\-' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + \ No newline at end of file diff --git a/swagger-apis/opendata-invoicefinancings/index.html b/swagger-apis/opendata-invoicefinancings/index.html new file mode 100644 index 000000000..2bd64747c --- /dev/null +++ b/swagger-apis/opendata-invoicefinancings/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 +

+
+ +
+ + + + + +