InvaZion

Le projet de Hordes-like collaboratif

Comprendre les résultats renvoyés par les API

Pages liées :

Principe général

Toutes les API du jeu respectent la même structure générale. Elles contiennent toutes deux noeuds principaux :

Structure détaillée des API

Les API sont toutes structurées ainsi :

Clés liées à la version de l'API

metas > api_status indique le niveau de stabilité de l'API. Trois valeurs sont possibles :

metas > api_version indique le numéro de version de l'API que vous utilisez (ex : 1.0). Chaque API (maps, citizens, zone...) a son propre numéro de version car elles n'évoluent pas toutes à la même fréquence.

metas > api_newest_version indique le numéro de la version la plus récente de l'API (ex : 2.0). En comparant les valeurs de api_version et api_newest_version, vous pouvez détecter si une version plus récente de l'API est disponible. Si vous utilisez déjà la version la plus récente de l'API, les deux clés ont la même valeur.

Clés liées à la date

> timestamp indique le moment où la page a été générée, à la seconde près, sous forme d'un timestamp Unix. Le timestamp Unix représente une date sous forme d'un nombre unique, correspondant au nombre de secondes écoulées depuis le 1er janvier 1970. Par exemple, le timestamp 1602429478 correspond au 11 octobre 2020 à 15h17mn58s.

Cette clé est utile pour charger intelligemment les données, en ne récupérant que les données du jeu qui ont été modifiées depuis le dernier appel à l'API : voir la documentation des API du jeu (notamment le paramètre &newerthan).

Clés de gestion des erreurs

metas > error_code contient un code d'erreur textuel indiquant que l'action que vous avez demandée au moyen de l'API a réussi ou la raison pour laquelle elle a échoué.

Les noms des codes d'erreur sont stables, ils ne seront pas modifiés à l'improviste. Vous pouvez vous baser sur eux pour vos traitements (ex : Si code d'erreur est XXX, alors afficher le message YYY).

metas > error_class indique le niveau de gravité de l'erreur signalée par la clé [error_code] (voir plus haut). Cette information sera très pratique pour vous si vous affichez les messages différemment selon leur nature (ex : les messages d'information en vert, les messages d'avertissement en rouge). La clé error_class contient une de ces trois valeurs :

metas > error_message contient un message textuel destiné au joueur, décrivant le résultat de son action (ex : « Vous avez découvert l'objet X »). Vous pouvez intégrer ce texte directement dans votre application. Cela vous épargne de définir un par un les messages associés à chaque code d'erreur (voir ci-dessus, la clé error_code).

metas > error_details contient un message textuel qui précise les détails techniques en cas de bug. Il est destiné à vous, développeur, pour vous permettre de corriger les erreurs que vous avez pu commettre en appelant l'API (par exemple, si vous demandez les données d'une carte mais oubliez d'indiquer le numéro de la carte que vous voulez récupérer). Le message contenu dans error_message (voir ci-dessus) est plus succinct et vague que celui de error_details afin de ne pas noyer le joueur dans des détails techniques qu'il ne comprendrait pas.
Il se peut que error_details ne soit pas renseigné si le message de error_message est déjà suffisamment clair.

Clés contenant les données

Les données retournées par l'API se trouvent dans la clé datas. Son contenu va dépendre de quelle API vous avez appelée. Par exemple, l'API Maps affiche les données de la carte (position des zombies...) tandis que l'API Citizens affiche les données concernant les joueurs (nombre de points d'action...).

Pour connaître les API disponibles et savoir ce qu'elles renvoient, consultez la liste complète des API du jeu.