Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Esta documentação descreve a estrutura básica de como a API tem que ser desenvolvida. A API permitirá consultar informações de tributação de entrada, saída e exceções, utilizando o CNPJ/CPF como chave de pesquisa.

Tecnologias recomendadas:

  • Linguagem de Programação: Java, Kotlin

  • Framework: Spring Boot

  • Banco de Dados: A definir (PostgreSQL, MySQL, MariaDB, Oracle, SQL Server.)

Formato de dados: JSON

Autenticação:

A API utiliza tokens de acesso para autenticação.

  1. Gere um token: No desenvolvimento da API crie um token Authorization

  2. Inclua o token nas requisições: Utilize o cabeçalho (Header) com a chave Authorization para enviar o token em cada requisição:

    Authorization: <seu_token_de_acesso>

Endpoints: ⁣

1. Consultar Tributação de Entrada:

  • Método: GET

  • Link da tabela:

  • Rota: /api/tributacao/entrada/{cnpjCpf0000}

  • Parâmetros:

    • cnpjCpf0000: CNPJ ou CPF da empresa (obrigatório, somente números)

  • Resposta (JSON):

    • Lista de objetos JSON, cada um representando uma entrada na tabela tab_figura_entrada correspondente ao CNPJ/CPF fornecido. Os campos do objeto JSON correspondem às colunas da tabela.

Códigos de Status HTTP

200 (OK)

Consulta realizada com sucesso.

401 (Unauthorized)

Token de autenticação inválido ou não fornecido.

403 (Forbidden)

Exemplo de Requisição:

GET /api/tributacao/entrada/12345678901234
Authorization: Bearer <seu_token_de_acesso>

Exemplo de Resposta (JSON):

[
  {
    "id": 1,
    "cnpj_cpf_0000": "12345678901234",
    "ie_0000": "123456789",
    // ... demais campos da tabela ...
  },
  {
    // ... outros objetos JSON ...
  }
]

2. Consultar Tributação de Saída:

  • Método: GET

  • Link da tabela:

  • Rota: /api/tributacao/saida/{cnpjCpf0000}

  • Parâmetros:

    • cnpjCpf0000: CNPJ ou CPF da empresa (obrigatório, somente números)

  • Resposta (JSON):

    • Lista de objetos JSON, cada um representando uma entrada na tabela tab_figura_saida correspondente ao CNPJ/CPF fornecido. Os campos do objeto JSON correspondem às colunas da tabela.

Códigos de Status HTTP

200 (OK)

Consulta realizada com sucesso.

401 (Unauthorized)

Token de autenticação inválido ou não fornecido.

403 (Forbidden)



3. Consultar Exceções de Tributação:

  • Método: GET

  • Link da tabela:

  • Rota: /api/tributacao/excecao/

  • Resposta (JSON):

    • Lista de objetos JSON, cada um representando uma entrada na tabela tab_figura_participante_excecao correspondente ao CNPJ/CPF fornecido. Os campos do objeto JSON correspondem às colunas da tabela.

Códigos de Status HTTP

200 (OK)

Consulta realizada com sucesso.

401 (Unauthorized)

Token de autenticação inválido ou não fornecido.

403 (Forbidden)



Implementação das Query SQL:

As query SQL fornecidas no arquivo .yml devem ser utilizadas na implementação da API. Certifique-se de carregar o arquivo .yml, extrair as query e utilizá-las para consultar o banco de dados.

Exemplo de implementação (Kotlin com Spring Boot):

@Repository
class TributacaoEntradaRepository(
    private val namedParameterJdbcTemplate: NamedParameterJdbcTemplate,
    @Value("\${sql.tributacao.entrada}") private val sqlEntrada: String
) {

    fun findByCnpjCpf0000(cnpjCpf0000: String): List<Map<String, Any>> {
        val params = MapSqlParameterSource().addValue("cnpjCpf0000", cnpjCpf0000)
        return namedParameterJdbcTemplate.queryForList(sqlEntrada, params)
    }
}

Configuração do arquivo .yml:

O arquivo .yml deve estar no classpath da aplicação. Certifique-se de que a configuração @Value("\\${sql.tributacao.entrada}") na classe do repositório corresponda à chave correta no arquivo .yml.

Considerações:

  • Esta documentação descreve a estrutura básica da API.

  • No labels