Índice
Objetivo
Para os usuários que possuem algum aplicativo customizado, e que precisam realizar uma simulação de frete no produto Gestão de Frete Embarcador (SIGAGFE), foi disponibilizado o método Web Service REST.
Para utilização, é necessário a atualização do produto e a configuração do Web Service REST, conforme descrito nos pré-requisitos.
Método Publicado
Fonte | GFEWSSIMULATION | Endereço das Versões |
---|---|---|
Nome do Serviço | FREIGHTSIMULATION | http://endereco.com:porta/rest/FREIGHTSIMULATION/supply/gfe/v1/freightsimulations/freightsimulation/ http://endereco.com:porta/rest/FREIGHTSIMULATION/supply/gfe/v2/freightsimulations/freightsimulation/ |
Importante
Recomendada a utilização da versão 2 da API.
Pré-requisitos para Utilização
- Atualização do Microsiga Protheus com versão igual ou superior a 12.1.17.
- Atualização da Build 131227a a partir da versão 13.2.3.6.
- 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 FREIGHTSIMULATION.
- API FREIGHTSIMULATION.
- Métodos disponíveis no API FREIGHTSIMULATION
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 uma Simulação de Frete
A API FREIGHTSIMULATION 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 a simulação (mais abaixo tem a explicação de cada campo do arquivo JSON).
Após executar a simulação, o resultado da simulação será retornado no formato JSON.
Exemplo de arquivo JSON
Arquivo JSON de entrada para ser utilizado como base.
Arquivo JSON de entrada mínimo para simulação para ser utilizado como base.
Arquivo JSON exemplo da saída simplificada com cálculo executado com sucesso.
Arquivo JSON exemplo de simulação de frete não realizada.
Arquivo JSON exemplo de validação do Código do Transportador (CarrierCode).
Arquivo JSON exemplo de validação do Tipo de Veículo (TypeOfVehicle).
Arquivo JSON exemplo de validação do Classificação de Frete (FreightClassification).
Arquivo JSON exemplo de validação do Tipo de Operação (OperationType).
Arquivo JSON de Build Desatualizada.
Detalhamento dos Agrupadores e Tags de Entrada
Manifest - Informações do romaneio. Ocorrências 1 ou mais. | |||||
---|---|---|---|---|---|
Field | Descrição | Chave | Tipo | Tamanho | Observação |
ManifestNumber | Código agrupador/Romaneio. | * | Alfanumerico | 8 | Obrigatório. |
CarrierCode | Transportador a ser considerado no cálculo, quando não informado no trecho/rota. | Alfanumérico | 14 | ||
TypeOfVehicle | Tipo de Veículo. | Alfanumérico | 10 | ||
FreightClassification | Classificação de Frete. | Alfanumérico | 4 | ||
OperationType | Tipo de Operação. | Alfanumérico | 10 | ||
BaseDate | Data Base para cálculo. | Alfanumérico | 20 |
DocumentBurden - Documentos de Carga do Romaneio - Para cada Manifest haverá uma ou mais ocorrências de DocumentBurden. | |||||
Field | Descrição | Chave | Tipo | Tamanho | Observação |
ManifestNumber | Código agrupador/Romaneio. | * | Alfanumérico | 8 | Obrigatório. Campo de ligação com o agrupador Manifest/ManifestNumber. |
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 14 | |
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 3 | |
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 16 | |
TypeOfDocument | Tipo do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 5 | Caso não seja informado, será considerado o primeiro registro ativo na tabela GV5. |
SenderCode | Remetente do Documento de Carga/Nota Fiscal. | Alfanumérico | 14 | A obrigatoriedade desta tag está em conjunto com a tag CityCodeDelivery, uma das duas deve estar preenchida para funcionamento da API. O registro informado deve estar cadastro na rotina de emitentes. (Tabela GU3) | |
SenderERPCode | Código do ERP do Remetente do Documento de Carga/Nota Fiscal. | Alfanumérico | 6 | Esta tag serve apenas para busca na tabela de Emitentes do código do remetente, preenchendo após esta busca, a mesma informação do SenderCode. Caso a tag SenderCode esteja preenchida, esta tag será desconsiderada. | |
CostumerCode | Destinatário do Documento de Carga/Nota Fiscal. | Alfanumérico | 14 | Obrigatório. O registro informado deve estar cadastro na rotina de emitentes. (Tabela GU3) | |
CostumerERPCode | Código do ERP do Destinatário do Documento de Carga/Nota Fiscal. | Alfanumérico | 6 | Esta tag serve apenas para busca na tabela de Emitentes do código do destinatário, preenchendo após esta busca, a mesma informação do CostumerCode. Caso a tag CostumerCode esteja preenchida, esta tag será desconsiderada. | |
DeliveryAddress | Endereço de Entrega do Documento de Carga/Nota Fiscal. | Alfanumérico | 60 | ||
DeliveryDistrict | Bairro de Entrega do Documento de Carga/Nota Fiscal. | Alfanumérico | 50 | ||
CityCodeDelivery | Cidade de Entrega do Documento de Carga/Nota Fiscal. | Alfanumérico | 7 | ||
ZipCodeDelivery | CEP de Entrega do Documento de Carga/Nota Fiscal. | Alfanumérico | 8 | ||
Unitizador | Quantidade de Unitizadores. | Numérico | 13,5 | Padrão "1". |
Route - Trechos dos Documentos de Carga - Para cada DocumentBurden haverá uma ou mais ocorrências de Route. | |||||
Field | Descrição | Chave | Tipo | Tamanho | Observação |
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 14 | Campo de ligação com o agrupador DocumentBurden/IssuerCode. |
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 3 | Campo de ligação com o agrupador DocumentBurden/InvoiceSerie. |
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 16 | Campo de ligação com o agrupador DocumentBurden/InvoiceNumber. |
TypeOfDocument | Tipo de Documento de Carga/Nota Fiscal. | * | Alfanumérico | 5 | Campo de ligação com o agrupador DocumentBurden/TypeOfDocument. |
Sequence | Sequência do Trecho. Serial único. | Alfanumérico | 2 | Sequencial único. O valor inicial do campo deverá ser "01". | |
CarrierCode | Transportador do trecho/rota. Ao utilizar o transportador em branco, será realizada a simulação para todos os trechos encontrados. Se informar o transportador, somente este será considerado. | Alfanumérico | 14 | ||
CityCodeDelivery | Cidade de Destino. | Alfanumérico | 7 | (*) Caso não seja informada, será considerada a cidade do endereço de entrega, quando preenchida, ou do destinatário do Documento de Carga. | |
TypeOfVehicle | Tipo de veículo do trecho. | Alfanumérico | 10 | ||
CityCodeOrigin | Número Cidade Origem. | Alfanumérico | 7 | (*) Caso não seja informada, será considerada a cidade do endereço do Remetente ou a cidade de destino do trecho anterior, quando houver. | |
ZipCodeOrigin | CEP de Origem. | Alfanumérico | 8 | ||
ZipCodeDelivery | CEP de Destino. | Alfanumérico | 8 | ||
FreightClassification | Classificação de Frete. | Alfanumérico | 4 | ||
OperationType | Tipo de Operação. | Alfanumérico | 10 |
ItemsDocumentBurden - Itens dos Documentos de Carga - Para cada DocumentBurden haverá uma ou mais ocorrências de ItemsDocumentBurden. | |||||
Field | Descrição | Chave | Tipo | Tamanho | Observação |
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 14 | Campo de ligação com o agrupador DocumentBurden/IssuerCode. |
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 3 | Campo de ligação com o agrupador DocumentBurden/InvoiceSerie. |
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 16 | Campo de ligação com o agrupador DocumentBurden/InvoiceNumber. |
TypeOfDocument | Tipo do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 5 | Campo de ligação com o agrupador DocumentBurden/TypeOfDocument. |
ItemCode | Código do Item do Documento de Carga/Nota Fiscal. | Alfanumérico | 15 | ||
FreightClassification | Classificação de Frete do Item Documento de Carga/Nota Fiscal. | Alfanumérico | 4 | ||
ItemType | Tipo do Item do Documento de Carga/Nota Fiscal. | Alfanumérico | 4 | ||
Quantity | Quantidade do Item. | Numérico | 13,5 | ||
Weight | Peso do Item. | Numérico | 13,5 | ||
NetWeight | Peso Cubado. | Numérico | 13,5 | ||
AlternativeQuantity | Quantidade/Peso Alternativa. | Numérico | 13,5 | ||
NetPrice | Valor do Item. | Numérico | 11,2 | ||
CubicVolume | Volume Ocupado (m3). | Numérico | 11,5 |
ItemsDocumentBurden - Itens dos Documentos de Carga - Para cada DocumentBurden haverá uma ou mais ocorrências de ItemsDocumentBurden. | |||||
Field | Descrição | Chave | Tipo | Tamanho | Observação |
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 14 | Campo de ligação com o agrupador DocumentBurden/IssuerCode. |
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 3 | Campo de ligação com o agrupador DocumentBurden/InvoiceSerie. |
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 16 | Campo de ligação com o agrupador DocumentBurden/InvoiceNumber. |
TypeOfDocument | Tipo do Documento de Carga/Nota Fiscal. | * | Alfanumérico | 5 | Campo de ligação com o agrupador DocumentBurden/TypeOfDocument. |
ItemCode | Código do Item do Documento de Carga/Nota Fiscal. | Alfanumérico | 15 | ||
FreightClassification | Classificação de Frete do Item Documento de Carga/Nota Fiscal. | Alfanumérico | 4 | ||
ItemType | Tipo do Item do Documento de Carga/Nota Fiscal. | Alfanumérico | 4 | ||
Quantity | Quantidade do Item. | Numérico | 13,5 | ||
Weight | Peso do Item. | Numérico | 13,5 | ||
NetWeight | Peso Cubado. | Numérico | 13,5 | ||
AlternativeQuantity | Quantidade/Peso Alternativa. | Numérico | 13,5 | ||
NetPrice | Valor do Liquido do Item. |
Numérico | 11,2 | ||
CubicVolume | Volume Ocupado (m3). | Numérico | 11,5 | ||
GrossPrice | Valor do Bruto do Item |
Numérico | 11,2 | Versão 2 |
Detalhamento dos Agrupadores e Tags de Saída
FreightCalculation - Simulações realizadas. | |||
Field | Descrição | Tipo | Tamanho |
CarrierCode | Codigo do Transportador da rota calculada. | Alfanumérico | 14 |
CarrierCnpj | CNPJ do Transportador da rota calculada. | Alfanumérico | 14 |
CarrierName | Nome do Transportador da rota calculada. | Alfanumérico | 80 |
CarrierERPCode | Código do ERP do Transportador da rota calculada. | Alfanumérico | 6 |
RouteCode | Código da rota utilizada para o cálculo. | Alfanumérico | 4 |
RouteName | Descrição da rota utilizada para o cálculo. | Alfanumérico | 150 |
TypeCapacity | Tipo de Lotação da Tabela de Frete (1=Carga Fracionada; 2=Carga Fechada; 3=Veículo Dedicado). | Alfanumérico | 1 |
CostFreight | Valor total do Frete. | Numérico | 12,2 |
Tax | Valor Imposto (ICMS ou ISS). | Numérico | 12,2 |
DeliveryTime | Prazo de Entrega no formato YYYY-MM-DDThh:mm:ss. | Alfanumérico | 19 |
TableCode | Código da tabela utilizada para o cálculo | Alfanumérico | 6 |
VehicleType | Tipo de Veículo | Alfanúmerico | 10 |
OperationType | Tipo de Operação | Alfanúmerico | 10 |
FreightClassification | Classificação de Frete | Alfanúmerico | 4 |
TradingCode | Código da Negociação | Alfanúmerico | 6 |
TrackCode | Código da Faixa | Alfanúmerico | 4 |
FreightComponents - Componentes do Cálculo de Frete | |||
Field | Descrição | Tipo | Tamanho |
ComponentCode | Código do Componente | Alfanúmerico | 20 |
ComponentValue | Valor do Componente | Númerico | 12,2 |
ComponentCategory | Categoria do Componente | Alfanúmerico | 20 |
Detalhamento técnico da estrutura do arquivo
Estrutura do arquivo de entrada.
TAGS | Descrição | |||||
contents | Agrupador. | |||||
items | Agrupador. | |||||
manifest | Agrupador dos romaneios. | |||||
ManifestNumber | Código agrupador/Romaneio. | |||||
CarrierCode | Transportador a ser considerado no calculo quando não informado no trecho/rota. | |||||
TypeOfVehicle | Tipo de Veículo. | |||||
FreightClassification | Classificação de Frete. | |||||
OperationType | Tipo de Operação. | |||||
BaseDate | Data base para cálculo | |||||
DocumentBurden | Agrupador dos Documentos de Carga. | |||||
Items | Agrupador. | |||||
ManifestNumber | Código agrupador/Romaneio. | |||||
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | |||||
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | |||||
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | |||||
TypeOfDocument | Tipo do Documento de Carga/Nota Fiscal. | |||||
SenderCode | Remetente do Documento de Carga/Nota Fiscal. | |||||
SenderERPCode | Código do ERP do Remetente do Documento de Carga/Nota Fiscal. | |||||
CostumerCode | Destinatário do Documento de Carga/Nota Fiscal. | |||||
CostumerERPCode | Código do ERP do Destinatário do Documento de Carga/Nota Fiscal. | |||||
DeliveryAddress | Endereço de Entrega do Documento de Carga/Nota Fiscal. | |||||
DeliveryDistrict | Bairro de Entrega do Documento de Carga/Nota Fiscal. | |||||
CityCodeDelivery | Cidade de Entrega do Documento de Carga/Nota Fiscal. | |||||
ZipCodeDelivery | CEP de Entrega do Documento de Carga/Nota Fiscal. | |||||
Unitizador | Quantidade de Unitizadores. | |||||
Route | Agrupador das Rotas do Documento de Carga. | |||||
Items | Agrupador. | |||||
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | |||||
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | |||||
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | |||||
TypeOfDocument | Tipo de Documento de Carga/Nota Fiscal. | |||||
Sequence | Sequência do Trecho. Serial único. | |||||
CarrierCode | Transportador do trecho/rota. Ao utilizar o transportador em branco, será realizada a simulação para todos os trechos encontrados. Ao informar o transportador, somente este será considerado. | |||||
CityCodeDelivery | Cidade de Destino. | |||||
TypeOfVehicle | Tipo de veículo do trecho. | |||||
CityCodeOrigin | Número Cidade Origem. | |||||
ZipCodeOrigin | CEP de Origem. | |||||
ZipCodeDelivery | CEP de Destino. | |||||
FreightClassification | Classificação de Frete. | |||||
OperationType | Tipo de Operação. | |||||
ItemsDocumentBurden | Agrupador dos Itens do Documento de Carga. | |||||
Items | Agrupador. | |||||
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | |||||
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | |||||
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | |||||
TypeOfDocument | Tipo do Documento de Carga/Nota Fiscal. | |||||
ItemCode | Código do Item do Documento de Carga/Nota Fiscal. | |||||
FreightClassification | Classificação de Frete do Item do Documento de Carga/Nota Fiscal. | |||||
ItemType | Tipo do Item do Documento de Carga/Nota Fiscal. | |||||
Quantity | Quantidade do Item. | |||||
Weight | Peso do Item. | |||||
NetWeight | Peso Cubado. | |||||
AlternativeQuantity | Quantidade/Peso Alternativa. | |||||
NetPrice | Valor do Item. | |||||
CubicVolume | Volume Ocupado (m3). |
TAGS | Descrição | |||||
contents | Agrupador. | |||||
items | Agrupador. | |||||
manifest | Agrupador dos romaneios. | |||||
ManifestNumber | Código agrupador/Romaneio. | |||||
CarrierCode | Transportador a ser considerado no calculo quando não informado no trecho/rota. | |||||
TypeOfVehicle | Tipo de Veículo. | |||||
FreightClassification | Classificação de Frete. | |||||
OperationType | Tipo de Operação. | |||||
DocumentBurden | Agrupador dos Documentos de Carga. | |||||
Items | Agrupador. | |||||
ManifestNumber | Código agrupador/Romaneio. | |||||
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | |||||
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | |||||
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | |||||
TypeOfDocument | Tipo do Documento de Carga/Nota Fiscal. | |||||
SenderCode | Remetente do Documento de Carga/Nota Fiscal. | |||||
CostumerCode | Destinatário do Documento de Carga/Nota Fiscal. | |||||
DeliveryAddress | Endereço de Entrega do Documento de Carga/Nota Fiscal. | |||||
DeliveryDistrict | Bairro de Entrega do Documento de Carga/Nota Fiscal. | |||||
CityCodeDelivery | Cidade de Entrega do Documento de Carga/Nota Fiscal. | |||||
ZipCodeDelivery | CEP de Entrega do Documento de Carga/Nota Fiscal. | |||||
Unitizador | Quantidade de Unitizadores. | |||||
Route | Agrupador das Rotas do Documento de Carga. | |||||
Items | Agrupador. | |||||
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | |||||
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | |||||
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | |||||
TypeOfDocument | Tipo de Documento de Carga/Nota Fiscal. | |||||
Sequence | Sequência do Trecho. Serial único. | |||||
CarrierCode | Transportador do trecho/rota. Ao utilizar o transportador em branco, será realizada a simulação para todos os trechos encontrados. Ao informar o transportador, somente este será considerado. | |||||
CityCodeDelivery | Cidade de Destino. | |||||
TypeOfVehicle | Tipo de veículo do trecho. | |||||
CityCodeOrigin | Número Cidade Origem. | |||||
ZipCodeOrigin | CEP de Origem. | |||||
ZipCodeDelivery | CEP de Destino. | |||||
FreightClassification | Classificação de Frete. | |||||
OperationType | Tipo de Operação. | |||||
ItemsDocumentBurden | Agrupador dos Itens do Documento de Carga. | |||||
Items | Agrupador. | |||||
IssuerCode | Emitente do Documento de Carga/Nota Fiscal. | |||||
InvoiceSerie | Série do Documento de Carga/Nota Fiscal. | |||||
InvoiceNumber | Número do Documento de Carga/Nota Fiscal. | |||||
TypeOfDocument | Tipo do Documento de Carga/Nota Fiscal. | |||||
ItemCode | Código do Item do Documento de Carga/Nota Fiscal. | |||||
FreightClassification | Classificação de Frete do Item do Documento de Carga/Nota Fiscal. | |||||
ItemType | Tipo do Item do Documento de Carga/Nota Fiscal. | |||||
Quantity | Quantidade do Item. | |||||
Weight | Peso do Item. | |||||
NetWeight | Peso Cubado. | |||||
AlternativeQuantity | Quantidade/Peso Alternativa. | |||||
NetPrice | Valor Líquido do Item. | |||||
CubicVolume | Volume Ocupado (m3). | |||||
GrossPrice | Valor do Bruto do Item. |
Estrutura do arquivo da simulação realizada.
TAGS | Descrição | |||||
content | Agrupador. | |||||
Items | Agrupador. | |||||
Status | Status. | |||||
Message | Mensagem do Status. | |||||
FreightCalculation | Agrupador. | |||||
SimulationNumber | Número da Simulação. | |||||
Items | Agrupador. | |||||
CarrierCode | Código do Transportador da rota calculada. | |||||
CarrierCnpj | CNPJ do Transportador da rota calculada. | |||||
CarrierName | Nome do Transportador da rota calculada. | |||||
RouteCode | Código da rota utilizada para o cálculo. | |||||
RouteName | Descrição da rota utilizada para o cálculo. | |||||
TypeCapacity | Tipo de Lotação da Tabela de Frete (1=Carga Fracionada; 2=Carga Fechada; 3=Veículo Dedicado). | |||||
CostFreight | Valor total do Frete. | |||||
Tax | Valor Imposto (ICMS ou ISS). | |||||
DeliveryTime | Prazo de Entrega no formato YYYY-MM-DDThh:mm:ss. | |||||
TableCode | Código da tabela utilizada para cálculo | |||||
VehicleType | Tipo de Veículo | |||||
OperationType | Tipo de Operação | |||||
FreightClassification | Classificação de Frete | |||||
TradingCode | Código da Negociação | |||||
TrackCode | Código da Faixa | |||||
FreightComponents | Agrupador | |||||
Items | Agrupador | |||||
ComponentCode | Código do Componente | |||||
ComponentValue | Valor do Componente | |||||
ComponentCategory | Categoria do Componente | |||||
FreightDocuments | Agrupador | |||||
Items | Agrupador | |||||
TypeofDocument | Tipo do Documento | |||||
DocumentEmiss | Emissor do Documento | |||||
DocumentGrade | Série do Documento | |||||
DocumentInvoice | Número do Documento | |||||
DocumentSequence | Sequência do Documento |
Importante
O agrupador de FreightDocuments está disponível em ambientes que possuam o fonte GFEWSSIMULATION com a data igual ou superior a 25/01/2024.
Estrutura do arquivo de simulação não realizada.
TAGS | Descrição | ||
content | Agrupador. | ||
Items | Agrupador. | ||
Status | Status. | ||
Message | Mensagem do Status. | ||
Error | Mensagem de erro. |