API

Introduction a l’API MushRaider

L’API MushRaider permet de récupérer et manipuler des données issues du raid planner comme la liste des utilisateurs, événements, personnages, rôles ainsi que les détails de chacun d’entre eux. Grâce à cela vous pourrez par exemple afficher les rosters sur votre site ou encore développer des plugins autour de l’application MushRaider. Vous devez avoir MushRaider en version 1.4 minimum.

 

Faire une requête

Les requêtes vers l’API se font via le protocole HTTP et utilisent la technique HMAC pour vous identifier. Il y a deux formats de retour possibles : JSON et XML. Le format dépend de l’extension utiliser dans vos requêtes.

Pour commencer il vous faut tout d’abord activer l’API et générer une clef secrète unique servant a vous identifier auprès de l’application. Cela se fait dans l’admin de MushRaider sous le menu paramètres => API.

Afin de signer vos requêtes et ainsi vous identifier auprès de l’application vous devez générer le chaîne de paramètres qui composera votre requête et générer la signature en utilisant la fonction hash_hmac (en PHP, pour les autres langages utilisez la fonction appropriée) couplée a la clef secrète générée plus tôt dans l’admin.

Exemples :

Récupérer la liste des rôles
$mySecretKey = 'lpKSPD94t9okj4J33ffWruNisVKCrFdn';
// Params string
$params = '/roles/index';

// Generate security key with the private key from the APP
$hmac = hash_hmac('sha1', $params, $mySecretKey);

// Make the request
$params .= '/key:'.$hmac; // add the secret key to the request
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://myawesomewebsite.com/api'.$params.'.json');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$rolesJSON = curl_exec($curl);
curl_close($curl);
Récupérer les événements du 01 janvier 2014 au 01 août 2014
$mySecretKey = 'lpKSPD94t9okj4J33ffWruNisVKCrFdn';
// Params string
$params = '/events/index/start:1388534400/end:1406851200';

// Generate security key with the private key from the APP
$hmac = hash_hmac('sha1', $params, $mySecretKey);

// Make the request
$params .= '/key:'.$hmac; // add the secret key to the request
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://myawesomewebsite.com/api'.$params.'.json');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$eventsJSON = curl_exec($curl);
curl_close($curl);

Remarquez qu’a la fin de la requête .json a été précisé. Si vous souhaitez un retour en XML il suffit de remplacer l’extension par .xml

 

Méthodes disponibles

Rôles utilisateurs

GET /roles/index : liste des roles utilisateurs

Jeux

GET /games/index : liste des jeux.

GET /games/view/game:{gameID}(integer) : détails d’un jeu, paramètre obligatoire.

Personnages

GET /characters/index/page:{pageNumber}(integer)/game:{gameID}(integer) : liste des personnages, paramètres optionnels.

GET /characters/view/character:{characterID}(integer) : détails d’un personnage, paramètre obligatoire.

Utilisateurs

GET /roster/index/page:{pageNumber}(integer) : liste des utilisateurs, paramètre optionnel.

GET /roster/view/user:{userID}(integer) : détails d’un utilisateur, paramètre obligatoire.

Evenements

GET /events/index/game:{gameID}(integer)/start:{date}(timestamp)/end:{date}(timestamp) : liste des événements, paramètres optionnels.

GET /events/view/event:{eventID}(integer) : détails d’un événement, paramètre obligatoire.

 

Si vous rencontrez des difficultés, avez des questions ou simplement voulez partagez votre travail base sur l’API MushRaider, rendez-vous sur le forum !

Si vous aimez (ou pas), partagez...Share on FacebookTweet about this on TwitterShare on Google+Share on Reddit