# AT&M - Averbador - GA
# 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**
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/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](https://docs.softensistemas.com.br/books/porto-seguro-averbador-2M7/page/proc001-comunicacao-ga-com-servico-login)
#### **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](https://docs.softensistemas.com.br/attachments/8)
##### ***Protótipo de Tela:***
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1728568467191.png)
I - Exemplo de seleção para averbadoras no cadastro de seguradora
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/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:
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727965452091.png)
**1.2** Deve-se retornar uma mensange de login inválido, se os dados não forem validados:
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/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:
```JSON
{
"usuario": "teste",
"senha": "teste",
"codigoatm": "11000000"
}
```
**1.3** Exemplo de retorno:
```JSON
{
"Bearer": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InRlcm1pbmFsIjoiMTE0MDQ5ODAiLCJ0aXBvX2F2ZXJiYSI6Ik0iLCJjb2RfY2xpIjoiMDYyMzYxIiwicmF6YW8iOiJJWkFJQVMgRlJBTkNJU0NPIENSRVNUQU5JIiwiZmFudGFzaWEiOiJJWkFJQVMgRlJBTkNJU0MiLCJjbnBqIjoiMDEzMDE1ODkwMDAwMTU3IiwiZmxhZ19jb2xldGEiOiJOIiwidXN1YXJpbyI6IldTIiwibm9tZSI6IklaQUlBUyBGUkFOQ0lTQ08gQ1JFU1RBTkkgTUUiLCJwZXJtaXNzb2VzIjoiTk5TIiwiZW1haWwiOiJJWkNSRVNUQU5JQEdNQUlMLkNPTSIsInN0YXR1cyI6IlMiLCJsaWJlcmFkbyI6IlMiLCJpbmNvdGVybXMiOm51bGwsImZsYWdfY25wal9jb21wbGV0byI6Ik4iLCJmbGFnX2NvbnNpc3RlX2NucGoiOm51bGwsImNucGpfYWRpY2lvbmFsIjpudWxsfSwiaWF0IjoxNzI3OTYyOTg2LCJleHAiOjE3Mjc5NjY1ODZ9._JvrjjDuYEOwyJh2QlujH_kWA4qhpQkxWAeJp8TjYh8"
}
```
**1.4** Exemplo retorno usuário inválido:
```JSON
{
"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**.
```SQL
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# 2. Averbando CTe AT&M

| **Projeto/Sistema:**
Serviço AT&M Averbação | **Versão do *Template:***
1.1 |
**Processo:**
Averbação CTe AT&M | **Versão do Documento:**
1.2 |
**Responsável(eis):**
Gustavo Fernandes | **Data:**
02/10/2024
|
##### **1. Introdução**
**Este processo visa exemplificar a averbação CTe pelo serviço AT&M no GA**
##### **2. Processo averbação CTe - validações**
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727956070126.png)
I - Fluxograma Exemplo
**Processo**
| **Envolvidos**
| **Dados de entrada**
| **Dados de Saída**
|
Consumo webservice
| Sistema e WebService
| URL: webserver.averba.com.br/rest/CTE
Cabeçalho:
Authorization: informar o Token.
Accept: Informar application/json ou application/xml
Content-Type: Deve ser application/xml
Body (Corpo): XML do documento CT-e protocolado no SEFAZ.
| Retorna JSON para verificação pelo WebService |
Token inválido/expirado
| Sistema e WebService
| Validando arquivo enviado
| Retorna mensagem de erro |
Token válido
| Sistema e WebService
| Validando arquivo enviado
| Envia XML para webservice |
JSON/XML com erros
| Sistema e WebService
| Verifica retorno JSON/XXML do WebService
| Retorno dos erros em JSON/XML com códigos de erro |
JSON/XML aprovado
| Sistema e WebService
| Verifica retorno JSON/XML do WebService
| Averba Cte, retorna mensagem autorizado |
#### **Processos Relacionados**
- - - - - -
[Comunicação GA (Login) AT&m](https://docs.softensistemas.com.br/books/atm-averbador-ga/page/1-comunicacao-ga-login-atm "Comunicação GA (Login) AT&m")
#### **Especificação Funcional**
- - - - - -
#### **PROC002 VALIDANDO AVERBAÇÃO AT&M:**
##### ***Protótipo de Tela:***
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1728570977202.png)
II - Exemplo de como deve aparecer averbadora da seguradora
##### ***Regras de Interface:***
**1.** Deve mostrar averbadora abaixo da seguradora, antes de averbar, conforme o que esta cadastrado.
**2.** Retornar mensagem padrão igual da Porto Seguro, quando averbar com sucesso!
##### ***Regras de Negócio:***
**1.** O serviço trata as informações, enviadas do GA(Usuário, Senha, CodATM, XML do CTe a ser Averbado);
**1.2** As informações tratadas devem ser do primeiro processo, especificação neste link: [ Comunicação GA (Login) AT&m](https://docs.softensistemas.com.br/books/atm-averbador-ga/page/1-comunicacao-ga-login-atm "Comunicação GA (Login) AT&m")
**1.2.1** Além de enviar as informações anteriores, deve acionar o consumo através da URL abaixo:
URL: webserver.averba.com.br/rest/CTE
Cabeçalho:
Authorization: informar o Token.
Accept: Informar application/json ou application/xml
Content-Type: Deve ser application/xml
Body (Corpo): XML do documento CT-e protocolado no SEFAZ.
**OBS:** O envio do documento deve ser XML.
**Exemplo de envio em cURL:**
curl -X POST \\
[ https://webserver.averba.com.br/rest/CTe\\ ](https://webserver.averba.com.br/rest/CTe%5C)
-H 'Accept: application/json' \\
-H 'Accept-Encoding: gzip, deflate' \\
-H 'Authorization: Bearer TOKEN' \\
-H 'Cache-Control: no-cache' \\
-H 'Connection: keep-alive' \\
-H 'Content-Type: application/xml' \\
-H 'cache-control: no-cache' \\
-d ' '<cteProc versao="3.00" xmlns="http://www.portalfiscal.infr.br/cte">
**ESTRUTURA DO XML**
</cteProc>'
**2.** Exemplo de output ou retorno em JSON:
```JSON
{
"Numero": “”,
"Serie": “”,
"Filial": “”,
"CNPJCli": “”,
"TpDoc": “”,
"InfAdic": “”,
"Averbado": {
"dhAverbacao": “”,
"Protocolo": “”,
"DadosSeguro": [{
"NumeroAverbacao": “”,
"CNPJSeguradora": “”,
"NomeSeguradora": “”,
"NumApolice": “”,
"TpMov": “”,
"TpDDR": “”,
"ValorAverbado": “”,
"RamoAverbado": “”
}]
},
"Infos": {
"Info": [{
"Codigo": “”,
"Descricao": “”
}]
}
}
```
**2.1** Retorno dos erros em JSON:
```JSON
{
"Numero": “”,
"Serie": “”,
"Filial": “”,
"CNPJCli": “”,
"TpDoc": “”,
"InfAdic": “”,
"Erros": {
"Erro":[ {
"Codigo": “”,
"Descricao": “”,
"ValorEsperado": “”,
"ValorInformado": “”
}]
}
}
```
**2.2** Exemplo de retorno output ou retorno em XML:
```XML
```
**2.3** Se enviado XML CTe protocolado no ambiente de homologação, no qual é indicado pela tag <tpAmb>2<tpAmb>, o protocolo de AT&M será TESTE.
**OBS:** Esta averbação pode não ser considerada pela seguradora, por se tratar de
TESTE, causando danos ao segurado em casos de sinistros.
**2.4** Exemplo output XML ou retorno da AT&M homologação:
```XML
6
TESTE
```
**2.5** Exemplo output ou retorno documento recusado, estrutura XML:
```XML
```
**OBS:** Em casos de ocorrer mais de uma recusa por XML, a tag se repetirá e informará as demais descrições de recusa.
**2.6** O output ou retorno de documento recusado por “Documento já cadastrado” se diferencia do exemplo acima.
Nele constará o protocolo e número da averbação, como também o dia e hora da averbação. A mensagem de “Documento já cadastrado” será mostrada na tag “Info”.
```XML
001
Documento já Cadastrado
```
##### ***Questões Técnicas:***
**1.** Estrutura do arquivo retorno XML:
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968359523.png)
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968399292.png)
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968444874.png)
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968477329.png)
**2.** Estrutura do arquivo retorno homologação para testes XML:
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727969218214.png)
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968749517.png)
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968768696.png)
**2.** Estrutura do arquivo recusado XML:
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968826262.png)
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968845774.png)
[](https://docs.softensistemas.com.br/uploads/images/gallery/2024-10/image-1727968867643.png)
©SOFTEN SISTEMAS 2024