Image de KirinoKirino

L'API d'XP de Kirino

Faire une requête

Kirino fournit une API REST que vous pouvez utiliser pour récupérer les données d'XP d'un serveur.
L'URL de l'API est https://kirino.xyz/api/v1/leaderboards. Vous devez fournir certaines informations à l'API afin d'obtenir une leaderboard, en utilisant des paramètres GET :

  • Le paramètre id est le seul requis et doit être un ID de serveur valide.
  • Le paramètre limit vous permet de modifier le nombre d'entrées de la leaderboard qui seront renvoyées. Par défaut, les 20 premières entrées sont renvoyées. En utilisant ce paramètre, vous pouvez modifier ce nombre par n'importe quelle valeur entre 1 et 100. Cette limite est présente pour des raisons de performances.
  • Le paramètre page est la page à laquelle vous voulez accéder. Vous pouvez imaginer que la leaderboard est divisée en pages de la taille du paramètre limit. Par défaut, la 1ère page est retournée, mais vous pouvez accéder à une autre page en utilisant ce paramètre (par exemple, si vous fixez limit à 2 et page à 2, vous obtenez les 3ème et 4ème entrées). La page doit être > 0.

Un exemple serait de faire une requête GET à https://kirino.xyz/api/v1/leaderboards?id=742720465260380220&limit=1.
Souvenez vous que le seul paramètre requis est id . Si vous ne précisez pas les autres, leurs valeurs par défaut seront utilisées à la place.

Format de la réponse de l'API

La réponse de l'API contient des données JSON. Si la requête est traitée avec succès (le code de statut HTTP sera dans les 2XX), le contenu JSON sera formaté comme ceci :


{
    "guild_metadata": {
        "id": "742720465260380220",
        "name": "Kirino support",
        "icon": "https://cdn.discordapp.com/icons/742720465260380220/5aaff0ff7d64fae1407fca1658897a36.png?size=128",
        "players": 33
    },
    "players": [
        {
            "id": "327113301198766082",
            "tag": "Elf#4541",
            "avatar": "https://cdn.discordapp.com/avatars/327113301198766082/d30b854d2d59a9e159603902f34fda07.webp?size=128",
            "xp": 390,
            "total_xp": 4110,
            "level": 9,
            "color": "#FF0000",
            "rank": 1
        }
    ]
}
            

Le tableau players contiendra autant d'entrées que vous l'aurez défini avec le paramètre limit.
Si une erreur s'est produite (le code de statut HTTP n'est pas dans les 2XX), le contenu JSON sera comme ceci :


{
    "errors": [
        "I didn't find the specified server. Please ensure that the ID you provided is a valid server ID and that Kirino has access to it."
    ]
}
            

Des erreurs peuvent se produire pour diverses raisons : trop de requêtes reçues trop rapidement, pas d'ID de serveur fourni, serveur non trouvé, limite invalide, page invalide...
Si vous avez la moindre question à propos de l'API, vous pouvez rejoindre le serveur Discord de support pour poser vos questions.