ServiceWeb vols
De GIVAV-WIKI
Attention ! Cette fonctionnalité apparaîtra en mars 2018 avec la version 3.3.
Ce service Web remplace l'ancienne version qui utilisait SOAP. Maintenant, il utilise l'envoi d'objets encodé en JSON sur une liaison cryptée (HTTPS).
L'ancienne version pourra encore être utilisée en 2018, pour ceci, vous devez mettre en place l'utilisateur décrit ci-dessous, le mot de passe étant celui du club (utilisé par le module PDA ou PC).
Authentification
Pour accéder au service Web, il faut créer un utilisateur dédié.
Cet utilisateur se voit affecter un rôle limité à l'accès au service Web des vols.
/**
* Exécution d'un requête vers le serveur
*
* @param string $fonction Action à exécuter
* @param array $params Tableau des variables à transmettre
* @return object
*/
function sendGivav($fonction,$params)
{
// Données de connexion
$post = array(
'assoc' => '524901'
,'utilisateur' => 'sw.vol'
,'mot_de_passe' => 'mon mot de passe'
);
$post = array_merge($post,$params);
$post_string = ;
foreach ($post as $key => $value) {
$post_string .= $key . '=' . $value . '&';
}
$post_string = rtrim($post_string,'&');
// Requête
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://localhost:10095/givav.php/gvsw/vol/' . $fonction);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_SSLVERSION,3);
$response = curl_exec($ch);
if ($response === false) {
if (is_numeric(curl_errno($ch)) and function_exists('curl_strerror')) {
throw new Exception('Curl error : ' . curl_strerror(curl_errno($ch)));
} else {
throw new Exception('Curl error : ' . curl_errno($ch));
}
}
curl_close($ch);
return json_decode($response);
}
Cette fonction montre comment envoyer une requête en PHP au service Web des vols.
Les variables $fontion et $params sont expliquées plus loin.