php curl pour vrp solver
Posté : 12 juin 2018, 09:43
Bonjour je viens vers vous pour un problème épineux pour moi.
J'ai accès à une API solver, sensé optimiser le parcours de mes camions, mais je n'arrive pas à la mettre en pratique.
La documentation est fournie en anglais (et je ne parle pas anglais et les traduction automatique ne sont pas top), cette documentation est faite pour shell, mais le support me dit qu'effectivement il est possible de le faire en php mais n'ont pas de source d'exemple
https://www.solvice.io/docs/vrp/#introduction
J'arrive à me connecté, mais pas à envoyer mes tâche et initialiser l'optimalisation de parcours.
Voilà ou j'en suis :
Et voici le retour
Le support ne peut pas m'aider malheureusement, c'est pourquoi je viens vers vous, la réponse du support à mon problème est la suivante :
En vous remerciant d'avance pour votre participation
Wolfy
J'ai accès à une API solver, sensé optimiser le parcours de mes camions, mais je n'arrive pas à la mettre en pratique.
La documentation est fournie en anglais (et je ne parle pas anglais et les traduction automatique ne sont pas top), cette documentation est faite pour shell, mais le support me dit qu'effectivement il est possible de le faire en php mais n'ont pas de source d'exemple
https://www.solvice.io/docs/vrp/#introduction
J'arrive à me connecté, mais pas à envoyer mes tâche et initialiser l'optimalisation de parcours.
Voilà ou j'en suis :
Code : Tout sélectionner
/**
* url requête : https://api.solvice.io/v1/solve
**/
/** Boucle sur les véhicules
* fleet [
* {
* name : String Nom unique du véhicule (Obligatoire)
* startLocation : String Nom de la localisation de départ (Obligatoire)
* endLocation : String Nom de la localisation de fin (Facultative)
* }
* ]
**/
$fleet = array(
array('name' => "truck1", 'startLocation' => "startend", 'endLocation' => "startend"),
);
/** boucle structurée comme ceci :
* locations [
* {
* name : Nom unique de la localisation
* latitude : Latitude
* longitude : Longitude
* }
* ]
**/
$locs = array(
array( 'name' => "startend", 'latitude' => "50.4723", 'longitude' => "4.83258" ), // Départ et arrivée
array( 'name' => "tache1", 'latitude' => "50.3766", 'longitude' => "4.89706" ), // Tâche 1
array( 'name' => "tache2", 'latitude' => "50.3755", 'longitude' => "4.86095" ), // Tâche 2
array( 'name' => "tache3", 'latitude' => "50.3719", 'longitude' => "4.87840" ), // Tâche 3
array( 'name' => "tache4", 'latitude' => "50.3875", 'longitude' => "4.90065" ), // Tâche 4
array( 'name' => "tache5", 'latitude' => "50.3783", 'longitude' => "4.87253" ), // Tâche 5
array( 'name' => "tache6", 'latitude' => "50.3811", 'longitude' => "4.90994" ), // Tâche 6
array( 'name' => "tache7", 'latitude' => "50.3779", 'longitude' => "4.86896" ), // Tâche 7
array( 'name' => "tache8", 'latitude' => "50.3769", 'longitude' => "4.90505" ), // Tâche 8
);
$jsfleet = json_encode($fleet);
$jstache = json_encode($locs);
$posts = array();
$posts['locations'] = $jstache;
$posts['fleet'] = $jsfleet;
$header = array( 'Content-Type: application/json', 'Authorization Basic: demo:demo' );
//$ch = curl_init("https://demo:[email protected]/demo/vrp");
$ch = curl_init("https://demo:[email protected]/v1/solve");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $posts);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
curl_close ($ch);
echo '<pre>';
print_r($response);
echo '</pre>';Code : Tout sélectionner
{
"errors" : [ {
"errorCode" : "json.duplicate.property",
"explanation" : "Unexpected character ('-' (code 45)) in numeric value: expected digit (0-9) to follow minus sign, for valid numeric value",
"line" : 1,
"column" : 3
} ]
} Sauf que je ne comprends rien à leur docs et qu'il n'y à pas d'exemple.Bonjour,
Je pense que vous avez oublier les ordres. “orders”
Example: https://api.solvice.io/demo/vrp
Et aussi le property: “solver”: “VRP”
En vous remerciant d'avance pour votre participation
Wolfy