Mise à jour de l'API : 18 mars 2010 - Mise à jour de la documentation : 8 avril 2010
Aion API est une API permettant d'obtenir des informations sur une légion ou un personnage de la légion. Ces informations sont mises à disposition sous la forme d'un fichier XML.
Cette API est mise en oeuvre sur le site des Castors Joyeux.
Si vous utilisez cette API, merci de faire un petit lien du style <a href="http://aionapi.castorsjoyeux.fr>Powered by Aion API</a> afin de faire un peu de pub. Ca ne mange pas de pain et ça me fera plaisir :)
Voici les informations disponibles pour les serveurs. Entre parenthèses se trouve la balise XML correspondante. La liste des serveurs est contenue dans la balise servers :
server) : Informations d'un serveur name) : Nom du serveurid) : L'identifiant numérique du serveurVoici la liste des serveurs européens : Serveurs européens. Voici la liste des serveurs américains : Serveurs américains
Voici les informations disponibles pour la légion. Entre parenthèses se trouve la balise XML correspondante. La légion est contenue dans la balise legion :
name) : le nom complet de la légion.server) : le nom complet du serveur.level) : le niveau de la légion (1, 2, 3). Cela détermine entre autre le nombre de personnes pouvant intégrer la légion.rank) : le classement de la légion sur le serveur.race) : la race de la légion (Elyséen/Asmodien).members_count) : le nombre actuel de membres présents dans la légion.contrib) : le nombre total de points abyssaux accumulés par la légion.members) : la liste des membres de la légion name) : pseudo du membre.grade) : le titre du membre au sein de la légion (Général de Brigade, Centurion, Légionnaire).level) : le niveau du membre (1-50).class) : type de personnage (Clerc, Templier, Sorcier, etc.).grade_img) : pointe sur l'icône Aion représentative du grade sur le site officiel.class_img) : pointe sur l'icône Aion représentative de la classe sur le site officiel.detail) : URL de la fiche détaillée d'un personnage sur le site officiel.Voici un exemple de fichier XML donnant les informations de la légion des Castors Joyeux : Fichier XML des Castors Joyeux
Voici les informations disponibles pour un personnage. Entre parenthèses se trouve la balise XML correspondante. Le personnage est contenu dans la balise character :
name) : le nom complet du personnage.level) : le niveau du personnage.title) : le titre du personnage. Tient compte du genre du personnage.race) : la race du personnage (Elyséen/Asmodien).class) : la classe du personnage.abyss_pts) : les points abyssaux actuellement accumulés par le personnage.victims) : le total des victimes du personnage.gender) : genre du personnage (M/F).rank) : le rang abyssal du personnage.kills_day) : le nombre de victimes de la journée.kills_week) : le nombre de victimes de la semaine.pts_day) : les points abyssaux accumulés durant la journée.pts_week) : les points abyssaux accumulés durant la semaine.hp) : le nombre de points de vie du personnage.mp) : le nombre de points de mana du personnage.attack) : la puissance d'attaque physique.critical) : la puissance des critiques.accuracy) : la précision physique.magic_boost) : la puissance magique.resist_magic) : la résistance face aux attaques magiques.attack_speed) : la vitesse d'attaque physique.physical_def) : la défense physique.parry) : le taux de parade.magic_acc) : la précision magique.evasion) : le taux d'esquive.move_speed) : la vitesse de déplacement au sol.shield_def) : le taux de blocage.stigmas) : la liste des stigmas
name) : le nom de la stigma.Voici un exemple de fichier XML donnant les informations sur mon personnage principal Androctonus : Fichier XML d'Androctonus
Il est possible de faire une recherche partielle sur le nom d'un personnage. Cela est très utile si vous souhaitez connaître les informations d'un personnage possédant un pseudo difficile à écrire. Le nombre de suggestions est limité à 10. La liste est contenue dans la balise characters :
character) : Suggestion possible pour un personnage name) : Nom du personnageVoici un exemple de recherche partielle sur le début du pseudo de mon personnage : Recherche de "Andr".
Il faut tout simplement appeler cette page : http://aionapi.castorsjoyeux.fr/aionAPI.php avec les bons paramètres selon ce que vous voulez faire.
Paramètres optionnels :
lang (fr par défaut) : langue dans laquelle vous voulez obtenir les informations. Ce paramètre conditionne également le type de serveur sur lequel aller chercher les informations. Actuellement l'API peut obtenir des informations des serveurs européens (fr, de, uk) ou américain (na).Paramètres obligatoires :
serverInfo : la seule présence de la variable suffit à obtenir la liste des serveurs. Préciser un nom ou ID donnera uniquement le détail du serveur en question.Paramètres obligatoires :
serverID : nom ou ID du serveur de la légion. Pour le connaître, allez consulter la fiche de votre légion et regardez l'URL qui devrait ressembler à ça : http://fr.aiononline.com/livestatus/character-legion/search?serverID=34&guildID=9618. L'ID du serveur est le nombre suivant serverID (ici 34). Désormais vous pouvez tout simplement fournir le nom du serveur (ex. Perento à la place de 34)legionID : ID de la légion. Toujours dans l'URL de la légion il y a guildID, c'est le nombre qui suit (ici 9618).Paramètres obligatoires :
serverID : nom ou ID du serveur du personnage (ex. Perento).charID : nom du personnage (ex. Androctonus). A l'avenir il pourrait être possible de passer l'ID comme pour la légion.Paramètres obligatoires :
serverID : nom ou ID du serveur du personnage (ex. Perento).charID : nom du personnage (ex. Androctonus). A l'avenir il pourrait être possible de passer l'ID comme pour la légion.suggest : la seule présence de la variable suffit à entrer en mode suggestion.
<?php
$xmlDoc = new DOMDocument();
$xmlDocLoaded = $xmlDoc->load('http://aionapi.castorsjoyeux.fr/aionAPI.php?serverID=34&legionID=9618&lang=fr');
if ($xmlDocLoaded) {
$legionName = $xmlDoc->getElementsByTagName("name")->item(0)->nodeValue;
echo "Nom de la légion : ".$legionName;
}
?>
<?php
$xmlDoc = new DOMDocument();
$xmlDocLoaded = $xmlDoc->load('http://aionapi.castorsjoyeux.fr/aionAPI.php?serverID=34&legionID=9618&lang=fr');
if ($xmlDocLoaded) {
foreach ($xmlDoc->getElementsByTagName("member") as $member) {
echo $member->getElementsByTagName("name")->item(0)->nodeValue."\n";
}
}
?>
<?php
$xmlDoc = new DOMDocument();
$xmlDocLoaded = $xmlDoc->load('http://aionapi.castorsjoyeux.fr/aionAPI.php?serverID=Perento&charID=Androctonus&lang=fr');
if ($xmlDocLoaded) {
$name = $xmlDoc->getElementsByTagName("name")->item(0)->nodeValue;
$level = $xmlDoc->getElementsByTagName("level")->item(0)->nodeValue;
echo $name.'.'.$level;
}
?>
Téléchargez le package exemple : fullExample.zip
Afin de faciliter la vie de ceux qui souhaiteraient intégrer mon API au sein de leur site, j'ai décidé de concocter cet exemple complet basé sur ce que j'ai fait pour le site des Castors Joyeux. Tout ce que vous avez à faire pour profiter de cet exemple est de modifier :
$serverName ainsi que l'ID de votre légion dans $legionID. Vous pouvez également modifier la langue si besoin est ($language). Au moment de l'intégration réelle, cherchez les différents TODO (dans title et summary) afin de mettre ce que bon vous semble.Voilà. Si vous uploadez les différents fichiers du package dans un répertoire de votre serveur et que vous ne vous êtes pas trompé, vous devriez obtenir un simple tableau avec les informations de votre légion. A vous de modifier le fichier css pour que le design colle à vos attentes. Si vous pouvez garder quelque part un petit lien pointant vers mon API (comme c'est le cas dans l'exemple), je vous en serait reconnaissant. Ca fait un peu de pub et participe à mon référencement ;)
Cette API a été créée pour le site des Castors Joyeux et est mise à disposition de qui veut, gratuitement. J'ai plusieurs idées d'évolution mais, pour le moment, ce n'est pas une priorité étant donné que l'API remplit son office. Cependant, si vous souhaitez voir évoluer l'API, signaler un bug ou me féliciter (on peut toujours rêver), vous pouvez me contacter par mail : androctonus@castorsjoyeux.fr.