Aviso | ||
---|---|---|
| ||
|
draw.io Diagram | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Layout de Requisição
TPRRouting: Integração rest, |
---|
Assíncrona com o callback | ||||||
---|---|---|---|---|---|---|
Path: https://planejamentorotasqa.totvs. |
com/v1/ |
tpr-routing, Método: POST |
Header obrigatório: Chave = "TPR_AUTHORIZATION" e Valor = Chave gerada na integração de Criação de token | ||||||
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
---|---|---|---|---|---|---|
dateCall | Date Time | Sim | Data da criação da chamada no sistema externo. | Formato ISO8601. | 2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD | |
system | String | Não | 4096 | Identificador do sistema que fez a chamada. | Texto Livre. | Protheus |
version | String | Não | 4096 | Versão do sistema externo. | Texto Livre. | 12.36.1 |
qualifiers |
String | Não | 4096 | String |
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"}) | |
callbackURL | String |
Depende | 4096 | URL de Callback |
. É obrigatório caso não tenha sido preenchido nada em callbackInfos. | Início com "https://" quando o tipo de autenticação não for NONE | |
callbackAuthenticationType | String |
Depende | 4096 | Tipos de autenticação: BASIC, NONE |
É obrigatório caso não tenha sido preenchido nada em callbackInfos. | Opções: BASIC, NONE. | NONE | ||||
callbackAuthenticationValue | String | Não | 4096 | Texto de acordo com formato indicado. | Texto Livre. | QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
callbackInfos |
TPRCallbackInfo[] |
Depende |
Lista de callbacks. É obrigatório caso não tenha sido preenchido nada em callbackURL e callbackAuthenticationType. | ||||||
orders | TPRRoutingOrders[] | Sim | Lista de pedidos a serem roteirizados. | Tabela abaixo | ||
vehicles | TPRRoutingVehicles[] | Sim | Lista de veículos disponíveis para a roteirização. | Tabela abaixo | ||
restrictions | TRPRoutingRestrictions | Sim | Restrições de roteirização. | Tabela abaixo | ||
options | TPRRoutingOptions | Sim | Opções de roteirização. |
Tabela abaixo |
Âncora | ||||
---|---|---|---|---|
|
TPRCallbackInfo, tipo de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
callbackURL | String | Sim | 4096 |
URL de Callback. | Início com "https://" quando o tipo de autenticação não for NONE | |||||
callbackAuthenticationType | String | Sim | 4096 | Tipos de autenticação: BASIC, NONE | Opções: BASIC, NONE. | NONE |
callbackAuthenticationValue | String | Não | 4096 | Texto de acordo com formato indicado. | Texto Livre. | QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingOrders, tipo de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
identifier | String | Sim | 4096 | Identificador do pedido | Texto livre, deve se único dentro da chamada. | "Entrega Carrefour" "PED00133" |
weight | Double | Não | Peso total os itens do pedido em quilos | Se preenchido, deve ser maior ou igual a zero; Validado de acordo com o campo "capacityCriteria"; Se não existirem veículos que suportem este pedido sozinho na disponibilidade, ele será rejeitado. | 25000 | |
volume | Double | Não | Volume total dos itens do pedido em metros cúbicos | Se preenchido, deve ser maior ou igual a zero; Validado de acordo com o campo "capacityCriteria"; Se não existirem veículos que suportem este pedido sozinho na disponibilidade, ele será rejeitado. | 5000 | |
pickupTimeWindowStart | Date Time | Sim | Início da janela de carregamento | Formato ISO8601; PickupStart deve ser anterior a PickupEnd, se ambos forem preenchidos; PickupStart deve ser anterior ou igual a DeliveryStart , se ambos forem preenchidos; PickupStart deve ser anterior a DeliveryEnd e ambos devem ser preenchidos. | "2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD" | |
pickupTimeWindowEnd | Date Time | Não | Final da janela de carregamento | Formato ISO8601. | "2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD" | |
deliveryTimeWindowStart | Date Time | Não | Início da janela de entrega | Formato ISO8601. | "2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD" | |
deliveryTimeWindowEnd | Date Time | Sim | Final da janela de entrega | Formato ISO8601; DeliveryEnd deve vir posterior de DeliveryStart se ambos forem preenchidos; DeliveryEnd deve vir posterior ou igual de PickupEnd se ambos forem preenchidos; DeliveryEnd deve vir posterior de PickupStart e ambos devem ser preenchidos. | "2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD" | |
serviceLoadDuration | Long | Não | Se for 0 minutos a soma dos serviços dos pedidos, consideraremos 30 minutos de serviço; Soma com menos de 30 minutos será sempre 30 minutos; Se a soma do tempo de serviço dos pedidos for maior que 8h, consideraremos 8h de serviço; | Se preenchido, deve ser maior que zero, em Milissegundos. | 3600000 [ms] | |
serviceUnloadDuration | Long | Não | Se for 0 minutos a soma dos serviços dos pedidos, consideraremos 30 minutos de serviço; Soma com menos de 30 minutos será sempre 30 minutos; Se a soma do tempo de serviço dos pedidos for maior que 8h, consideraremos 8h de serviço; | Se preenchido, deve ser maior que zero, em Milissegundos. | 3600000 [ms] | |
origin | TPRRoutingLocality | Sim | Localidade de origem do pedido | - | Tabela abaixo | |
destination | TPRRoutingLocality | Sim | Localidade de destino do pedido | - | Tabela abaixo |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingLocality, tipo de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho |
Descrição | Validações | Exemplos |
---|---|---|
identifier | String | Sim |
4096 | Identificador da localidade. | Texto livre, deve se único dentro da chamada. | "Carrefour 123-1" | |||
name | String | Não | 4096 | Nome da localidade. | Texto livre. | "Carrefour Vila Mariana" |
country | String | Sim | 3 | País do endereço. | Formato ISO 3166-1 alfa-3. | "BRA" |
state | String | Não | 2 | Estado do endereço | Se TPRRoutingRestrictions stateReturnForbidden é true, todas as localidades deverão enviar a UF, que deverá ser: Não nula ou vazia | "SP" |
latitude | Double | Sim | Latitude. | Intervalo [-90; 90]. | -23.6114291 | |
longitude | Double | Sim | Longitude. | Intervalo [-180; 180]. | -46.6946795 | |
operation | String | Sim | Funcionamento simplificado com as opções: UNRESTRICTED, BUSINESS_DAYS, MORNING, AFTERNOON, CUSTOMIZED | Opções: UNRESTRICTED (00:00-23:59 de Dom-Sab) | BUSINESS_DAYS | |
customizedOperations | TPRRoutingCustomizedOperation[] | Não | Horários de funcionamento customizado | Se operação customizada (operation=CUSTOMIZED) ao menos uma recorrência será obrigatória. | Tabela a baixo | |
restrictedVehicles | TPRRoutingRestrictedVehicles[] | Não | Lista de veículos restritos para esta localidade | Tabela a baixo |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingCustomizedOperation, tipo de dado utilizado nas integrações do TPR |
---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
---|
weekDay |
String | Sim | 3 |
Dia da semana | SUN, MON, TUE, WED, THU, FRI, SAT | "MON" | ||||
startTime | String | Sim | 5 | Horário de inicio de operação. | Deve estar no intervalo: 00:00 - 23:59 | "08:00" |
endTime | String | Sim |
5 | Horário de fim de operação | Deve estar no intervalo: 00:00 - 23:59 | "12:00" |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingRestrictedVehicles, tipo de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
identifier | String | Sim | 4096 | Identificador do tipo do veículo. | Deve constar na lista veículos disponíveis. | "Truck" "Carreta" |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingVehicles, tipo |
---|
de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos | messageCode
identifier | String | Sim | 4096 | Código de identificação da mensagem | Código existente e valido | TPR0001 |
message | String | Sim | 4096 | Mensagem escrita | Texto Livre | "Para finalizar o cadastro acesse seu e-mail e valide o Token" |
Identificador 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" | ||||
weightCapacity | Double | Sim | Capacidade do veículo em quilos. | Se preenchido, deve ser maior ou igual a zero. | 25000 | |
volumeCapacity | Double | Sim | 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 | |
speed | Double | Nã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. | ||
quantity | Int | Nã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. | ||
vehicleType | String | Não | TRUCK | CAR | MOTORCYCLE | Se não preenchido será considerado TRUCK. É utilizado no calculo do pedágio e para restrições de trafego de caminhões. | ||
tollAxes | Long | Não | Quantidade de eixos durante a rota. | Se informado será considerado no calculo do pedágio. | 6 | |
tollReturnAxes | Long | Não | Quantidade de eixos durante o retorno para a origem. | Se informado será considerado no calculo do pedágio. | 4 |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingRestrictions, tipo de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
maxLoadingStops | Int | Não | Quantidade máxima de paradas de carregamento por rota. | Se preenchido, deve ser maior que zero; Se passados valores quebrados apenas a parte inteira será considerada. | 1 | |
maxUnloadingStops | Int | Não | Quantidade máxima de paradas de descarregamento por rota. | Se preenchido, deve ser maior que zero. Se passados valores quebrados apenas a parte inteira será considerada. | 15 | |
allowInterleaving | Boolean | Não | Permite carregamento após descarregamento na mesma rota. Default: false | Tabela para validação de campos Boolean. | ||
maxDistanceBetweenLoadStops | Double | Não | Máxima distância, em km, entre paradas de carregamento. | Se preenchido, deve ser maior que zero. | 100 | |
stateReturnForbidden | Boolean | Não | Liga e desliga a validação de retorno ao estado (UF) já visitado | Tabela para validação de campos Boolean. Se não informado assumiremos "False". |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingOptions, tipo de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
capacityCriteria | String | Sim | 4096 | Tipos de roteirização: WEIGHT, VOLUME ou BOTH | Opções: WEIGHT, VOLUME ou BOTH. | "WEIGHT" |
routingInstantType | String | Não | 4096 | Define o instante a partir do qual as rotas podem ser expedidas: "Now" Inicio das rotas na primeira hora factível a partir do momento da roteirização mais uma hora. "D+1" Inicio das rotas amanhã no primeiro horário factível de carregamento. Pedidos com janelas de carregamento ou descarregamento no futuro, desde que factíveis, não serão influenciados por este parâmetro. | Valores: "D+1", "NOW". | "NOW" |
considerReturnDistance | Boolean | Não | Verifica se é para contabilizar a distância de retorno a origem na roteirização. | Tabela para validação de campos Boolean. Se não informado assumiremos "False". | ||
minServiceDuration | Long | Não | O montante mínimo do tempo de serviço. Caso a soma dos tempos de carregamento e descarregamento não ultrapassem o valor mínimo, este será utilizado. | Se preenchido, não pode ser negativo, em Milissegundos. | 3600000 [ms] | |
maxServiceDuration | Long | Não | O montante máximo do tempo de serviço. Caso a soma dos tempos de carregamento e descarregamento ultrapassem o valor máximo, este será utilizado. | Se preenchido, não pode ser negativo, em Milissegundos. | 3600000 [ms] | |
driverRestPlanType | String | Não | Descanso do motorista | DEFAULT: A cada 5 horas dirigidas 1/2 hora de descanso; A cada 24 horas dirigidas 11 horas de descanso e 1 hora de almoço Tempo máximo de direção 8 horas EXTRATIME: A cada 5 horas dirigidas 1/2 hora de descanso; A cada 24 horas dirigidas 11 horas de descanso e 1 hora de almoço Tempo máximo de direção 10 horas (8 horas normais + Mais 2 horas extras) NONE: Desativado | "DEFAULT" | |
routingType | String | Não | Tipo da Roteirização (Default: 'ROUTING') | ROUTING: Valida peso, volume e considera todos os veículos disponíveis. Se possível gera várias rotas. SEQUENCE: Não efetua validação de peso, volume e seleciona o primeiro veículo. Utilizado apenas para sequenciar paradas. | "SEQUENCE" | |
prioritizationOption | String | Não | Priorização de Roteirização (Default: 'PRIORITIZE_VEHICLES') | PRIORITIZE_VEHICLES: Priorizar minha disponibilidade de veículos (Busca priorizar a capacidade dos veículos cadastrados antes de gerar rota extra). REDUCE_TRAVEL: Reduzir a quantidade de rotas (Agrupa os pedidos com objetivo de reduzir a quantidade de rotas, podendo gerar rota extra). | 'REDUCE_TRAVEL' | |
tollCalculation | Boolean | Não | Calculo do pedágio | Tabela para validação de campos Boolean. Se não informado assumiremos "False". |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingResponse, tipo de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
responseDate | Date Time | Sim | Data do envio da resposta no TPR. | - | 2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD | |
version | String | Sim | 4096 | Versão do TPR que executou a resposta. | - | 0.0.0.1 |
success | Boolean | Sim | True se sucesso, false se falha. | Se uma única validação falhar, todo o pacote falha. | True | |
message | TPRMessage[] | Sim | Lista de mensagens a serem exibidas pelo sistema externo para o usuário. | - |
Âncora | ||||
---|---|---|---|---|
|
TPRMessage: Tipo de dado utilizado nas integrações do TPR | ||||||
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
messageCode | String | Sim | 4096 | Código de identificação da mensagem. | Código existente e válido. | TPR0001 |
message | String | Sim | 4096 | Mensagem escrita. | Texto Livre. | "Para finalizar o cadastro, acesse seu e-mail e valide o Token" |
Âncora | ||||
---|---|---|---|---|
|
Código | Mensagem | Descrição |
TPRRT0000 | Sucesso | Sucesso |
TPRRT0001 | A mensagem está nula | Ao enviar um payload nulo |
TPRRT0002 | A mensagem está vazia | Ao enviar um payload vazio |
TPRRT0003 | A data de criação está nula | Ao enviar campo "dataCall" nula |
TPRRT0004 | O valor da versão possui mais de 4096 caracteres | Ao enviar o campo "version" com mais de 4096 caracteres |
TPRRT0005 | O valor dos qualificadores possui mais de 4096 caracteres | Ao enviar o campo "qualifiers" com mais de 4096 caracteres |
TPRRT0006 | A máxima distância de paradas de carregamento não pode ser menor que 0 | Ao enviar o campo "maxDistanceBetweenLoadStops" com o valor menor a 0 |
TPRRT0007 | O valor do sistema possui mais de 4096 caracteres | Ao enviar o campo "system" com mais de 4096 caracteres |
TPRRT0008 | A url de callback está nula | Ao enviar o campo "callbackUrl" nula |
TPRRT0009 | Para utilizar autenticação, a URL de chamada de retorno deve iniciar com https://. | Ao enviar o campo "callbackUrl" com autenticação diferente de none, e que não começe com https:// |
TPRRT0010 | O valor da url de callback possui mais de 4096 caracteres | Ao enviar o campo "callbackUrl" com mais de 4096 caracteres |
TPRRT0011 | O tipo de autenticação de callback está nula | Ao enviar o campo "callbackAuthenticationType" nulo |
TPRRT0012 | O valor do tipo de autenticação de callback possui mais de 4096 caracteres | Ao enviar o campo "callbackAuthenticationType" com mais de 4096 caracteres |
TPRRT0013 | O tipo de autenticação de callback está inválido ('BASIC', 'NONE') | Ao enviar o campo "callbackAuthenticationType" inválido |
TPRRT0014 | O tipo de roteirização está nulo | Ao enviar o campo "capacityCriteria" nula |
TPRRT0015 | O valor do tipo de roteirização possui mais de 4096 caracteres | Ao enviar o campo "capacityCriteria" com mais de 4096 caracteres |
TPRRT0016 | O tipo de roteirização está inválido ('WEIGHT', 'VOLUME', 'BOTH') | Ao enviar o campo "capacityCriteria" com valores diferentes de ('WEGHT', 'VOLUME', 'BOTH') |
TPRRT0017 | O valor do instante da roteirização possui mais de 4096 caracteres | Ao enviar o campo "routingInstantType" com mais de 4096 caracteres |
TPRRT0018 | A restrição está nula | Ao enviar o campo "restriction" nula |
TPRRT0019 | A localidade está nula | Ao enviar alguma localidade nula |
TPRRT0020 | O identificador da localidade está inválido | Ao enviar o Identificador da Localidade vazio ou nulo |
TPRRT0021 | A latitude da localidade [IDENTIFICADOR_LOCALIDADE] está nula | Ao enviar a latitude de alguma localidade nula |
TPRRT0022 | A longitude da localidade [IDENTIFICADOR_LOCALIDADE] está nula | Ao enviar a longitude de alguma localidade nula |
TPRRT0023 | A operação da localidade [IDENTIFICADOR_LOCALIDADE] está nula | Ao enviar o funcionamento de alguma localidade nula |
TPRRT0024 | O país da localidade [IDENTIFICADOR_LOCALIDADE] está nula | Ao enviar o campo "country" de alguma localidade nulo |
TPRRT0025 | O valor do identificador da localidade possui mais de 4096 caracteres | Ao enviar o campo "identifier" de alguma localidade com mais de 4096 caracteres |
TPRRT0026 | O país da localidade [IDENTIFICADOR_LOCALIDADE] está inválido. O mesmo deve seguir o formato ISO 3166-1 alfa-3 | Ao enviar o campo "country" com mais de 3 caracteres |
TPRRT0027 | O país da localidade [IDENTIFICADOR_LOCALIDADE] não foi encontrado | Ao enviar o campo "country" que não está informado no TPRCountry |
TPRRT0028 | A latitude da localidade [IDENTIFICADOR_LOCALIDADE] está inválido a mesma precisa estar dentro do intervalo [-90; 90] | Ao enviar o campo "latitude" não seguindo o padrão [-90; 90] |
TPRRT0029 | A longitude da localidade [IDENTIFICADOR_LOCALIDADE] está inválido a mesma precisa estar dentro do intervalo [-180; 180] | Ao enviar o campo "longitude" não seguindo o padrão [-180; 180] |
TPRRT0030 | O pedido está nulo | Ao enviar algum pedido nulo |
TPRRT0031 | Os pedidos são inválidos | Ao enviar o campo pedido vazio |
TPRRT0032 | O identificador do pedido é obrigatório | Ao enviar o identificador do pedido vazio ou nulo |
TPRRT0033 | O peso do pedido com identificador [IDENTIFICADOR_PEDIDO] é obrigatório | Ao enviar o peso do pedido nulo, caso o campo "capacityCriteria" do input seja "WEIGHT" ou "BOTH" |
TPRRT0034 | O peso do pedido com identificador [IDENTIFICADOR_PEDIDO] deve ser maior que 0 | Ao enviar o peso do pedido que seja menor que 0, caso o campo "capacityCriteria" do input seja "WEIGHT" ou "BOTH" |
TPRRT0035 | O volume do pedido com identificador [IDENTIFICADOR_PEDIDO] é obrigatório | Ao enviar o campo "volume" menor que 0, caso o campo "capacityCriteria" do input seja "VOLUME" ou 'BOTH" |
TPRRT0036 | O volume do pedido com identificador [IDENTIFICADOR_PEDIDO] deve ser maior que 0 | Ao enviar o campo "volume" menor que 0. caso o campo "capacityCriteria" do input seja "VOLUME" |
TPRRT0037 | A localidade de origem do pedido [IDENTIFICADOR_PEDIDO] está nulo | Ao enviar a localidade de origem do pedido nula |
TPRRT0038 | A localidade de destino do pedido [IDENTIFICADOR_PEDIDO] está nulo | Ao enviar a localidade de destino do pedido nula |
TPRRT0039 | O identificador do pedido possui mais de 4096 caracteres | O campo "identifier" do pedido com mais de 4096 |
TPRRT0040 | A duração de serviço de carregamento do pedido [IDENTIFICADOR_PEDIDO] não pode ser menor ou igual a 0 | Ao enviar o campo "serviceLoadDuration" menor que 0 |
TPRRT0041 | A duração de serviço de descarregamento pedido [IDENTIFICADOR_PEDIDO] não pode ser menor ou igual a 0 | Ao enviar o campo "serviceUnloadDuration" menor que 0 |
TPRRT0042 | Os veículos não podem ser nulos | Ao enviar o campo "vehicles" nulo |
TPRRT0043 | Os veículos não podem ser vazios | Ao enviar o campo "vehicles" vazio |
TPRRT0044 | O identificador do veículo está inválido | Ao enviar o campo "identifier" do veículo nulo ou vazio |
TPRRT0045 | A capacidade de volume do veículo com identificador [IDENTIFICADOR_VEICULO] é obrigatório | Ao enviar o campo "volumeCapacity" do veículo nula, quando o capacityCriteria é igual a VOLUME ou BOTH |
TPRRT0046 | A capacidade de volume do veículo com identificador [IDENTIFICADOR_VEICULO] deve ser maior que 0 | Ao enviar o campo "volumeCapacity" do veículo é menor que 0, quando o capacityCriteria é igual a VOLUME ou BOTH |
TPRRT0047 | A capacidade de peso do veículo com identificador [IDENTIFICADOR_VEICULO] é obrigatório | Ao enviar o campo "weightCapacity" do veículo nula, quando o capacityCriteria é igual a WEIGHT ou BOTH |
TPRRT0048 | A capacidade de peso do veículo com identificador [IDENTIFICADOR_VEICULO] deve ser maior que 0 | Ao enviar o campo "weightCapacity" do veículo é menor que 0, quando o capacityCriteria é igual a WEIGHT ou BOTH |
TPRRT0049 | O identificador do veículo possui mais de 4096 caracteres | Ao enviar o identificador de veículo com mais de 4096 caracteres |
TPRRT0050 | A quantidade de veículos do veículo com identificador [IDENTIFICADOR_VEICULO], se informada, deve ser maior que 0 | Ao enviar o campo "quantity" menor que 0 |
TPRRT0051 | O identificador do pedido [IDENTIFICADOR_PEDIDO] está duplicado | Ao enviar dois pedidos com o mesmo identifier |
TPRRT0052 | As localidades de origem e destino são iguais no pedido [IDENTIFICADOR_PEDIDO] | Ao enviar uma localidade de origem e de destino com o mesmo identifier |
TPRRT0053 | O identificador da localidade [IDENTIFICADOR_LOCALIDADE] está duplicado em outras localidades | Ao enviar duas localidades quaisquer com o mesmo identifier. É analisado a igualdade de todos os campos daquela localidade. |
TPRRT0054 | O identificador do veículo [IDENTIFICADOR_VEICULO] está duplicado com outros veículos | Ao enviar veículos com identificadores iguais, mas atributos diferentes |
TPRRT0055 | Os qualificadores não estão em um formato válido (JSON) | Ao enviar o campo "qualifiers" com formato diferente de uma String com um objeto JSON em texto. |
TPRRT0056 | O máximo número de paradas de carregamento não pode ser menor ou igual a 0 | Ao enviar o campo "maxLoadingStops" com o valor menor ou igual a 0 |
TPRRT0057 | O máximo número de paradas de descarregamento não pode ser menor ou igual a 0 | Ao enviar o campo "maxUnloadingStops" com o valor menor ou igual a 0 |
TPRRT0058 | A máxima distância de paradas de descarregamento não pode ser menor que 0 | Ao enviar o campo "maxDistanceBetweenUnloadStops" com o valor menor a 0 |
TPRRT0059 | O pedido [IDENTIFICADOR_PEDIDO] possui início da janela de carregamento maior ou igual que o final da janela de carregamento | Ao enviar o campo "pickupTimeWindowStart" maior ou igual que o campo "pickupTimeWindowEnd" |
TPRRT0060 | O pedido [IDENTIFICADOR_PEDIDO] possui início da janela de descarregamento maior ou igual que o final da janela de descarregamento | Ao enviar o campo "deliveryTimeWindowStart" maior ou igual que o campo "deliveryTimeWindowEnd" |
TPRRT0061 | O pedido [IDENTIFICADOR_PEDIDO] possui início da janela de carregamento maior que o início da janela de descarregamento | Ao enviar o campo "pickupTimeWindowStart" maior que o campo "deliveryTimeWindowStart" |
TPRRT0062 | O pedido [IDENTIFICADOR_PEDIDO] possui início da janela de carregamento maior ou igual que o final da janela de descarregamento | Ao enviar o campo "pickupTimeWindowStart" maior ou igual que o campo "deliveryTimeWindowEnd" |
TPRRT0063 | O pedido [IDENTIFICADOR_PEDIDO] possui final da janela de carregamento maior que o final da janela de descarregamento | Ao enviar o campo "pickupTimeWindowEnd" maior ou igual que o campo "deliveryTimeWindowStart" |
TPRRT0064 | O peso do veículo [IDENTIFICADOR_VEÍCULO] para o pedido [IDENTIFICADOR_PEDIDO] ultrapassou o máximo permitido. Peso constatado [PESO_CONSTATADO] Peso máximo [PESO_MAXIMO] | Quando o peso máximo do veículo ultrapassa o peso permitido pelo validador MaxWeightVehicleServiceLegValidator |
TPRRT0065 | O volume do veículo [IDENTIFICADOR_VEÍCULO] para o pedido [IDENTIFICADOR_PEDIDO] ultrapassou o máximo permitido. Volume constatado [VOLUME_CONSTATADO]. Volume máximo [VOLUME_MAXIMO] | Quando o volume máximo do veículo ultrapassa o volume permitido no validador MaxVolumeVehicleServiceLegValidator |
TPRRT0066 | Não foi possível satisfazer a janela temporal dos pedidos [IDENTIFICADORES_PEDIDOS]. | Quando a janela de tempo dos pedidos estão infactiveis baseado no validador TimeWindowValidator |
TPRRT0067 | Pedido [IDENTIFICADOR_PEDIDO] não roteirizado devido estouro da janela de carregamento/descarregamento. | Quando a janela de tempo dos pedidos estão infactiveis baseado no validador PlanTimeConfigurationValidatorWrapper |
TPRRT0068 | A rota supera a quantidade máxima de carregamentos permitidos. Carregamentos [QUANTIDADE_CARREGAMENTOS], Máx [MAX_QUANTIDADE_PERMITIDA]. | Quando a quantidade de carregamentos de um protótipo de rota for maior que 1. |
TPRRT0069 | A rota supera a quantidade máxima de descarregamentos permitidos. Descarregamentos [QUANTIDADE_DESCARREGAMENTOS], Máx [MAX_QUANTIDADE_PERMITIDA]. | Quando a quantidade de descarregamentos de um protótipo de rota for maior que 1. |
TPRRT0070 | A velocidade deve ser maior que 0. | Ao enviar o campo "speed" com o valor menor que ou igual a 0. |
TPRRT0071 | As opções de roteirização estão nulas. | Ao enviar o campo TPRRoutingOptions nulo. |
TPRRT0072 | O tempo mínimo de serviço não pode ser menor que zero | Ao enviar o campo minServiceDuration com o valor menor que 0. |
TPRRT0073 | O tempo máximo de serviço não pode ser menor que zero | Ao enviar o campo maxServiceDuration com o valor menor que 0. |
TPRRT0074 | Erro Interno, tente novamente e se o problema persistir contate: [EMAIL_SUPORTE]. | Erro caso ocorra alguma falha na roterização. |
TPRRT0075 | O valor do instante da roteirização está inválido ('D+1', 'NOW'). | Ao enviar o campo "routingInstantType" com valores diferentes de ('D+1', 'NOW'). |
TPRRT0076 | O nome da localidade [IDENTIFICADOR_LOCALIDADE] possui mais de 4096 caracteres. | Ao enviar o campo "name" for maior que 4096 caracteres |
TPRRT0077 | A rota supera a quantidade máxima de cargas permitidas. Cargas [QUANTIDADE], Máx [QUANTIDADE_MÁXIMA]. | Quando ultrapassa o número máximo de carga |
TPRRT0078 | A data de inicio da janela de carregamento no pedido [IDENTIFICADOR_PEDIDO] é obrigatória | Ao enviar o campo "pickupTimeWindowStart" nulo |
TPRRT0079 | A data de fim da janela de descarregamento no pedido [IDENTIFICADOR_PEDIDO] é obrigatória | Ao enviar o campo "deliveryTimeWindowEnd" nulo |
TPRRT0080 | O campo driverRestPlanType possui mais de 4096 caracteres. | Ao enviar o driverRestPlanTypede veículo com mais de 4096 caracteres |
TPRRT0081 | O tipo de plano de descanso do motorista (driverRestPlanType) está inválido. Opções válidas: 'DEFAULT', 'EXTRATIME', 'NONE'). | Ao enviar uma opção inválida do driverRestPlanType |
TPRRT0082 | O tipo de roteirização (rountingType) está inválido. Opções válidas: 'ROUTING', 'SEQUENCE'). | Ao enviar uma opção inválida do rountingType |
TPRRT0083 | Não existem rotas que respeitem a zona de restrição [IDENTIFICADOR DA RESTRIÇÃO] para o(s) pedido(s) [IDENTIFICADOR DO PEDIDO] | Quando a rota passa por uma zona de restrição de circulação com um veículo restrito em horário de restrição ativa |
TPRRT0084 | O retorno a estado já visitado não é permitido. | Quando uma rota retorna a um estado já visitado anteriormente em um serviço de descarregamento (stateReturnForbidden deve ser TRUE em TPRRoutingRestrictions para ligar a validação) |
TPRRT0085 | O estado (UF) da localidade [IDENTIFICADOR DA LOCALIDADE] está nulo. | Quando uma localidade é integrada com o estado nulo (stateReturnForbidden deve ser TRUE em TPRRoutingRestrictions para ligar a validação) |
TPRRT0086 | O estado (UF) da localidade [IDENTIFICADOR DA LOCALIDADE] está inválido, o mesmo deve ser composto por duas letras. | Quando a UF da localidade possui tamanho diferente de 2 (stateReturnForbidden deve ser TRUE em TPRRoutingRestrictions para ligar a validação) |
TPRRT0087 | O estado da localidade [IDENTIFICADOR DA LOCALIDADE] não é um estado válido. | Quando a UF da localidade não corresponde a uma das UFs do Brasil (stateReturnForbidden deve ser TRUE em TPRRoutingRestrictions para ligar a validação) |
TPRRT0088 | O identificador do veículo da restrição da Localidade [IDENTIFICADOR DA LOCALIDADE] é obrigatório. | Quando o identificador do veículo restrito for nulo ou vazio. |
TPRRT0089 | O identificador do veículo da restrição da Localidade [IDENTIFICADOR DA LOCALIDADE] possui mais de 4096 caracteres. | Quando o identificador do veículo restrito ultrapassar 4096 caracteres |
TPRRT0090 | A restrição do Veículo [IDENTIFICADOR DO VEÍCULO] na Localidade [IDENTIFICADOR DA LOCALIDADE] não existe na lista de veículos providos. | Quando houver restrição de um veículo em uma localidade que não consta na lista de veículos do input. |
TPRRT0091 | O Veículo [IDENTIFICADOR DO VEÍCULO] é restrito na Localidade [IDENTIFICADOR DA LOCALIDADE]. | Mensagem de rejeite quando não encontra veículos compatíveis e o motivo é a restrição de veículos por localidade. |
TPRRT0092 | A Localidade [IDENTIFICADOR DA LOCALIDADE] com operação customizada está com o campo inválido. | Ao enviar uma localidade com operação customizada sem enviar uma lista de horários, ou uma lista vazia. |
TPRRT0093 | O dia da semana da Localidade [IDENTIFICADOR DA LOCALIDADE] está inválido. As opções são: [SUN, MON, TUE, WED, THU, FRI, SAT]. | Ao enviar um dia de semana que não satisfaça as opções. |
TPRRT0094 | O horário de início da operação customizada da Localidade [IDENTIFICADOR DA LOCALIDADE] está inválido. Os valores permitidos devem estar no intervalo: 00:00 - 23:59 | Ao enviar um tamanho diferente de 5, nulo, vazio ou fora do intervalo. |
TPRRT0095 | O horário de fim da operação customizada da Localidade [IDENTIFICADOR DA LOCALIDADE] está inválido. Os valores permitidos devem estar no intervalo: 00:00 - 23:59 | Ao enviar um tamanho diferente de 5, nulo, vazio ou fora do intervalo. |
TPRRT0096 | O horário de início da operação customizada da Localidade [IDENTIFICADOR DA LOCALIDADE] deve ser menor que o horário de fim. | Ao enviar o tamanho do início maior que o do fim, ou o do fim menor que o do início. |
TPRRT0097 | Há intersecções de horários de operação customizado da Localidade [IDENTIFICADOR DA LOCALIDADE] no dia [DIA_SEMANA] | Quando for informado algum horário de funcionamento customizado com intersecções. |
TPRRT0098 | Opção inválida. As opções válidas são: Priorizar minha disponibilidade de veículos ou Reduzir a quantidade de rotas | Quando for informado um valor que não corresponde as opções do ENUM. |
TPRRT0099 | O pedido [IDENTIFICADOR_PEDIDO] possui intervalo de início da janela de carregamento e final da janela de descarregamento maior que 90 dias | O período entre o início da janela de carregamento e o fim da janela de descarregamento deve ser no máximo 90 dias. |
TPRTK0032 | A chave do token não foi informada. | Retorno inválido para requisição que não envia o header "TPR_AUTHORIZATION" com a chave do token. |
TPRTK0033 | A chave do token informada não foi encontrada. | Retorno inválido para requisição que enviar uma chave no header "TPR_AUTHORIZATION" que não existe na base de dados. |
TPRTK0034 | Seu token expirou. Entre em contato com: [EMAIL_SUPORTE] | Retorno inválido para requisição que enviar uma chave no header "TPR_AUTHORIZATION" que não tenha um plano vigente. |
TPRTK0035 | Seu plano mensal já foi consumido, para continuar utilizando o produto acesse 'Meu Plano' e configure o consumo fora do pacote. | Retorno inválido para requisição que enviar uma chave no header "TPR_AUTHORIZATION" que já tenha consumido toda quota de rotas e/ou roteirizações do plano vigente. |
TPRTK0036 | O seu período de pré-trial acabou! Você ainda pode experimentar o TOTVS PLANEJAMENTO DE ROTAS por 30 dias, gratuitamente, assinando o Trial através da TOTVS Store [Link TOTVS Store]. | Retorno inválido para requisição que enviar uma chave no header "TPR_AUTHORIZATION" que já tenha consumido toda quota de roteirizações ou finalizado o tempo de "TRIAL" |
TPRTK0037 | O seu trial chegou ao fim. Para continuar usando o TOTVS Planejamento de Rotas, faça a contratação acessando "https://partner.totvs.store/br/produto/totvs-planejamento-de-rotas.html". | Retorno inválido para requisição que enviar uma chave no header "TPR_AUTHORIZATION" que já tenha finalizado o tempo de "TRIAL" |
Âncora | ||||
---|---|---|---|---|
|
Frota Ideal: A roteirização com a frota ideal, ocorre quando não limitamos as quantidades disponíveis dos veículos que serão utilizados em uma determinada roteirização, definimos apenas os tipos destes, por exemplo:
Dada uma cesta de pedidos com vinte pedidos de 5.000 kg sem janela de coleta ou entrega e os veículos disponíveis são Carretas com capacidade de 25.000 kg e Trucks com capacidade de 10.000 kg:
Se eu não limito a quantidade disponível de veículos, o sistema roteirizara quatro rotas com Carretas, e esta é a frota ideal para este cenário; |
Se eu limito os veículos disponíveis em duas Carretas e vinte Trucks, o sistema roteirizara sete rotas, duas com Carretas e cinco com Trucks e esta é a melhor frota factível para este cenário, porem não é a frota ideal; |
Âncora | ||||
---|---|---|---|---|
|
Valor Assumido | Valor recebido | ||||||
---|---|---|---|---|---|---|---|
True | "true" | true | 1 | 2 | -1 | -2 | "" |
False | false | 0 | "false" | null |
Anexos | ||
---|---|---|
|
Anexos
View file | ||||
---|---|---|---|---|
|