draw.io Diagram | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
TOTVS Planejamento de Rotas
Todos os ERPs que se conectam ou pretendem se conectar com os produtos de planejamento logístico TOTVS.
TPRRouting: Integração rest, Assincrona Path: .../v1/ , Método: POST | ||||||
---|---|---|---|---|---|---|
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 | Object | Não | 4096 | String chave valor | Formato JSON | {"Usuário": "Pedro de Alcântara", "Perfil": "Analista"} |
callbackURL | String | Sim | 4096 | URL de Callback | Inicio com "https://" | |
callbackAuthenticationType | String | Sim | 4096 | Tipos de autenticação: BASIC, NONE | Texto Livre | NONE |
callbackAuthenticationValue | String | Não | 4096 | Texto de acordo com formato indicado | Texto Livre | QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
capacityCriteria | String | Sim | 4096 | Tipos de roteirização: WEIGHT, VOLUME ou BOTH | Texto Livre | "PESO" |
routingInstantType | String | Não | 4096 | Define 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" |
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 |
Â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; Único dentro da chamada; | "Entrega Carrefour" "PED00133" |
weight | Double | Não | Peso total os itens do pedido em quilos | Validado de acordo com o campo "routingType" | 25.000 | |
volume | Double | Não | Volume total dos itens do pedido em metros cúbicos | Validado de acordo com o campo "routingType" | 5000 | |
pickupTimeWindowStart | Date Time | Não | Inicio da janela de carregamento | Formato ISO8601 PickupStart deve ser anterior a PickupEnd, se ambos 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 PickupEnd deve ser posterior de PickupStart, se ambos preenchidos | "2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD" | |
deliveryTimeWindowStart | Date Time | Não | Inicio da janela de entrega | Formato ISO8601 | "2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD" | |
deliveryTimeWindowEnd | Date Time | Não | Final da Janela de entrega | Formato ISO8601 DeliveryEnd deve vir posterior de DeliveryStart | "2021-01-21T10:01:00.0-03:00 YYYY-MM-DDThh:mm:ss.sTZD" | |
serviceLoadDuration | Long | Não | Se não infromado consideraremos serviçõe de 30 minutos | Maior que zero em Millesegundos | 3600000 [ms] | |
serviceUnloadDuration | Long | Não | Se não infromado consideraremos serviçõe de 30 minutos | Maior que zero em Millesegundos | 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 | Identificador da localidade | Texto Livre | "Carrefour vila Mariana" | |
country | String | Sim | 3 | Pais do endereço | Fomato ISO 3166-1 alfa-3 | "BRA" |
latitude | Double | Sim | Latitude | Intervalo [-90; 90] | -23.6114291 | |
longitude | Double | Sim | Longitude | Intervalo [-180; 180] | -46.6946795 | |
operation | String | Sim | Funcionamento simplificado | Opções: UNRESTRICTED, BUSINESS_DAYS, MORNING, AFTERNOON | BUSINESS_DAYS |
Âncora | ||||
---|---|---|---|---|
|
TPRRoutingVehicles, tipo de dado utilizado nas integrações do TPR | ||||||
---|---|---|---|---|---|---|
Campo | Tipo | Obrigatório | Tamanho | Descrição | Validações | Exemplos |
identifier | String | Sim | 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" | |
weightCapacity | Double | Sim | Capacidade do veiculo em quilos | Maior que zero, se informado | 25.000 | |
volumeCapacity | Double | Sim | Capacidade do veiculo em metros cúbicos | Maior que zero, se informado | 5000 | |
quantity | Int | Não | Quantidade de veículos, semelhantes a este, disponíveis | Maior que zero, se informado; Omitido para os cenários de "Frota Ideal" |
Â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 viagem. | Maior que zero | 1 | |
maxUnloadingStops | Int | Não | Quantidade máxima de paradas de descarregamento por viagem. | Maior que zero | 15 | |
allowInterleaving | Boolean | Não | Permite carregamento após descarregamento na mesma viagem. Default: false | |||
maxDistanceBetweenLoadStops | Double | Não | Máxima distância, em km, entre paradas de carregamento; | Se preenchido, deve ser maior ou igual a zero. | 100 | |
maxDistanceBetweenUnloadStops | Double | Não | Máxima distância, em km, entre paradas de descarregamento; | Se preenchido, deve ser maior ou igual a zero. | 100 |
Â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 excutou a resposta | - | 0.0.0.1 |
sucess | 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 valido | 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 | ||
---|---|---|---|---|
TPRRT0001 | O Input is nullé nulo | Ao enviar um Payload nulo | ||
TPRRT0002 | O Input é vazio | Ao enviar um Payload vazio | ||
TPRRT0003 | Callback Url inválidaInvalid callback URL | Ao enviar o campo "callBackUrl" sem domínio, protocolo ou com caracteres especiais. | ||
TPRRT0004 | O Identificador do cliente está inválido | TPRRT0003 | Invalid client identifier | Ao enviar o Identificador da instalação/cliente TOTVS vazio ou nulo |
TPRRT0005 | A Localidade está nula | TPRRT0004 | Locality is null | Ao enviar alguma Localidade nula |
TPRRT0006 | O Identificador da Localide está inválido | TPRRT0005 | Invalid Locality identifier | Ao enviar o Identificador da Localidade vazio ou nulo |
TPRRT0007 | A Latitude da Localidade está nula | TPRRT0006 | Locality latitude is null | Ao enviar a Latitude da Localidade nula |
TPRRT0008 | A Longitudeda Localidade está nula | TPRRT0007 | Locality longitude is null | Ao enviar a Longitude da Localidade nula |
TPRRT0009 | A Operação da Localidade está nula | TPRRT0008 | Locality operation is null | Ao enviar o Funcionamento da Localidade nula |
TPRRT0010 | O Pedido está nulo | TPRRT0009 | Order is null | Ao enviar algum Pedido nulo |
TPRRT0011 | O Identificador do Pedido está inválido | TPRRT0010 | Invalid Order identifier | Ao enviar o Identificador do Pedido vazio ou nulo |
TPRRT0012 | O Peso do Pedido está inválido | TPRRT0011 | Invalid order weight | Ao enviar o Peso do Pedido negativo ou nulo |
TPRRT0013 | O Volume do Pedido está inválido | TPRRT0012 | Invalid order volume | Ao enviar o Volume do Pedido negativo ou nulo |
TPRRT0014 | O Veículo está nulo | TPRRT0013 | Vehicle is null | Ao enviar algum Veículo nulo |
TPRRT0015 | O Identificador do Veículo está inválido | TPRRT0014 | Invalid Vehicle identifier | Ao enviar o Identificador de Veículo vazio ou nulo |
TPRRT0016 | A capacidade de Volume do Veículo está nulo | TPRRT0015 | Invalid vehicle volume capacity | Ao enviar a Capacidade de Volume do Veículo negativa ou nulo |
TPRRT0017 | A capacidade de Peso do Veículo está nulo | TPRRT0016 | Invalid vehicle weight capacity | Ao enviar a Capacidade de Peso do Veículo negativa ou nulo |
TPRRT0018 | A Localidade de Origem e Destino são iguais | TPRRT0017 | Origin and Destination Locality are equals | Ao enviar Localidades iguais como Origem e Destino |
TPRRT0019 | O Identificador da Localidade [IDENTIFICADOR_ENVIADO] está duplicado em outras Localidades | TPRRT0018 | Duplicated Locality identifier is duplicated in diferentes Localities | Ao enviar localidades com identificadores iguais, mas atributos diferentes. |
TPRRT0020 | O Identificador do Veículo [IDENTIFICADOR_ENVIADO] está duplicado em outros Veículo | TPRRT0019 | Duplicated Vehicle identifier is duplicated in diferentes Vehicle | Ao enviar veículoscom identificadores iguais, mas atributos diferentes. |
TPRRT0021 | O Identificador do Pedido [IDENTIFICADOR_ENVIADO] está duplicado | TPRRT0020 | Order identifier is duplicated | Ao enviar dois pedidos com o mesmo identificador |
TPRRT0021TPRRT0022 | Invalid VehiclesVeículos inválidos | Ao enviar uma lista vazia de Veículos | ||
TPRRT0022TPRRT0023 | Invalid OrdersPedidos inválidos | Ao enviar uma lista vazia de Pedidos | ||
TPRRT0024 | A Localidade de Origem do Pedido [IDENTIFICADOR_PEDIDO] está nulo | TPRRT0023 | Origin locality of Order {identificador do Pedido enviado} is Null | Ao enviar um Pedido com a Localidade de Origem nula |
TPRRT0025 | A Localidade de Destino do Pedido [IDENTIFICADOR_PEDIDO] está nulo | TPRRT0024 | Destination locality of Order {identificador do Pedido enviado} is Null | Ao enviar um Pedido com a Localidade de Destino nula |
Âncora | ||||
---|---|---|---|---|
|
bla bla bla
Anexos | ||
---|---|---|
|