Á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
diagramDisplayName
lboxtrue
revision4
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 de entrada/saída: JSON

Escopo

  • Ao enviar um payload válido, será efetuada uma roteirização;

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 de Requisição

TPRRouting: Integração rest, Assincrona

Path: .../v1/    , Método: POST

CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
dateCallDate TimeSim
Data da criação da chamada no sistema externoFormato ISO86012021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD
systemStringNão4096Identificador do sistema que fez a chamadaTexto LivreProtheus
versionStringNão4096Versão do sistema externoTexto Livre12.36.1
qualifiersObjectNão4096String chave valorFormato JSON{"Usuário": "Pedro de Alcântara", "Perfil": "Analista"}
callbackURLStringSim4096URL de CallbackInicio com "https://"
callbackAuthenticationTypeStringSim4096Tipos de autenticação: BASIC, NONETexto LivreNONE
callbackAuthenticationValueStringNão4096Texto de acordo com formato indicadoTexto LivreQWxhZGRpbjpvcGVuIHNlc2FtZQ==
capacityCriteriaStringSim4096Tipos de roteirização: WEIGHT, VOLUME ou BOTHTexto Livre"PESO"
routingInstantTypeStringNão4096Define o instante que a viagens podem ser expedidas. Valor default D+1
"Now" considera a saída como hora do servidor no momento da roteirização + 1 hora
"D+1" Primeiro horário factível na origem de acordo com o funcionamento da mesma
Valores: "D+1", "NOW""NOW"
ordersTPRRoutingOrders[]Sim
Lista de pedidos a serem roteirizados
Tabela abaixo
vehiclesTPRRoutingVehicles[]Sim
Lista de veículos disponíveis para a roteirização
Tabela abaixo
restrictionsTRPRoutingRestrictions[]Sim
Restrições de roteirização
Tabela abaixo

Âncora
TPRRoutingOrders
TPRRoutingOrders

TPRRoutingOrders, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
identifierStringSim4096Identificador do pedidoTexto livre;
Único dentro da chamada;
"Entrega Carrefour" "PED00133"
weightDoubleNão
Peso total os itens do pedido em quilosValidado de acordo com o campo "routingType"25.000
volumeDoubleNão
Volume total dos itens do pedido em metros cúbicosValidado de acordo com o campo "routingType"5000
pickupTimeWindowStartDate TimeNão
Inicio da janela de carregamentoFormato ISO8601
PickupStart deve ser anterior a PickupEnd, se ambos preenchidos
"2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD"
pickupTimeWindowEndDate TimeNão
Final da Janela de carregamentoFormato ISO8601
PickupEnd deve ser posterior de PickupStart, se ambos preenchidos
"2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD"
deliveryTimeWindowStartDate TimeNão
Inicio da janela de entregaFormato ISO8601"2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD"
deliveryTimeWindowEndDate TimeNão
Final da Janela de entregaFormato ISO8601
DeliveryEnd deve vir posterior de DeliveryStart
"2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD"
serviceLoadDurationLongNão
Se não infromado consideraremos serviçõe de 30 minutosMaior que zero em Millesegundos3600000 [ms]
serviceUnloadDurationLongNão
Se não infromado consideraremos serviçõe de 30 minutosMaior que zero em Millesegundos3600000 [ms]
originTPRRoutingLocalitySim
Localidade de origem do pedido
Tabela abaixo
destinationTPRRoutingLocalitySim
Localidade de destino do pedido-Tabela abaixo

Âncora
TPRRoutingLocality
TPRRoutingLocality

TPRRoutingLocality, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
identifierStringSim
Identificador da localidadeTexto Livre"Carrefour vila Mariana"
countryStringSim3Pais do endereçoFomato 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
TPRRoutingVehicles
TPRRoutingVehicles

TPRRoutingVehicles, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
identifierStringSim
Identificador do tipo do veículo;
Quando a disponibilidade for insuficiente, podemos retornar novas instancias deste veiculo marcados como viagem extra;
Sempre escolheremos para as viagens extras os veículos que minimizarem o numero de viagens;
Texto livre"Truck" "Carreta"
weightCapacityDoubleSim
Capacidade do veiculo em quilosMaior que zero, se informado25.000
volumeCapacityDoubleSim
Capacidade do veiculo em metros cúbicosMaior que zero, se informado5000
quantityIntNão
Quantidade de veículos, semelhantes a este, disponíveisMaior que zero, se informado;
Omitido para os cenários de "Frota Ideal"

Âncora
TRPRoutingRestrictions
TRPRoutingRestrictions

TPRRoutingRestrictions, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
maxLoadingStopsIntNão
Quantidade máxima de paradas de carregamento por viagem.Maior que zero1
maxUnloadingStopsIntNão
Quantidade máxima de paradas de descarregamento por viagem.Maior que zero15
allowInterleavingBooleanNão
Permite carregamento após descarregamento na mesma viagem. Default: false

maxDistanceBetweenLoadStopsDoubleNão
Máxima distância, em km, entre paradas de carregamento;Se preenchido, deve ser maior ou igual a zero.100
maxDistanceBetweenUnloadStopsDoubleNão
Máxima distância, em km, entre paradas de descarregamento;Se preenchido, deve ser maior ou igual a zero.100

Âncora
TPRRoutingResponse
TPRRoutingResponse

Layout de Resposta

TPRRoutingResponse, tipo de dado utilizado nas integrações do TPR
CampoTipoObrigatórioTamanhoDescriçãoValidaçõesExemplos
responseDateDate TimeSim
Data do envio da resposta no TPR-2021-01-21T10:01:00.0-03:00
YYYY-MM-DDThh:mm:ss.sTZD
versionStringSim4096Versão do TPR que excutou a resposta-0.0.0.1
sucessBooleanSim
True se sucesso, false se falhaSe uma única validação falhar todo o pacote falha;True
messageTPRMessage[]Sim
Lista de mensagens a serem exibidas pelo sistema externo para o usuário-

Â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"

Âncora
TPRCatErros
TPRCatErros

Catálogo de Erros

CódigoMensagemDescrição
TPRRT0001O Input is nullé nuloAo enviar um Payload nulo
TPRRT0002O Input é vazioAo enviar um Payload vazio
TPRRT0003Callback Url inválidaInvalid callback URLAo enviar o campo "callBackUrl" sem domínio, protocolo ou com caracteres especiais.
TPRRT0004O Identificador do cliente está inválidoTPRRT0003Invalid client identifierAo enviar o Identificador da instalação/cliente TOTVS vazio ou nulo
TPRRT0005A Localidade está nulaTPRRT0004Locality is nullAo enviar alguma Localidade nula
TPRRT0006O Identificador da Localide está inválidoTPRRT0005Invalid Locality identifierAo enviar o Identificador da Localidade vazio ou nulo
TPRRT0007A Latitude da Localidade está nulaTPRRT0006Locality latitude is nullAo enviar a Latitude da Localidade nula
TPRRT0008A Longitudeda Localidade está nulaTPRRT0007Locality longitude is nullAo enviar a Longitude da Localidade nula
TPRRT0009A Operação da Localidade está nulaTPRRT0008Locality operation is nullAo enviar o Funcionamento da Localidade nula
TPRRT0010O Pedido está nuloTPRRT0009Order is nullAo enviar algum Pedido nulo
TPRRT0011O Identificador do Pedido está inválidoTPRRT0010Invalid Order identifierAo enviar o Identificador do Pedido vazio ou nulo
TPRRT0012O Peso do Pedido está inválidoTPRRT0011Invalid order weightAo enviar o Peso do Pedido negativo ou nulo
TPRRT0013O Volume do Pedido está inválidoTPRRT0012Invalid order volumeAo enviar o Volume do Pedido negativo ou nulo
TPRRT0014O Veículo está nuloTPRRT0013Vehicle is nullAo enviar algum Veículo nulo
TPRRT0015O Identificador do Veículo está inválidoTPRRT0014Invalid Vehicle identifierAo enviar o Identificador de Veículo vazio ou nulo
TPRRT0016A capacidade de Volume do Veículo está nuloTPRRT0015Invalid vehicle volume capacityAo enviar a Capacidade de Volume do Veículo negativa ou nulo
TPRRT0017A capacidade de Peso do Veículo está nuloTPRRT0016Invalid vehicle weight capacityAo enviar a Capacidade de Peso do Veículo negativa ou nulo
TPRRT0018A Localidade de Origem e Destino são iguaisTPRRT0017Origin and Destination Locality are equalsAo enviar Localidades iguais como Origem e Destino
TPRRT0019O Identificador da Localidade [IDENTIFICADOR_ENVIADO] está duplicado em outras LocalidadesTPRRT0018Duplicated Locality identifier is duplicated in diferentes LocalitiesAo enviar localidades com identificadores iguais, mas atributos diferentes.
TPRRT0020O Identificador do Veículo [IDENTIFICADOR_ENVIADO] está duplicado em outros VeículoTPRRT0019Duplicated Vehicle identifier is duplicated in diferentes VehicleAo enviar veículoscom identificadores iguais, mas atributos diferentes.
TPRRT0021O Identificador do Pedido [IDENTIFICADOR_ENVIADO] está duplicadoTPRRT0020Order identifier is duplicatedAo enviar dois pedidos com o mesmo identificador
TPRRT0021TPRRT0022Invalid VehiclesVeículos inválidosAo enviar uma lista vazia de Veículos
TPRRT0022TPRRT0023Invalid OrdersPedidos inválidosAo enviar uma lista vazia de Pedidos
TPRRT0024A Localidade de Origem do Pedido [IDENTIFICADOR_PEDIDO] está nuloTPRRT0023Origin locality of Order {identificador do Pedido enviado} is NullAo enviar um Pedido com a Localidade de Origem nula
TPRRT0025A Localidade de Destino do Pedido [IDENTIFICADOR_PEDIDO] está nuloTPRRT0024Destination locality of Order {identificador do Pedido enviado} is NullAo enviar um Pedido com a Localidade de Destino nula

Documentações relacionadas

bla bla bla

Anexos

Anexos
oldfalse