Cette documentation décrit sommairement l'utilisation de l'api AD'HOC que vous pourrez utiliser pour alimenter votre site web en exploitant les contenus du site AD'HOC
L'url de l'API est la suivante : http://api.adhocmusic.com/ + action + . + format de sortie
Cette url reçoit des paramètres en HTTP GET, nous allons les détailler.
Le format de sortie recommandé est le json. D'autres formats sont disponibles pour tests : txt (dump en texte plein) et phpser (tableau php sérialisé). json a l'avantage d'être facilement manipulable côté serveur en php via les fonctions json_encode / json_decode, ou côté client en javascript ! D'où notre recommandation.
L'encodage de caractères de la réponse est utf-8
paramètres : groupe, event, lieu, contact, debut, limit, sort
paramètres : groupe, event, lieu, contact, debut, limit, sort
paramètres : groupe, event, lieu, contact, debut, limit, sort
paramètres : groupe, lieu, datdeb, datfin, debut, limit, sort
groupe, lieu, debut, limit, event, contact sont des numériques
datdeb et datfin sont au format 'yyyy-mm-dd'
sort peut prendre la valeur id ou created_on
sens peut prendre la valeur ASC ou DESC
Si vous utilisez php comme langage de programmation, nous vous recommandons l'utilisation de cette classe afin de faciliter vos requêtes
<?php
/**
* Client de l'API REST/JSON AD'HOC
*
* @package adhoc
* @author Guillaume Seznec <guillaume.seznec@gmail.com>
*/
class AdHocClientApi
{
const ID_GROUPE = '0'; // à remplacer par votre id_groupe
const ID_CONTACT = '0'; // à remplacer par votre id_membre
const API_KEY = ''; // à remplacer par la clé API qui vous a été fournie
const API_URL = 'api.adhocmusic.com';
const API_VERSION = '2';
const API_FORMAT = 'json';
/**
* @return array
*/
public static function getPhotos()
{
return self::query(
array(
'action' => 'get-photos',
'groupe' => self::ID_GROUPE,
'contact' => self::ID_CONTACT,
'limit' => '50',
)
);
}
/**
* @return array
*/
public static function getVideos()
{
return self::query(
array(
'action' => 'get-videos',
'groupe' => self::ID_GROUPE,
'limit' => '50',
)
);
}
/**
* @return array
*/
public static function getAudios()
{
return self::query(
array(
'action' => 'get-audios',
'groupe' => self::ID_GROUPE,
'limit' => '12',
)
);
}
/**
* @return array
*/
public static function getEvents()
{
return self::query(
array(
'action' => 'get-events',
'groupe' => self::ID_GROUPE,
'datdeb' => date('Y-m-d'),
'limit' => '30',
)
);
}
/**
* Exécute une requête sur l'API REST/JSON AD'HOC
*
* @param array $data
* @return string au format json
*/
public static function query($data)
{
$params = '';
foreach($data as $field => $value) {
$params .= $field . '=' . $value . '&';
}
$resp = file_get_contents('http://' . self::API_URL . '/' . $data['action'] . '.' . $data['format'] . '?' . substr($params, 0, -1));
return $resp;
if($data['format'] == 'json') {
$resp = json_decode($resp);
}
return $resp;
}
}
require_once "AdhocClientApi.class.php";
$photos = AdHocClientApi::query(
array(
'action' => 'get-photos',
'groupe' => 'id_de_mon_groupe'
'limit' => '20',
)
);
//
$photos = AdHocClientApi::getPhotos();
// renvoit un tableau d'objets contenant les photos trouvées
var_dump($photos);
Ex de requête http get : http://api.adhocmusic.com/get-events.json?groupe=7&limit=5
En cas de difficultés, n'hésitez pas à prendre contact avec les développeurs
Vous pouvez aussi tester notre console de debug
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
</head>
<body>
<script>
$(function() {
// récupérer et afficher 3 photos du groupe polar polar polar polar
$.getJSON('http://api.adhocmusic.com/get-photos.json?groupe=801&limit=3', function(data) {
var items = [];
$.each(data, function(idx, photo) {
items.push('<li><img src="' + photo.thumb_80_80 + '" alt="' + photo.name + '" /></li>');
});
$('<ul/>', {
html: items.join('')
}).appendTo('body');
});
});
</script>
</body>
</html>