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.
Gere um token: No desenvolvimento da API crie um token
Authorization
Inclua o token nas requisições: Utilize o cabeçalho
(Header)
com a chaveAuthorization
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.
Add Comment