1. Comunicação GA (Login) AT&M
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
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:
I - Exemplo de seleção para averbadoras no cadastro de seguradora
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:
1.2 Deve-se retornar uma mensange de login inválido, se os dados não forem validados:
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 |
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
No Comments