Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Introdução

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
pageId635059308
diagramDisplayName
lboxtrue
diagramNameTPR_Roteirizacao_FE
simpleViewerfalse
width
linksauto
tbstyleinline
diagramWidth480


Sistemas Envolvidos

Integração

  • Formato JSON, para maiores detalhes consulte os Exemplos.

Escopo

  • Integração via front end, compostas pela chamada e pelo retorno, nestas, receberemos uma lista pedidos e, quando possível, retornaremos viagens via rotas via importação e exportação de arquivos;

Pré-requisitos instalação/implantação/utilização

  • Para todos os clientes, contratação do trial via TOTVS Store;

Layout do Callback

Data do envio da resposta no TPR

TPRRetorno

Campo

Tipo

Obrigatório

Tamanho

Descrição

Validações

Exemplos

dateCall

Date Time

Sim

Formato ISO 8601

2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD

version

String

Não

4096

Versão do TPR que executou a resposta

Texto Livre

12.36.1

qualifiersObjectNão4096String chave valorFormato JSON.{"Usuário": "Pedro de Alcântara", "Perfil": "Analista"}

summary

TPRSummary

Sim

tripsResults

TPRTrip[]

Sim


Lista de viagens rotas geradas via otimização


Tabela abaixo

rejections

TPRRejection[]

Não


Lista de rejeites geradas via otimização


Tabela abaixo

message

TPRMessage[]

Não


Campo que deve ser exibido pelo sistema externo para o usuário

-

Tabela abaixo

Âncora
TPRSummaryTPRTripTPRSummary
TPRTrip

TPRSummary
TPRTripResults, tipo de dado utilizado nas integrações do TPR
(Apenas JSON)
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
totalDistancedoubleSimDistância total do plano de viagens, em kmMaior ou igual a zero3022 [km]totalTrips
tripIdintegerSim
Quantidade total de viagens do planoMaior ou igual a zero43 [Viagens]totalStopsintegerSimQuantidade total de paradas do plano de viagensMaior ou igual a zero239 [Paradas]totalVolumedoubleSimVolume total em viagens, em m³Maior ou igual a zero50.000 [m³]totalWeightdoubleSimPeso total em viagens, em kgMaior ou igual a zero2.500.000 [kg]totalDurationdoubleSimDuração total do plano de viagens, em milissegundosMaior ou igual a zero57600000 [ms]rejectedOrdersintegerSimQuantidade de pedidos rejeitadosMaior ou igual a zero10 [Pedidos]rejectedWeightdoubleSimTotal de peso rejeitado, em kgMaior ou igual a zero2.500.000 [kg]rejectedVolumedoubleSimTotal de volume rejeitado, em m³Maior ou igual a zero50.000 [m³]
ÂncoraTPRTrip

Índice incremental gerado a cada rota
1, 2 ... 99
TPRTrip
TPRTripResults, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
distancedoubleSim
Distância total planejada para a viagem rota em km
123 [km]
tollValuedoubleSim
Valor do pedágio total da rotaDepende do campo tollCalculation120,32 [R$]
numberOfStopsintegerSim
Quantidade total de paradas (carregamentos e descarregamentos) da viagemrota

volumedoubleSim
Volume total na viagemrota, em m³
14.32 [m³]
weightdoubleSim
Peso total na viagemrota, em kg
12000 [kg]
durationdoubleSim
Duração total planejada para a viagem rota em milissegundosMaior que zero em milissegundos3600000 [ms]
extraTripBooleanSim
True/Verdadeiro se o veiculo veículo disponível, false/falso se não disponível;

considerReturnDistanceBooleanNão

Informa se a distancia distância de retorno a origem na roteirização foi contabilizada.

Tabela para validação de campos Boolean.


vehicleStringTPRVehicleSim
Identificador do veículo selecionado para a viagemVeículo selecionado da rota

stopsTPRTripStop[]Sim
Lista de paradas
Tabela abaixo


Âncora
TPRVehicle
TPRVehicle

TPRVehicle, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
identifierStringSim4096Identificador do tipo do veículo;
Quando a disponibilidade for insuficiente, podemos retornar novas instâncias deste veículo marcados como rota extra;
Sempre será escolhido para as rotas extras os veículos que minimizem o número de rotas.
Texto livre, deve se único dentro da chamada.

"Truck"

"Carreta"

weightCapacityDoubleSim
Capacidade do veículo em quilos.Se preenchido, deve ser maior ou igual a zero.
Validado de acordo com o campo "capacityCriteria".
25000
volumeCapacityDoubleSim
Capacidade do veículo em metros cúbicos.Se preenchido, deve ser maior ou igual a zero.
Validado de acordo com o campo "capacityCriteria".
5000
quantityIntegerNão
Quantidade de veículos, semelhantes a este, disponíveis.

Zerado, nulo ou omitido para os cenários de "Frota Ideal".

Se passados valores quebrados apenas a parte inteira será considerada.


speedDoubleNão
Define a velocidade que dos veículos em uma roteirização.

Se preenchido, deve ser maior que zero. 

Senão, utilizaremos 30 km/h.


vehicleTypeStringNão
Tipo de veículo utilizado: TRUCK | CAR  | MOTORCYCLESe não preenchido será considerado TRUCK.
É utilizado no calculo do pedágio e para restrições de trafego de caminhões.

tollAxesIntegerNão
Quantidade de eixos durante a rota.Se informado será considerado no calculo do pedágio.6
tollReturnAxesIntegerNão
Quantidade de eixos durante o retorno para a origem.Se informado será considerado no calculo do pedágio.4

Âncora
TPRTripStop
TPRTripStop

TPRTripStop, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
stopSequenceintSim
Ordem da parada, iniciando por 1
1, 2 ... 99
stopDistancedoubleSim
Distância total em km entre uma parada e outraMaior ou igual a zero202 [km]
stopTypeStringSim
Categorização da parada podendo ser: LOAD, UNLOAD, BOTH-
stopTollValuedoubleNão
Valor do pedágio da parada anterior para a atualDepende do campo tollCalculation120,32 [R$]
localityTPRRoutingLocalitySim
Identificador da localidadeTexto Livre"Carrefour vila Mariana"
arrivalTime
stopArrivalTimeDateTimeSim
Horário de chegada no formato ISO 8601
2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD
departureTime
stopDepartureTimeDateTimeSim
Horário de saída no formato ISO 8601
2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD
loadedOrdersTPRRoutedOrder[]Sim
Lista de pedidos carregados naquela parada
Tabela abaixo
unloadedOrdersTPRRoutedOrder[]Sim
Lista de pedidos descarregados naquela parada
Tabela abaixo

Âncora
TPRRoutingLocality
TPRRoutingLocality

TPRRoutingLocality, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
localityidentifierStringSim4096Identificador da localidadeTexto Livre"Carrefour vila Mariana"
localitycountryStringSim3País do endereçoFomato ISO 3166-1 alfa-3"BRA"
localitylatitudeDoubleSim
LatitudeIntervalo [-90; 90]-23.6114291
localitylongitudeDoubleSim
LongitudeIntervalo [-180; 180]-46.6946795
localityoperationStringSim
Funcionamento simplificado com uma das opções:
UNRESTRICTED, BUSINESS_DAYS, MORNING, AFTERNOON

Opções:

UNRESTRICTED  (00:00-23:59 de Dom-Sab)
BUSINESS_DAYS (08:00-17:59 de Seg-Sex)
MORNING (08:00-11:59 de Seg-Sex)
AFTERNOON (14:00-17:59 de Seg-Sex)
BUSINESS_DAYS

Âncora
TPRRoutedOrder
TPRRoutedOrder

TPRRoutedOrder, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
orderServiceTypeStringSim
A categorização da parada podendo ser: LOAD ou UNLOAD
LOAD
orderIdentifierStringSim4096Identificador do pedido
"Entrega Carrefour" "PED00133"
orderWeightDoubleNão
Peso total dos itens do pedido, em kg
25.000
orderVolumeDoubleNão
Volume total dos itens do pedido em m³
5000

Âncora
TPRRejection
TPRRejection

TPRRejection, tipo de dado utilizado nas integrações do TPR (Apenas JSON)
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
messageTPRMessage[]Sim4096


orders
TRPRoutedOrder
TROrderRejection[]Sim



Âncora
TPRRoutedOrderTPROrderRejectionTPRRoutedOrder
TPROrderRejection

TPRRoutedOrder
TPROrderRejection, tipo de dado utilizado nas integrações do
TPR (Apenas JSON)
TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
identifierTexto livre
IdentifierStringSim4096Identificador do pedido
que gerou o rejeite
"Entrega Carrefour" "PED00133"
weight
WeightDoubleNão
Peso total os itens do pedido, em kgSe não tiver peso tem que ter volume;
Todos os pedidos da roteirização devem ter o mesmo limitador (Peso ou Volume);

Quantidade rejeitada de peso em kg
25.000
volume
VolumeDoubleNão
Volume total dos itens do pedido em m³Se não tiver volume tem que ter peso;
Todos os pedidos da roteirização devem ter o mesmo limitador (Peso ou Volume);

Quantidade rejeitada de volume em m³
5000

Âncora
TPRMessage
TPRMessage

TPRMessage: Tipo de dado utilizado nas integrações do TPR (Apenas JSON)

CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
messageCodeStringSim4096Código de identificação da mensagemCódigo existente e validoTPR0001
messageStringSim4096Mensagem escritaDescrição do motivo do rejeiteTexto Livre"Para finalizar o cadastro acesse seu e-mail e valide o Token"

Anexos
oldfalse