API Reference

Routings GO

O objeto routing é o objeto que deverá ser enviado via requisição POST, para dar início a criação da roteirização.

{
    "name": "Nome da roteirização",
    "site": siteId,
    "data": {
        "versionProfile": {
        	"type": "default"
        },
        "opts": {
            "traffic_type": "moderate",
            "real_distances": true
        },
      	"constraints": {},
      	"locations": [],
      	"depots": [],
      	"vehicles": []           
    }
}

O campo "versionProfile" serve para dizer ao sistema qual o foco do algoritmo ao otimizar as rotas, e possui os seguintes "types":

  • "shorten_distance": Reduzir a soma da distância total das rotas
  • "shorten_distance_B1": Reduzir a soma das distâncias entre as paradas e o trecho de ida até o primeiro serviço
  • "shorten_distance_B2": Reduzir a soma das distâncias entre as paradas e o trecho de volta após o último serviço
  • "shorten_distance_B3": Reduzir a soma das distâncias entre as paradas e desconsiderar os trechos de ida e volta
  • "default": Reduzir a quantidade total de veículos

Já o campo "traffic_type" diz respeito ao tráfego:

  • "none": Cadastrado - Velocidades cadastradas nos veículos
  • "veryLight": - Desconsidera trânsito (velocidade das vias)
  • "light": Rápida - Considera trânsito leve (finais de semana)
  • "moderate": Moderado - Considera trânsito moderado (dias da semana)
  • "heavy": Lenta - Considera trânsito pesado (dias chuvosos/vésperas de feriado)

Agora você deve popular a propriedade "constraints". Ela é um objeto conforme SCHEMA a seguir Constraints:

{
    "delivery_window_daily": {
        "enabled": false
    },
    "delivery_sequence": {
        "enabled": false
    },
    "delivery_priority": {
        "enabled": false
    },
    "delivery_prohibited_vehicles": {
        "enabled": false
    },
    "delivery_exclusive_vehicles": {
        "enabled": false
    },
    "delivery_region": {
        "enabled": false
    },
    "vehicle_breaks": {
        "enabled": false
    },
    "vehicle_maximum_stops": {
        "enabled": false
    },
    "vehicle_maximum_services": {
        "enabled": false
    },
    "vehicle_minimum_filling": {
        "enabled": false
    },
    "vehicle_maximum_filling": {
        "enabled": false
    },
    "vehicle_maximum_travel_time": {
        "enabled": false
    },
    "vehicle_maximum_travel_distance": {
        "enabled": false
    },
    "vehicle_maximum_distance_between_stops": {
        "enabled": false
    },
    "skills": {
        "enabled": false
    },
    "do_not_return_to_depot": {
        "enabled": false
    },
    "consolidate_locations": {
        "enabled": false
    },
    "regions": {
        "enabled": false
    }
}

Agora você deve popular a propriedade "locations". Ela é um Array de objetos conforme SCHEMA a seguir Locations:

{
    "code": "000000000000",
    "name": "Cliente 01",
    "type": "service",
    "service_type": "delivery",
    "loads": [],
    "address": {
        "route": "Rua marilia, 40 - Jardim Paulista, São Paulo - SP, 01420-020, Brazil",
        "geocode": {
            "lat": -23.5653804,
            "lng": -46.6543860,
            "source": "google.api.key"
        }
    },
    "geocode_status": "found",
    "constraints": {
        "skills":[],
        "region":"",
        "window_daily": [
            {
                "start_time": "1970-02-01T11:00:00.000Z",
                "end_time": "1970-02-01T23:00:00.000Z"
            }
        ]
    }
}

Agora você deve popular a propriedade "depots". Ela é um Array de objetos conforme SCHEMA a seguir Depots:

{
  "code": "00",
  "name": "ROUT01",
  "type": "depot",
  "constraints": {
    "window_daily": [
      {
        "start_time": "1970-01-01T09:00:00.000Z",
        "end_time": "1970-01-01T22:00:00.000Z"
      }
    ]
  },
  "address": {
    "geocode": {
      "lat": -23.5653804,
      "lng": -46.6543860,
    },
    "_id": "63ff6f3d2b04d33736f48861",
    "country": "Brasil",
    "route": "Rua Marilia",
    "street_number": "40",
    "neighborhood": "Jardim Paulista",
    "city": "São Paulo",
    "state": "São Paulo",
    "postal_code": "07111-080",
    "formatted_address": "R. Marilia, 40 - Jardim Paulista, São Paulo - SP, 000000-000, Brasil"
  }
}

Agora você deve popular a propriedade "vehicles". Ela é um Array de objetos conforme SCHEMA a seguir Vehicles:

{
    "constraints": {
        "skills": [],
        "fleet_size": 1,
        "minimum_filling": [
            60,
            60,
            60,
            60,
            60,
            60
        ],
        "maximum_filling": [
            100,
            100,
            100,
            100,
            100,
            100
        ],
        "maximum_stops": 10,
        "maximum_services": 99999,
        "maximum_travel_time": 8,
        "maximum_travel_distance": 10000,
        "maximum_distance_between_stops": 10,
        "breaks": [
            {
                "type": "break",
                "service_time": 60,
                "constraints": {
                    "window_daily": [
                        {
                            "start_time": "1970-01-01T14:00:00.000Z",
                            "end_time": "1970-01-01T16:00:00.000Z"
                        }
                    ]
                },
                "name": "Lunch"
            }
        ]
    },
    "leg_option": "roundtrip",
    "capacities": [
        13000,
        50,
        100000,
        100000,
        100000,
        100000
    ],
    "quantity_axle": 3,
    "type": "Truck",
    "name": "Truck",
    "fuel_type": {
        "name": "diesel"
    }
}

🚧

Guia de SCHEMAS necessarios:

Constraints

Locations

Depots

Vehicles

O objeto routing deve ficar como no exemplo. Agora, o objeto já está pronto para ser enviado. Para isso, faça uma requisição do tipo POST para https://company.routeasy.com.br/routings/go . Como resposta 200 a sua requisição, será recebido o mesmo objeto routing com um campo id.

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