-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Samuel Facchinello
committed
Jan 31, 2024
1 parent
5b4abd4
commit f93dc52
Showing
194 changed files
with
9,088 additions
and
1,271 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
44 changes: 0 additions & 44 deletions
44
src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoApi.java
This file was deleted.
Oops, something went wrong.
44 changes: 0 additions & 44 deletions
44
src/main/java/br/gov/siscomex/portalunico/cadatributos/api/AtributoNcmApi.java
This file was deleted.
Oops, something went wrong.
91 changes: 91 additions & 0 deletions
91
src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosApi.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
package br.gov.siscomex.portalunico.cadatributos.api; | ||
|
||
import br.gov.siscomex.portalunico.cadatributos.model.ArquivoDiarioAtributoDTO; | ||
import br.gov.siscomex.portalunico.cadatributos.model.AtributoConsultaFiltroCodigoDTO; | ||
import br.gov.siscomex.portalunico.cadatributos.model.AtributoConsultaFiltroNomeDTO; | ||
import io.swagger.annotations.Api; | ||
import io.swagger.annotations.ApiOperation; | ||
import io.swagger.annotations.ApiParam; | ||
import io.swagger.annotations.ApiResponse; | ||
import io.swagger.annotations.ApiResponses; | ||
|
||
import javax.validation.Valid; | ||
import javax.ws.rs.Consumes; | ||
import javax.ws.rs.GET; | ||
import javax.ws.rs.HeaderParam; | ||
import javax.ws.rs.POST; | ||
import javax.ws.rs.Path; | ||
import javax.ws.rs.PathParam; | ||
import javax.ws.rs.Produces; | ||
import javax.ws.rs.QueryParam; | ||
import javax.ws.rs.core.Response; | ||
import java.util.List; | ||
|
||
/** | ||
* Cadastro de Atributos | ||
* | ||
* <p><h3>CADA - Cadastro de Atributos</h3><h4>Introdução</h4> <style> ul.elementos { list-style-type: square; } </style> <p>Bem-vindo à API do sistema Cadastro de Atributos.</p> <p>O <strong>Cadastro de Atributos</strong> define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos: </p> <ul class=\"elementos\"> <li> <strong>Código NCM (Nomenclatura Comum do Mercosul):</strong> São vinculados atributos com objetivo “Produto”, “Tratamento Administrativo” ou “DUIMP”. </li> <li> <strong>Fundamento Legal:</strong> São vinculados atributos com objetivo “Fundamento Legal da DUIMP”. </li> <li> <strong>Modelo de LPCO:</strong> São vinculados atributos com objetivo “LPCO”. </li> </ul> <h4>URLs de Acesso</h4> <p>A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração:</p> <style type=\"text/css\"> .tg {border-collapse:collapse;border-color:#bbb;border-spacing:0;width: 604px;} .tg td{background-color:#E0FFEB;border-color:#bbb;border-style:solid;border-width:1px;color:#594F4F; font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{background-color:#9DE0AD;border-color:#bbb;border-style:solid;border-width:1px;color:#493F3F; font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-cabecalho{text-align:left;vertical-align:top}.tg .tg-corpo{border-color:inherit;text-align:left;vertical-align:top} </style> <table class=\"tg\" style=\"width: 604px;\"> <thead> <tr> <th class=\"tg-cabecalho\"><span style=\"font-weight:bold\">Nome do Ambiente</span></th> <th class=\"tg-cabecalho\"><span style=\"font-weight:bold\">URL de acesso</span></th> </tr> </thead> <tbody> <tr> <td class=\"tg-corpo\">Ambiente de Validação das Empresas</td> <td class=\"tg-corpo\">https://val.portalunico.siscomex.gov.br/cadatributos/api</td> </tr> <tr> <td class=\"tg-corpo\">Ambiente de Produção</td> <td class=\"tg-corpo\">https://portalunico.siscomex.gov.br/cadatributos/api</td> </tr> </tbody> </table> <p> </p> <h4>Serviços de Download das Relações</h4> <p>A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura. </p> <p>Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir: </p> <ul class=\"elementos\"> <li> <strong>Versões da relação de atributos:</strong> URL_BASE/atributo/historico-versoes.html </li> <li> <strong>Versões da relação de atributos por NCM:</strong> URL_BASE/atributo-ncm/historico-versoes.html </li> <li> <strong>Versões da relação de atributos por Fundamento Legal:</strong> URL_BASE/atributo-fundamento-legal/historico-versoes.html </li> </ul> <p>Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO.</p> <h4>Serviços de Consulta</h4> <p>Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON: </p> <ul class=\"elementos\"> <li> Consulta de dados de atributos pelo código ou pelo nome, permitindo consultar até 100 atributos por chamada; </li> <li> Consulta da relação de atributos vinculados a um código NCM; </li> <li> Consulta da relação de atributos vinculados a um Fundamento Legal. </li> </ul> | ||
* | ||
*/ | ||
@Path("/") | ||
@Api(value = "/", description = "") | ||
public interface RelaoDeAtributosApi { | ||
|
||
/** | ||
* Consulta de dados de atributos pelo código | ||
* | ||
*/ | ||
@POST | ||
@Path("/ext/atributo/consulta-codigo") | ||
@Consumes({ "application/json" }) | ||
@Produces({ "application/json" }) | ||
@ApiOperation(value = "Consulta de dados de atributos pelo código", notes = "", tags={ "Relação de Atributos" }) | ||
@ApiResponses(value = { | ||
@ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ArquivoDiarioAtributoDTO.class), | ||
@ApiResponse(code = 400, message = "Requisição inválida"), | ||
@ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), | ||
@ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), | ||
@ApiResponse(code = 500, message = "Erro interno no servidor"), | ||
@ApiResponse(code = 204, message = "Operação realizada com sucesso"), | ||
@ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), | ||
@ApiResponse(code = 404, message = "Recurso não encontrado") }) | ||
public Response consultarCodigo(@ApiParam(value = "Filtro da Consulta" ,required=true)@Valid AtributoConsultaFiltroCodigoDTO body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação" ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação" ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); | ||
|
||
/** | ||
* Consulta de dados de atributos pelo nome | ||
* | ||
*/ | ||
@POST | ||
@Path("/ext/atributo/consulta-nome") | ||
@Consumes({ "application/json" }) | ||
@Produces({ "application/json" }) | ||
@ApiOperation(value = "Consulta de dados de atributos pelo nome", notes = "", tags={ "Relação de Atributos" }) | ||
@ApiResponses(value = { | ||
@ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ArquivoDiarioAtributoDTO.class), | ||
@ApiResponse(code = 400, message = "Requisição inválida"), | ||
@ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), | ||
@ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), | ||
@ApiResponse(code = 500, message = "Erro interno no servidor"), | ||
@ApiResponse(code = 204, message = "Operação realizada com sucesso"), | ||
@ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), | ||
@ApiResponse(code = 404, message = "Recurso não encontrado") }) | ||
public Response consultarNome(@ApiParam(value = "Filtro da Consulta" ,required=true)@Valid AtributoConsultaFiltroNomeDTO body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação" ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação" ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken); | ||
|
||
/** | ||
* Download do arquivo com a relação de atributos, independente dos vínculos | ||
* | ||
*/ | ||
@GET | ||
@Path("/ext/atributo/download/{tipo}") | ||
@ApiOperation(value = "Download do arquivo com a relação de atributos, independente dos vínculos", notes = "", tags={ "Relação de Atributos" }) | ||
@ApiResponses(value = { | ||
@ApiResponse(code = 200, message = "Operação realizada com sucesso"), | ||
@ApiResponse(code = 400, message = "Requisição inválida"), | ||
@ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio"), | ||
@ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"), | ||
@ApiResponse(code = 500, message = "Erro interno no servidor"), | ||
@ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"), | ||
@ApiResponse(code = 404, message = "Recurso não encontrado") }) | ||
public Response download(@ApiParam(value = "Tipo do arquivo a ser gerado.<br>xml<br>json",required=true, allowableValues="xml, json") @PathParam("tipo") String tipo, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação" ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação" ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken, @ApiParam(value = "Data de referência do arquivo, no formato ISO, com precisão de dias.<br>Formato: yyyy-MM-dd") @QueryParam("data") String data, @ApiParam(value = "", allowableValues="TRATAMENTO_ADMINISTRATIVO, CADASTRO_INTERVENIENTES, DUIMP, LPCO, PRODUTO, TRATAMENTO_TRIBUTARIO, FUNDAMENTO_LEGAL_DUIMP") @QueryParam("objetivos") List<String> objetivos, @ApiParam(value = "") @QueryParam("orgaosDemandantes") List<String> orgaosDemandantes); | ||
} | ||
|
Oops, something went wrong.