Ir para o conteĆŗdo

Prévia de documentação apenas para visualização

Esta é uma prévia da documentação do Portal, gerada a partir do branch r67-negro , e o propósito desta pÔgina é simples conferências e revisão pelos departamentos responsÔveis da Decex e RFB. Não é a documentação definitiva e qualquer coisa aqui pode mudar a qualquer momento. A documentação da release atual pode ser sempre acessada em https://docs.portalunico.siscomex.gov.br/ .

Introdução

No PUCOMEX, todos os serviços seguem o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Serão utilizados os formatos XML e JSON, sendo que alguns serviços serão disponibilizados exclusivamente no formato XML, tendo sua estrutura especificada na sintaxe XSD (XML Schema Definition). Estes schemas serão disponibilizados para facilitar a validação e construção dos clientes consumidores dos serviços. Além disso, toda a nossa API usarÔ o formato UTF-8.

Destacamos que o sistema foi implementado recentemente para as empresas privadas prepararem as adaptações necessÔrias em seus sistemas, podendo ainda ocorrer instabilidades pontuais. Caso haja dúvidas relacionadas ao Novo Processo de Exportações, envie-as ao Comex Responde (campo "Assunto Geral" opção "Sistemas e ferramentas de apoio" e campo "Assunto Específico" opção "Portal Único Siscomex").

Para problemas relacionados à TI entre em contato com a Central Serpro de Atendimento (no campo de "Serviço" escolher a opção "PORTAL ÚNICO SISCOMEX - PUCOMEX").

Esperamos que o PUCOMEX melhore os processos de negócios das empresas e dos intervenientes públicos, aumentando a competitividade, aumentando a qualidade e tempo de atendimento a sociedade e diminuindo os custos acessórios envolvidos.

Observação: Favor atentar que alguns serviços marcados com o texto: "Funcionalidade ainda não disponível nos ambientes de Validação das Empresas e Produção" ainda estão em processo de construção. Assim que os mesmos estiverem disponíveis em ambiente de validação e produção, os interessados serão informados e os textos excluídos das funcionalidades.

URLs de acesso

Abaixo estão descritas as URLs base da API por ambiente (usaremos a tag <url> para referenciÔ-las).

Ambiente de Validação das Empresas:

  • Intervenientes privados e pĆŗblicos: https://val.portalunico.siscomex.gov.br

Ambiente de Produção:

  • Intervenientes privados e pĆŗblicos: https://portalunico.siscomex.gov.br

Autenticação

A segurança do portal é baseada em SSL/TLS, sendo obrigatória a utilização de certificados digitais. Ao acionar o serviço de autenticação, serÔ preciso realizar o processo de handshake SSL entre a aplicação cliente e o portal, apresentando um certificado digital vÔlido e reconhecido pelo SERPRO. Após a validação do certificado, o portal consultarÔ a base autorizativa a fim de identificar o perfil do usuÔrio proprietÔrio do certificado digital. O serviço suporta certificados A1 e A3, do padrão ICP-Brasil.

As plataformas de desenvolvimento atuais jƔ implementam o fluxo de Handshake SSL/TLS. Em geral, basta configurar algumas variƔveis de ambiente e a API se encarrega de executar o protocolo. Em resumo, o processo acontece da seguinte forma:

1. O cliente inicia o pedido de conexão com o serviço;

2. O serviƧo retorna o seu certificado assinado para que seja verificado pelo cliente;

3. O cliente verifica a sequĆŖncia de cadeias de autoridades certificadoras presentes no certificado e compara com as cadeias presentes na TrustStore local;

4. O cliente envia o seu certificado encapsulado em uma Keystore para que seja reconhecido pelo servidor;

5. O servidor valida o certificado do cliente;

6. O processo de handshake é finalizado e o cliente pode realizar a requisição ao serviço.

Fluxo de acionamento do serviço de autenticação:

alt text

Endpoint (certificado digital de pessoa fĆ­sica ou jurĆ­dica):

POST https://<url>/portal/api/autenticar

Endpoint (certificado digital de equipamento) disponĆ­vel apenas para intervenientes pĆŗblicos :

POST https://<url>/portal/api/autenticar/sistema

Atributos:

Nome Descrição Tipo do dado Tipo do Parâmetro
Role-Type Perfil para o qual se deseja efetuar a autenticação. string, obrigatório para intervenientes privados header
System-Code Chave de acesso do sistema. string, obrigatório para intervenientes públicos usando certificado de equipamento header

Lista de perfis :

Na seguinte tabela estão listados os valores possíveis para o cabeçalho "Role-Type" indicando o perfil de atuação do usuÔrio. Para cada perfil, a tabela também informa se a autenticação admite certificado digital de pessoa física (e-CPF), de pessoa jurídia (e-CNPJ) ou ambos.

Nome Descrição e-CPF e-CNPJ
IMPEXP Declarante importador/exportador X
DEPOSIT DepositƔrio X X
OPERPORT Operador PortuƔrio X X
TRANSPORT Transportador X X
TRANSPEST PF – Representante de TETI X
AGECARGA Agente de Carga X
AGEREMESS Remessa Expressa/Correio X X
AJUDESPAC Ajudante de Despachante X
INSTFINANC Instituição Financeira X
CONTATOOEA Ponto de Contato OEA X
RESPLEGAL ResponsƔvel Legal OE X
HABILITAD Habilitador X
TERCEIROS Terceiros (Outros Intervenientes) X

Atributos do retorno:

Os seguintes atributos serão retornados no cabeçalho da resposta:

Nome Descrição Tipo
Set-Token JSON Web Token (JWT) contendo as informações do usuÔrio. Conforme o padrão JWT, esse token poderÔ ser decodificado (Base64) a fim de se extrair as informações do usuÔrio para que as mesmas sejam utilizadas na aplicação cliente. O token é assinado digitalmente pelo servidor e verificado a cada requisição, garantindo a sua inviolabilidade. string
X-CSRF-Token Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Ao contrÔrio do JWT, esse token é criptografado e pode ser decodificado apenas no servidor. O token possui um tempo de vida de 60 minutos. A cada nova requisição, para qualquer endpoint do Portal, o token é gerado novamente pelo servidor e devolvido no header do response com o tempo de expiração renovado. Dessa forma, a cada nova requisição, dentro do prazo de 60 minutos, utilize o token renovado que foi recebido na requisição anterior, sem precisar chamar novamente o endpoint de autenticação. string
X-CSRF-Expiration Data de expiração do X-CSRF-Token, em milisegundos. Após essa data, o token não serÔ mais aceito no servidor. string

Erros da Autenticação:

Código Mensagem Observações
PUCX-ER0101 O cabeçalho 'Role-Type' não estÔ na requisição
PUCX-ER0102 O cabeçalho 'Role-Type' é invÔlido. Verifique a tabela de domínio no manual de integração.
PLAT-ER2001 Não foi possível identificar um certificado digital vÔlido. A autenticação SSL/TLS não foi efetuada com sucesso.
PLAT-ER2004 Não foi possível efetuar a consulta de representações do usuÔrio. Instabilidade no Serviço Único (SUCE). Se possível aguarde alguns instantes e repita a operação. Se o problema persistir entre em contato com o administrador do sistema.
PLAT-ER2002 Ocorreu um erro na autenticação do usuÔrio. Entre em contato com o administrador do sistema. Mensagem de retorno: Mensagem de erro retornada pelo Serviço Único (SUCE). Em caso de dúvida, entre em contato com o administrador do sistema.
PLAT-ER8001 Não foi possível identificar um certificado digital de equipamento vÔlido.
PLAT-ER8002 O certificado digital não estÔ habilitado no Portal Único do Comércio Exterior.
PLAT-ER8003 A chave de acesso enviada não é vÔlida.
PLAT-ER8004 A integração estÔ desaabilitada temporariamente.

Atributos da resposta quando o resultado for 4xx ou 5xx:

Exemplo da estrutura de resposta de erro no formato JSON

{
   "message":"O cabeçalho 'Role-Type' não estÔ na requisição.",
   "code":"PUCX-ER0101",
   "tag":"[081454RXF]",
   "status":422,
   "severity":"ERROR"
}
Nome Descrição Tipo
message Mensagem de erro string
code Código que identifica o erro string
tag Tag do registro de log (para ser informado na abertura de chamado Ć  central de suporte) string
status Código do status HTTP. Mesmo código retornado no HTTP Status Code da resposta. string

Atributos obrigatórios em todas as requisições após autenticação:

Nome Descrição Tipo Local
Authorization JSON Web Token (JWT) contendo as informações do usuÔrio. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response da chamada ao serviço de autenticação. string header
X-CSRF-Token Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response da chamada ao serviço de autenticação. string header

Status Codes

A API do Portal retornarÔ sempre um HTTP status code para indicar sucesso ou falha de uma requisição.

Código Descrição
200 Operação realizada com sucesso
201 Recurso criado com sucesso
204 Operação realizada com sucesso. Nenhum conteúdo retornado
400 Requisição mal formatada
400 XML não atende as especificações definidas no XSD (requisições com envio de arquivo XML)
401 UsuÔrio não autenticado ou autenticação invÔlida
403 UsuÔrio não tem permissão de acesso ao recurso
404 Recurso não encontrado
422 Erro(s) de validação da camada de negócio
500 Erro interno no servidor
503 ServiƧo indisponƭvel