POST/api/v1/optimize

Optimiser une tournée

Calcule l'ordre optimal des arrêts avec horaires d'arrivée, distance et durée.

https://app.otiggo.com/api/v1/optimize

Facturation

  • 1 crédit stop par arrêt de la requête (pas au kilomètre)
  • 2–200 arrêts par appel en production
  • Les optimisations en échec sont remboursées automatiquement

Corps de la requête

ParamTypeDescription
startrequiredLocationPoint de départ. Coordonnées ou street + postalCode + city.
endoptionalLocationPoint de retour optionnel. Même forme que start.
stopsrequiredStop[]Tableau d'arrêts (2–200). Chaque arrêt a un id unique et un lieu.
departureTimeoptionalstring (ISO 8601)Date/heure de départ optionnelle pour le planning.
avoidTollsoptionalbooleanSi true, privilégie les itinéraires sans péage.

Location

Soit des coordonnées, soit une adresse complète (géocodée côté serveur — clés live uniquement).

ParamTypeDescription
latitudeoptionalnumber−90 … 90
longitudeoptionalnumber−180 … 180
streetoptionalstringAdresse / rue
postalCodeoptionalstringCode postal
cityoptionalstringVille

Stop

ParamTypeDescription
idrequiredstringIdentifiant unique (100 caractères max). Renvoyé dans order et schedule.
deadlineoptionalstringDélai optionnel « HH:MM » en heure Europe/Paris.
serviceSecondsoptionalnumberTemps passé à l'arrêt (0–3600), optionnel.

Champs de réponse

ParamTypeDescription
orderoptionalstring[]Ids des arrêts dans l'ordre de visite optimal.
waypointsoptionalobject[]id, order, latitude, longitude pour chaque arrêt.
totalDistanceKmoptionalnumberDistance totale de la tournée.
estimatedTimeMinoptionalnumberDurée estimée en minutes.
scheduleoptionalobject[]Horaires d'arrivée (colisId, arrivee).
departAt / returnAtoptionalstring | nullDépart et retour au format ISO.
lateStopsoptionalobject[] | nullArrêts en retard sur leur deadline, le cas échéant.
stopsChargedoptionalnumberCrédits débités (0 en sandbox).
stopsBalanceoptionalnumberSolde restant (live uniquement).