API Reference

Criar Grupo de Pedidos

Grupo de Pedidos é o objeto que deve ser enviado no corpo da requisição POST. Basicamente, ele é um objeto que contém um array de deliveries e o nome da roteirização para rápida identificação dentro do sistema. Então para iniciar com esta modalidade de integração, deve-se montar primeiro o delivery group em seu sistema.

Schema das deliveries:

CampoTipoDescriçãoObrigatório
headquarter_codeStringCódigo agregador do clienteNão
codeStringCódigo do clienteSim
nameStringNome do clienteSim
siteStringID da filialNão
invoice_numberStringNota FiscalNão
order_numberStringNúmero do PedidoNão
shipment_numberStringNúmero da RemessaNão
additional_infoStringObservaçõesNão
additional_info_1StringObservações #1Não
additional_info_2StringObservações #2Não
custom_labelStringNr PlanoNão
groupStringOrigem CTENão
loadsArrayCapacidades ¹Não
service_timeFloatTempo de ServiçoNão
emailStringE-mail do ClienteNão
phoneStringTelefone do ClienteNão
service_typeStringTipo de serviço (delivery | pickup)Não
customer_profileStringCampo contendo o ID do perfil de cliente
constraintsObjectObjeto de RestriçõesNão
constraints.priorityNumberPrioridade para o atendimento do cliente ²Não (Default: 0)
constraints.sequenceNumberPrioridade na sequencia de atendimento do cliente ³Não (Default: 0)
constraints.skillsStringArray de Strings contendo característicasNão
constraints.prohibited_vehiclesStringArray de IDs de veículos proibidosNão
constraints.regionStringNome da regiãoNão
constraints.window_dailyObject ArrayArray de objetos de janela horáriaNão
constraints.window_daily.start_timeStringData de início rs]Não
constraints.window_daily.end_timeStringData de término da janela ta"Não
addressObjectObjeto de EndereçoSim
address.routeStringLogradouroSim
address.street_numberStringNúmeroSim
address.additional_infoStringComplementoSim
address.neighborhoodStringBairroSim
address.cityStringCidadeSim
address.stateStringEstadoSim
address.postal_codeStringCEPSim
address.countryStringPaísSim
address.geocodeObjectObjeto de GeolocalizaçãoSim
address.geocode.latFloatLatitudeSim
address.geocode.lngFloatLongitudeSim

[1] O loads é um array de capacidades. O index[0] é o peso em quilo (kg) e o index[1] é o volume em metros cúbicos (m³). Os demais indexes são usados apenas em casos de multicapacidade.

[2] A priority define o nível de importância para o atendimento de um cliente em relação aos demais. Caso as restrições operacionais impeçam que o algoritmo atenda a totalidade dos clientes, os serviços que possuírem maior prioridade terão maiores chances de serem programados em rota do que clientes com baixa prioridade.

[3] O sequence define o nível de importância de um cliente em ser atendido antes dos demais clientes em uma mesma rota. Clientes com maior prioridade no sequenciamento serão programados pelo algoritmo para serem atendidos sempre antes de realizar o atendimento de clientes com menor prioridade, mesmo que seja necessário elevar a distância total da rota para respeitar essa restrição. Clientes que possuem a mesma sequence na rota terão a sua sequência de atendimento definida em razão de outras restrições e da busca pela redução da quilometragem total da rota.

[4] O formato tanto do start_time quanto do end_time da window_daily deve estar no formato "1970-01-01T10:00:00.000-0300" para horários com o fuso no horário de Brasília, sendo que o início em 1970-01-01 é para window_daily no dia "atual" da roteirização. Caso deseje colocar uma window_daily para dias futuros basta mudar o valor do dia na data (ex. 1970-01-02T10:00:00.000-0300 para uma janela no dia seguinte). E o -0300 ao final indica o fuso horário para o horário de Brasilia (GMT -03:00). Caso queira utilizar UTC no fuso, basta colocar o Z ao final, porém é necessário ajustar o horário (ex. "1970-01-01T10:00:00.000Z" para uma window_daily as 7:00 do horário de Brasilia).

Sobre os campos de endereço, você pode mandar ou só o objeto address.geocode preenchido ou os demais campos. Quando recebe address.geocode preenchido, o sistema pula a etapa de busca das coordenadas, caso não esteja, ele pega os dados do endereço e busca na API do Google. Ou seja, nenhum aí é obrigatório de verdade. Mas foi colocado tudo como "Sim" porque deve ser enviado um ou outro.

Roteirizando

Após enviar o grupo de deliveries no corpo da requisição POST, ele já se torna disponível dentro do RoutEasy e para acessá-lo deve-se ir na tela de criação de roteirização (+ Nova Roteirização), depois nos 3 pontos ao lado de "Importar Excel", e em "Integração de Sistemas.

1366

No menu preto do lado esquerdo, ir em "+ Nova Roteirização", depois nos 3 pontos ao lado de "Importar Excel", e em "Integração de Sistemas.

Com isso irá aparecer um modal que mostra quais são os grupos de deliveries que já foram enviados para o sistema com os seus respectivos nomes.

1365

Modal de integração

Depois de escolher a Origem, ao clicar em Roteirizar, dá-se início ao processo de roteirização. Mas ao clicar em Editar, os pontos deste grupo de deliveries carregam no mapa, dando a oportunidade de fazer alterações importante antes de iniciar a roteirização (é recomendado clicar em Editar para verificar suas deliveries antes de enviar para roteirização).

1366

Após clicar em Editar, os pontos são puxados para o mapa, e pode-se fazer correções nas localizações, ou modificar os parâmetros de roteirização.

Language
Credentials
Header
Click Try It! to start a request and see the response here!