Á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
pageId590233659
diagramDisplayName
lboxtrue
diagramNameTPR Roteirização
simpleViewerfalse
width
linksauto
tbstylehidden
diagramWidth480

Sistemas Envolvidos

  • TPR: TOTVS Planejamento de Rotas.
  • Sistema Externo: Todos os ERPs que se conectam ou pretendem se conectar com os produtos de planejamento logístico TOTVS.

Integração

  • Formato JSON, para maiores detalhes consulte os Exemplos.

Escopo

  • Integração assíncrona de roteirização, compostas pela chamada e pelos callback, nestas, receberemos uma lista pedidos e, quando possível, retornaremos viagens para o sistema externo;

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

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

Layout do Callback

TPRRoutingCallback: Integração rest, Assincrona

Path: ver campo TPRrouting/CallbackURL, Método: POST

Campo

Tipo

Obrigatório

Tamanho

Descrição

Validações

Exemplos

responseDate

Date Time

Sim


Data do envio da resposta no TPR

Formato ISO8601

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

qualifiersStringNão4096String representando um objeto JSON que tenha o nome da variável e valor sendo String.Formato JSON.
"{ \"Usuario\": \"Pedro\",
 \"Perfil\": \"Analista\" }"
OBS: É equivalente usar:
JSON.stringify(
{"Usuario":"Pedro",
 "Perfil":"Analista"})

summary

TPRSummary

Sim





tripsResults

TPRTrip[]

Sim


Lista de viagens 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
TPRSummary
TPRSummary

TPRSummary, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
totalDistancedoubleSim
Distância total do plano de viagens, em kmMaior ou igual a zero3022 [km]
totalTripsintegerSim
Quantidade total de viagens do planoMaior ou igual a zero43 [Viagens]
totalStopsintegerSim
Quantidade total de paradas do plano de viagensMaior ou igual a zero239 [Paradas]
totalVolumedoubleSim
Volume total em viagens, em m³Maior ou igual a zero50.000 [m³]
totalWeightdoubleSim
Peso total em viagens, em kgMaior ou igual a zero2.500.000 [kg]
totalDurationdoubleSim
Duração total do plano de viagens, em milissegundosMaior ou igual a zero57600000 [ms]
rejectedOrdersintegerSim
Quantidade de pedidos rejeitadosMaior ou igual a zero10 [Pedidos]
rejectedWeightdoubleSim
Total de peso rejeitado, em kgMaior ou igual a zero2.500.000 [kg]
rejectedVolumedoubleSim
Total de volume rejeitado, em m³Maior ou igual a zero50.000 [m³]

Âncora
TPRTrip
TPRTrip

TPRTrip, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
sequentialintegerSim
Sequencial representando um número para a viagem
1
distancedoubleSim
Distancia total planejada para a viagem em km
123 [km]
tollValuedoubleNão
Valor do pedágioDepende do campo tollCalculation120,32 [R$]
numberOfStopsintegerSim
Quantidade total de paradas (carregamentos e descarregamentos) da viagem

volumedoubleSim
Volume total na viagem, em m³
14.32 [m³]
weightdoubleSim
Peso total na viagem, em kg
12000 [kg]
durationdoubleSim
Duração total planejada para a viagem em horas, minutos e segundosMaior que zero em Millesegundos3600000 [ms]
extraTripBooleanSim
True se o veiculo disponível, false se não disponível;

considerReturnDistanceBooleanNão

Informa se o retorno a origem na roteirização foi considerada.

Tabela para validação de campos Boolean.


vehicleStringSim
Identificador do veículo selecionado para a viagem

stopsTPRTripStop[]Sim
Lista de paradas
Tabela abaixo



Âncora
TPRTripStop
TPRTripStop

TPRTripStop, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
sequenceintegerSim
Ordem da parada, iniciando por 1
1, 2 ... 99
typeStringSim
LOAD: Para apenas de carregamento
UNLOAD: Parada apenas de descarregamento
BOTH: Parada de carregamento e descarregamento
-
distancedoubleSim
Distância em km da para anterior para a atualMaior ou igual a zero202 [km]
tollValues

{ name: string, value: number }TPRTollValue[]

Não
Lista dos valores dos pedágios da parada anterior para a atual, discriminado pelo nome da praça de pedágioDepende do campo tollCalculation[{ name: "tollName1", value 40.5}, { name: "tollName2", value 20.15}]Tabela abaixo
localityTPRRoutingLocalitySim
Identificador da localidadeTexto Livre"Carrefour vila Mariana"
arrivalTimeDateTimeSim
Horário de chegadaFormato ISO2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD
departureTimeDateTimeSim
Horário de saídaFormato ISO2021-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 descarreagados naquela parada
Tabela abaixo

Âncora
TPRTollValue
TPRTollValue

TPRTripStop, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
tollNameStringSim
Nome da praça de pedágio.

SPMAR

tollValueStringSim
Valor do pedágio

3.9

Âncora
TPRRoutingLocality
TPRRoutingLocality

TPRRoutingLocality, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
identifierStringSim4096Identificador da localidadeTexto Livre"Carrefour 123-1"
nameStringNão4096Nome da localidadeTexto Livre"Carrefour Vila Mariana"
countryStringSim3País do endereçoFormato ISO 3166-1 alfa-3"BRA"
latitudeDoubleSim
LatitudeIntervalo [-90; 90]-23.6114291
longitudeDoubleSim
LongitudeIntervalo [-180; 180]-46.6946795
operationStringSim
Funcionamento simplificadoOpções: UNRESTRICTED, BUSINESS_DAYS, MORNING, AFTERNOONBUSINESS_DAYS






Âncora
TPRRejection
TPRRejection

TPRRejection, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
messagesTPRMessage[]Sim4096Lista de mensagens de rejeito do pedido
Tabela abaixo
orderTRPRoutedOrderSim
Pedido rejeitado
Tabela abaixo

Âncora
TPRRoutedOrder
TPRRoutedOrder

TPRRoutedOrder, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
identifierStringSim4096Identificador do pedidoTexto livre"Entrega Carrefour" "PED00133"
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);
25.000
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);
5000

Âncora
TPRMessage
TPRMessage

TPRMessage: Tipo de dado utilizado nas integrações do TPR

CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
messageCodeStringSim4096Código de identificação da mensagemCódigo existente e validoTPR0001
messageStringSim4096Mensagem escritaTexto Livre"Para finalizar o cadastro acesse seu e-mail e valide o Token"
Informações
titleRetorno do Call Back
Não esperamos corpo na resposta para os callbacks, este, será avaliado apenas pelo HTTP status e este deve determinar o sucesso do envio.

Anexos
oldfalse