
EFAPI versão 2.0.25 (2025-07-16)
© 2024 AT - Autoridade Tributária e Aduaneira

-------------------------------------------------------

1 - DESCRIÇÃO

A aplicação EFAPI (Entrega de Ficheiros Alfandegários Por Internet) é uma aplicação de linha de comando,
que permite a Operadores DAV, Entidades Habilitadas a Despachar e outros Operadores Económicos, o envio
e recepção de ficheiros de e para o sistema SFA (Sistema de Ficalidade Automóvel), STADA Importação,  
Exportação (Sistema de Tratamento Automático de Declarações Aduaneiras), NSTI ou SFA, através do EFAPI Internet.


2 - REQUISITOS

Para a execução da aplicação é necessário um computador com JRE versão 8
ou superior instalado, com ligação à Internet, e um dos seguintes sistemas operativos:

- Windows
- Linux
- Outros sistemas UNIX com JVM instalado


3 - UTILIZAÇÃO

A aplicação deverá ser executada na linha de comando, usando a seguinte sintaxe:

> efapi –n nif [–u utilizador] –p palavra-chave –c comando -d directório [–f ficheiro] –t tipo [-a] [-l] [-lp prefixo]

3.1 - Parâmetros:

nif:            Número de Identificação Fiscal do utilizador;
utilizador: 	Identificador de um utilizador do sistema (parâmetro opcional);
palavra-chave:  Palavra-chave do utilizador;
comando:        Operação a executar. Um dos seguintes valores:

                enviar      para enviar um ficheiro;
                receber     para obter todas as respostas para o directório corrente;

directório      Directório onde a aplicação coloca os ficheiros recebidos ou onde procura os ficheiros a enviar;
ficheiro:       Nome do ficheiro a enviar. É obrigatório apenas no comando "enviar" (não sendo
                utilizado no comando “receber”);
tipo:           Identifica o tipo de ficheiros que se estão a enviar ou a obter (dav, du_i, dui2, du_e, nsti ou dss - siglas em minúsculas);
-a:             Indica se os ficheiro a receber deve ser apagado centralmente ou se o ficheiro a enviar deve ser apagado localmente.
                - local no comando “enviar”, remoto no comando “receber”. (parâmetro opcional);
-l:             Permite criar um ficheiro de registos de execuções;
-lp:            Permite adicionar um prefixo ao ficheiro de log;
prefixo:        prefixo do ficheiro de log;

A aplicação termina, devolvendo um código de retorno com a indicação do resultado da execução. Na tabela seguinte é possível ver a
relação entre o resultado da execução e o respectivo código.

3.2 - Códigos de Erro:

Código  Descrição
------  ------------------------------------------
-1      Erro Desconhecido
 0      Operação efetuada com sucesso
 1      Ficheiro local não existe
 2      Ficheiro já existe na directoria local
 3      Ficheiro já existe no servidor
 4      Tamanho de ficheiro demasiado grande
 5      Argumentos inválidos no comando indicado
 6      Erro no upload do ficheiro
 7      Erro no download do/s ficheiro/s
 8      Erro ao tentar apagar ficheiro local
 9      Erro ao tentar apagar ficheiro no servidor
10      Utilizador não autenticado
11      Utilizador não tem os perfis necessários para efetuar operações neste tipo de ficheiro
12      Tipo de operação inválida
13      Tipo de ficheiro indicado inválido
14      Erro ao tentar gravar ficheiro local. Verifique se tem espaço no disco ou se tem permissões para gravar o ficheiro no directoria indicada
15      Erro ao tentar gravar ficheiro no servidor. Poderá haver pouco espaço no disco do servidor.
16      Erro de Comunicações. Verifique se não terá que definir os valores de proxy no ficheiro "config.properties" da Aplicação
17      Sistema de ficheiros remoto indisponível ou path inválido
18      Nome do ficheiro contém caracteres inválidos ou tem demasiados carateres
19      Directoria indicada é inválida
20      Java Virtual Machine inválida

3.3 - Exemplos:

Exemplo de envio:
	efapi -n 123456789 -p xxxxxxxxxxxx -c enviar -d C:\Temp -f testFile.xml -t du_i -a

Exemplo de recepção:
	efapi -n 123456789 -p xxxxxxxxxxxx -c receber -d C:\Temp -t du_i -a

Exemplo de adição de prefixo:
	efapi -n 123456789 -p xxxxxxxxxxxx -c receber -d C:\Temp -t du_i -a -lp 123456789_

4 - CONFIGURAÇÃO

No directório de instalação da aplicação, encontra-se o ficheiro 'config' com a configuração da aplicação.
Se necessário, este ficheiro pode ser editado usando um editor de texto e alterados os seguintes valores:

proxy.host              Nome do servidor de proxy (deixar o valor vazio caso não exista)
proxy.port              Porto do servidor de proxy (deixar o valor vazio caso não exista servidor de proxy)
communication.timeout   Tempo (em milisegundos) para o time-out da ligação ao servidor

 Para Proxys do tipo Basic
  proxy.user            Nome do utilizador para acesso ao proxy (deixar o valor vazio caso não exista)
  proxy.pass            Password do utilizador para acesso ao proxy (deixar o valor vazio caso não exista)

 As configurações abaixo funcionam apenas quando se utiliza o parâmetro -l
  log.file              Nome do ficheiro que vai ser criado para colocar todos os passos executados pela aplicação
  log.level             Nível de detalhe da informação colocada no ficheiro (1 - Nível técnico, 2- Nível utilizador)
  log.dir				Diretório onde é escrito o ficheiro de log
