Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introdução

Bem-vindo à documentação da API de Tributação! Esta API permite que você consulte informações sobre tributações de entrada e saída de forma programática.

Autenticação

Info

Para utilizar a API, você precisa fornecer um token de autenticação app.key válido em cada requisição.

Como obter um token:

  • Entre em contato com o administrador da API para solicitar um token.

  • O token app.key deve ser enviado no cabeçalho (header) de cada requisição HTTP, utilizando a chave Authorization.

Como usar o token:

  • Inclua o token no campo Token.

...

Endereço

  • A API possui os seguintes endereço:

Consultar Tributações de Entrada:

URL: /tributacao-entrada

Método: GET

Parâmetros:

...

Nome

...

Tipo

...

Descrição

...

cnpjCpf0000

...

string

...

Obrigatório. O CNPJ ou CPF da empresa para a qual deseja consultar as tributações de entrada.

Exemplo de Endereço:

http://localhost:8080/api/tributacao-entrada?cnpjCpf0000=0540200000011

Consultar Tributações de Saída

URL: /tributacao-saida

Método: GET

Parâmetros:

...

Nome

...

Tipo

...

Descrição

...

cnpjCpf0000

...

string

...

Obrigatório. O CNPJ ou CPF da empresa para a qual deseja consultar as tributações de entrada.

Exemplo de Endereço:

http://localhost:8080/api/tributacao-saida?cnpjCpf0000=05402900000167

Tratamento de Erros

  • A API utiliza códigos de status HTTP padrão para indicar o sucesso ou falha de uma requisição. Aqui estão alguns dos códigos de status que você pode encontrar:

Código de Status

Descrição

200

ok

401

Token inválido

403

Outros

Contato

...

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:

Info

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:

    Code Block
    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:

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

Exemplo de Resposta (JSON):

Code Block
languagejson
[
  {
    "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):

Code Block
languagekotlin
@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.