Skip to main content

1. Comunicação GA (Login) AT&M


 Softensistemas Logo

Projeto/Sistema:
Serviço AT&M Averbação
Versão do Template:
1.1
Processo:
Comunicação com API
Versão do Documento:
1.2
Responsável(eis): 
Gustavo Fernandes

Data: 

01/10/2024

1. Introdução

Este processo visa exemplificar a comunicação com a API de serviço intermediário entre GA e AT&M para averbação de CTe.

2. Processo de comunicação entre o sistema e serviços

 

image-1727787930273.png

Processo Envolvidos Dados de entrada Dados de Saída
Envio para Web Server Sistema e Serviço Retorna dados de modo síncrono a opção escolhida /rest/Auth
Envio para Web Server Sistema e Serviço Retorna dados de modo síncrono a opção escolhida /rest/CTe
Envio para Web Server Sistema e Serviço Retorna dados de modo síncrono a opção escolhida /rest/NFe
Envio para Web Server Sistema e Serviço Retorna dados de modo síncrono a opção escolhida /rest/MDFe

O processo para averbar e/ou declarar via web service deve seguir o
procedimento abaixo:

Acionar o link (https://webserver.averba.com.br/rest/Auth) para autenticação
e recepção de Token.

Para acionar o Web Service, deve informar qual opção deseja consumir.
Links disponíveis:

o https://webserver.averba.com.br/rest/Cte
o https://webserver.averba.com.br/rest/NFe
o https://webserver.averba.com.br/rest/MDFe

Processos Relacionados


1. Protótipo tela para cadastro seguradora

Especificação Funcional


PROC001 Comunicação G.A com Serviço (Login):

Este procedimento tem por objetivo a adição da funcionalidade Averbação AT&M.
Segundo manual AT&M: MANUAL INTEGRAÇÃO AT&m.pdf

Protótipo de Tela:

image-1728568467191.png

I - Exemplo de seleção para averbadoras no cadastro de seguradora

image-1728567436867.png

II - Exemplo campos para preenchimento Login AT&M

Descrição dos Campos:
Campo Tipo Tamanho Obrigatório? Máscara Observação
Usuário String - Sim - -
Senha String - Sim "•••••••••" Ocultar a Senha em Tela
CodATM String - Sim - -
Regras de Interface:

          1. "Averbadora*" deve ter uma combo box, para seleção da averbadora, no exemplo acima foi selecionado AT&M.

                   1.2  Os campos para preenchimento devem carregar conforme a averbadora, no exemplo a cima, existem três campos, devido a necessidade do "CodATM".

Regras de Negócio:

1. Usuário e Senha deveram ser preenchidos no primeiro acesso, esses dados deveram ser armazenados, quando o usuário selecionar o botão "Login", mencionado na Imagem II,  para que o usuário não necessite realizar o preenchimento novamente.

1.1 Deve-se retornar uma mensagem de login efetuado com sucesso ao validar todos os dados:

image-1727965452091.png

1.2 Deve-se retornar uma mensange de login inválido, se os dados não forem validados:

image-1727965801491.png

Programador pode decidir se é mais viável validar cada campo separadamente, exemplo:
Exibir que o usuário apenas esta inválido, caso seja. Ou pode seguir o exemplo da imagem e se qualquer um dos três campos estiverem inválidos, retornar isto na tela.

 2. Se o usuário decidir logar na mesma seguradora com outra averbadora, deve-se salvar a úlitma que ele logou e limpar a anterior.

Questões Técnicas:

1. O botão de "login" deve realizar o envio dos dados de login para o serviço de seguros da AT&M:

1.1. Envio do Login:

Método HTTP

URL

Header

POST

webserver.averba.com.br/rest/Auth

Accept: application/json
Content-type: application/json

1.2. Body exemplo esperado:

{
 "usuario": "teste",
 "senha": "teste",
 "codigoatm": "11000000"
}

            1.3 Exemplo de retorno:

{
    "Bearer": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InRlcm1pbmFsIjoiMTE0MDQ5ODAiLCJ0aXBvX2F2ZXJiYSI6Ik0iLCJjb2RfY2xpIjoiMDYyMzYxIiwicmF6YW8iOiJJWkFJQVMgRlJBTkNJU0NPIENSRVNUQU5JIiwiZmFudGFzaWEiOiJJWkFJQVMgRlJBTkNJU0MiLCJjbnBqIjoiMDEzMDE1ODkwMDAwMTU3IiwiZmxhZ19jb2xldGEiOiJOIiwidXN1YXJpbyI6IldTIiwibm9tZSI6IklaQUlBUyBGUkFOQ0lTQ08gQ1JFU1RBTkkgTUUiLCJwZXJtaXNzb2VzIjoiTk5TIiwiZW1haWwiOiJJWkNSRVNUQU5JQEdNQUlMLkNPTSIsInN0YXR1cyI6IlMiLCJsaWJlcmFkbyI6IlMiLCJpbmNvdGVybXMiOm51bGwsImZsYWdfY25wal9jb21wbGV0byI6Ik4iLCJmbGFnX2NvbnNpc3RlX2NucGoiOm51bGwsImNucGpfYWRpY2lvbmFsIjpudWxsfSwiaWF0IjoxNzI3OTYyOTg2LCJleHAiOjE3Mjc5NjY1ODZ9._JvrjjDuYEOwyJh2QlujH_kWA4qhpQkxWAeJp8TjYh8"
}

           1.4 Exemplo retorno usuário inválido:

{
    "Erros": {
        "Erro": [
            {
                "Codigo": "904",
                "Descricao": "Acesso nao autorizado"
            }
        ]
    }
}

            1.4: Após o envio das informações o sistema irá retornar o Token para que utilize no
envio dos documentos. Não será mais necessário informar o usuário, senha e Código
AT&M para os envios, visto que as informações estão no Token.


 OBS: O Token utilizado possui prazo para expirar, após isso será necessário repetir
o processo de autenticação para gerar outro número. 

2. SQL para criar a tabela com as informações de login da AT&M:

2.1 Deve-se criar a tabela atmaverbadora relacionada com a tabela seguradora.

CREATE TABLE atmaverbadora (
    ID BIGINT(20) NOT NULL AUTO_INCREMENT,
  	dataToken DATE DEFAULT NULL,
  	empresaId BIGINT(20) NOT NULL,
  	login VARCHAR(255) DEFAULT NULL,
  	senha VARCHAR(30) DEFAULT NULL,
  	codAtm VARCHAR(25) DEFAULT NULL,
  	token VARCHAR(657) DEFAULT NULL,
  	seguradoraId BIGINT(20), DEFAULT NULL,
    PRIMARY KEY (ID)
  	FOREIGN KEY (empresaId) REFERENCES empresa(ID)
  	FOREING KEY (seguradoraId) REFERENCES seguradora(id)
);

 

©SOFTEN SISTEMAS 2024