Histórico da Página
CÁLCULO DE ROMANEIO VIA WEB SERVICE REST - FREIGHTCALCULATIONS
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||
Segmento: | Supply Chain - Logistica | ||||||||
Módulo: | SIGAGFE - Gestão de Frete Embarcador | ||||||||
Rotina: |
| ||||||||
Requisito/Story/Issue (informe o requisito relacionado): | DLOGGFE-4098 / DLOGGFE-4108 | ||||||||
País(es): | Brasil | ||||||||
Banco(s) de Dados: | Todos | ||||||||
Tabelas Utilizadas: | GWN - Romaneios. | ||||||||
Sistema(s) Operacional(is): | Windows, Linux, Unix |
Descrição
Para os usuários que possuem algum aplicativo customizado, integração de documentos de carga, integração do romaneio e necessitam que seja realizado o cálculo automático do romaneio no produto Gestão de Frete Embarcador (SIGAGFE), foi disponibilizado o método Web Service REST para realizar o Cálculo do Romaneio.
Para utilização, é necessário a atualização do produto e a configuração do Web Service REST, conforme descrito nos pré-requisitos.
Índice | ||||||
---|---|---|---|---|---|---|
|
Método Publicado
Fonte | GFEWSCALCULATION |
---|---|
Nome do Serviço | FREIGHTCALCULATION |
Pré-requisitos para Utilização
- Atualização do Microsiga Protheus com versão igual ou superior a 12.1.17.
- Configuração do AppServer para disponibilizar as rotinas publicadas com o Web Service REST.
- No link http://tdn.totvs.com.br/pages/viewpage.action?pageId=185748193 é possível encontrar todas as configurações necessárias.
- Após a configuração do Web Service REST, ao executar o appserver via console, será apresentada uma mensagem, informando que o Web Service REST está habilitado, vide imagem abaixo.
- Pelo navegador de Internet, é possível visualizar todos os serviços disponíveis, inclusive a API FREIGHTCALCULATION.
- API FREIGHTCALCULATION.
Métodos disponíveis no API FREIGHTCALCULATION.
Exemplo de Utilização
Para realizar testes, pode ser utilizado qualquer programa de sua preferência , que teste API Web Service REST.
Como exemplos de programas, podemos citar o SoapUI ou a extensão Postman do Navegador Chrome. Ambos são excelentes aplicativos.
Utilizando o Postman para Realizar o Cálculo de Frete
A API FREIGHTCALCULATION disponibiliza o método GET, onde é retornado o arquivo de exemplo no formato JSON, que poderá ser utilizado para executar o método POST.
Na ferramenta Postman, copie o exemplo retornado, altere para executar o POST e cole o exemplo no Body (corpo).
Altere as informações dos campos para dados válidos da base de dados e execute o cálculo do romaneio (mais abaixo tem a explicação de cada campo do arquivo JSON).
Após executar o cálculo do romaneio, o resultado será retornado no formato JSON.
Exemplo de arquivo JSON
Arquivo JSON de entrada para ser utilizado como base, informando dois romaneios.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "content": [ { "Items": [ { "Manifest": [ { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "value": "10000000", "length": 8, "type": "string" } ] }, { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "value": "20000000", "length": 8, "type": "string" } ] } ] } ] } ] } |
Arquivo JSON de entrada mínimo, utilizado como base, informando apenas um romaneio.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "content": [ { "Items": [ { "Manifest": [ { "Items": [ { "id": "ManifestNumber", "value": "10000000", } ] } ] } ] } ] } |
Arquivo JSON exemplo do retorno com cálculo executado com sucesso.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "content": [ { "Items": [ { "FreightCalculation": [ { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "FileMessage": "\\LOG_GFE\\CalculoFrete_T1D MG 01 _20180221_134644_175.LOG", "value": "10000000", "Status": "ok", "Message": "Cálculo realizado com sucesso" } ] } ], "Status": "ok", "Message": "freightcalculations: Cálculo(s) de Frete realizado(s). Verifique o Status de cada Romaneio calculado." } ] } ] } |
Arquivo JSON exemplo de cálculo não realizado.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "content": [ { "Items": [ { "FreightCalculation": [ { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "FileMessage": "", "value": "00000017", "Status": "error", "Message": "Não foi possível recalcular nenhum frete para documentos relacionados ao romaneio. Motivos:\r\nHá cálculos vinculados a Pré-Faturas.\r\nHá documentos de carga vinculados a documento de frete.\r\n" } ] } ], "Status": "ok", "Message": "freightcalculations: Cálculo(s) de Frete realizado(s). Verifique o Status de cada Romaneio calculado." } ] } ] } |
Arquivo JSON exemplo de validação do número do romaneio (ManifestNumber).
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "content": [ { "Items": [ { "FreightCalculation": [ { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "FileMessage": "", "value": "00010017", "Status": "error", "Message": "Campo ManifestNumber. Número do Romaneio informado não é válido, romaneio não encontrado na base de dados. (D MG 01 00010017)" } ] } ], "Status": "ok", "Message": "freightcalculations: Cálculo(s) de Frete realizado(s). Verifique o Status de cada Romaneio calculado." } ] } ] } |
Arquivo JSON exemplo com cálculos executados e outros não executados.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "content": [ { "Items": [ { "FreightCalculation": [ { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "FileMessage": "\\LOG_GFE\\CalculoFrete_T1D MG 01 _20180221_135338_785.LOG", "value": "100003 ", "Status": "ok", "Message": "Cálculo realizado com sucesso" } ] }, { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "FileMessage": "", "value": "20000000", "Status": "error", "Message": "Campo ManifestNumber. Número do Romaneio informado não é válido, romaneio não encontrado na base de dados. (D MG 01 20000000)" } ] }, { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "FileMessage": "", "value": "00001801", "Status": "error", "Message": "Não há documentos relacionados ao romaneio." } ] }, { "Items": [ { "id": "ManifestNumber", "Description": "Número do Romaneio para cálculo", "FileMessage": "", "value": "00000017", "Status": "error", "Message": "Não foi possível recalcular nenhum frete para documentos relacionados ao romaneio. Motivos:\r\nHá cálculos vinculados a Pré-Faturas.\r\nHá documentos de carga vinculados a documento de frete.\r\n" } ] } ], "Status": "ok", "Message": "freightcalculations: Cálculo(s) de Frete realizado(s). Verifique o Status de cada Romaneio calculado." } ] } ] } |
Detalhamento das Tags de Entrada
Manifest - Informações do romaneio. Ocorrências 1 ou mais. | ||
---|---|---|
Field | Conteúdo / Descrição | Observação |
id | Nome da TAG - ManifestNumber | Obrigatório. |
Description | Descrição do campo - Número do Romaneio | |
value | Número do romaneio a ser calculado | Obrigatório. |
Length | Tamanho do campo do número do manifesto. | |
type | Tipo da informação - Alfanumérica |
Detalhamento das Tags de Saída
FreightCalculation - Informações do romaneio. Ocorrências 1 ou mais. | ||
---|---|---|
Field | Conteúdo / Descrição | Observação |
id | Nome da TAG - ManifestNumber | Obrigatório. |
Description | Descrição do campo - Número do Romaneio | |
value | Número do romaneio a ser calculado | Obrigatório. |
FileMessage | Caminho do arquivo de LOG do cálculo do frete, quando parametrizado para gerar LOG de cálculo. | |
Satus | Indica se o cálculo foi realizado: | |
Message | Mensagem da situação do cálculo. Quando não realizado com sucesso, indica o motivo. |
Detalhamento técnico da estrutura do arquivo
Estrutura do arquivo de entrada.
TAGS | Descrição | ||||
contents | Agrupador. | ||||
items | Agrupador. | ||||
manifest | Agrupador dos romaneios. | ||||
Items | Agrupador. | ||||
id | Nome da Tag | ||||
Description | Descrição detalhada da Tag | ||||
value | Número do romaneio | ||||
length | Tamanho do campo esperado | ||||
type | Tipo do campo |
Estrutura do arquivo da do cálculo de frete realizado.
TAGS | Descrição | ||||
content | Agrupador. | ||||
Items | Agrupador. | ||||
FreightCalculation | Agrupador. | ||||
Status | Status. | ||||
Message | Mensagem do Status. | ||||
Items | Agrupador. | ||||
id | Nome da Tag | ||||
Description | Descrição detalhada da Tag | ||||
FileMessage | Caminho do arquivo de LOG configurado no Protheus para gravação do Log de cálculo de frete. | ||||
value | Número do romaneio que foi realizado o cálculo | ||||
Status | Indica se o romaneio foi ou não calculado. ok - indica que foi calculado com sucesso error - indica que houve problema no cálculo do romaneio. | ||||
Message | Mensagem do cálculo. Em caso de não realizado o cálculo, será detalhado o motivo. |
Estrutura do arquivo do cálculo de frete não realizado.
TAGS | Descrição | ||
content | Agrupador. | ||
Items | Agrupador. | ||
Status | Status. | ||
Message | Mensagem do Status. | ||
Error | Mensagem de erro. |