Metamob propose une petite API vous permettant de récupérer directement les informations saisies par les utilisateurs.
Pour créer votre clé, rendez-vous dans votre espace et cliquez sur l'onglet "API".
Vous devrez saisir un nom. Gardez à l'esprit que vous ne pouvez créer qu'une seule clé API pour l'instant.
Votre clé sera immédiatement utilisable.
Le domaine de base est https://api.metamob.fr
.
Vous devrez fournir votre clé API dans les entêtes, sous le nom HTTP-X-APIKEY
.
Attention Votre clé est limitée à 60 appels
par minute. En cas de dépassement, vous obtiendrez une erreur 429 "Too Many Requests".
L'entête Retry-After
vous indique le temps restant avant votre prochaine tentative (en secondes).
Pensez à cacher vos résultats.
Attention Pour les appels en PUT, vous devrez fournir un identifiant unique de compte dans les entêtes afin de confirmer que l'appel que vous effectuez est autorisé par le propriétaire du compte.
Cet identifiant unique se trouve dans la page de profil, dans l'onglet API.
Vous devrez fournir cet identifiant dans les entêtes, sous le nom HTTP-X-USERKEY
.
L'identifiant unique doit correspondre au compte que vous essayez de modifier.
Liste les utilisateurs. Non implémenté pour le moment.
Exemple: /utilisateurs/Garfunk
Récupère les informations d'un utilisateur. Non sensible à la casse.
Clé | Valeurs possibles | Type |
---|---|---|
pseudo |
Pseudo de l'utilisateur | string |
contact |
Le contact indiqué à utiliser en jeu | string |
presentation |
Le texte de présentation | string |
image |
Le monstre utilisé pour l'icone | string |
image_url |
L'URL complète de l'icone | string |
etape |
L'étape actuelle de l'utilisateur | integer |
serveur |
Le nom du serveur sur lequel joue cet utilisateur | string |
derniere_connexion |
La date de dernière connexion, au format YYYY-MM-DD HH:mm:ss |
date |
lien |
Le lien vers la page de cet utilisateur | string |
Exemple: /utilisateurs/Garfunk/monstres
Récupère les monstres d'un utilisateur. Le nom d'utilisateur n'est pas sensible à la casse.
Renvoie une liste d'objets composés des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'id du monstre | integer |
nom |
Le nom du monstre | string |
slug |
Le slug du monstre (le nom nettoyé) | string |
type |
Type de monstre: monstre, archimonstre, boss | string |
image_url |
URL de l'image du monstre | string |
etape |
Etape à laquelle le monstre doit être rendu | integer |
zone |
Zone dans laquelle évolue le mob | string |
souszone |
Sous-zone dans laquelle évolue le mob | string |
quantite |
Quantité indiquée par l'utilisateur | integer |
recherche |
Si le monstre est recherché pour un échange (0 ou 1) | integer |
propose |
Si le monstre est proposé à l'échange (0 ou 1) | integer |
nom_normal |
Nom du monstre normal associé (pour les archimonstres uniquement) | string |
Cet endpoint propose plusieurs filtres à ajouter en GET. Exemple:
/utilisateur/Garfunk/monstres?nom=bib&type=archimonstre&quantite=2
.
Clé | Valeurs possibles | Type |
---|---|---|
nom |
Le nom du monstre à filtrer. Le filtre s'effectue sur le champ "nom" mais aussi sur le champ "nom_normal" pour les archimonstres | string |
etape |
L'étape sur laquelle filtrer | integer |
type |
Le type de monstre à afficher. N'accepte que "monstre", "archimonstre", et "boss" | string |
quantite |
Pour n'afficher que les monstres dont l'utilisateur possède la quantité indiquée.
Si la valeur saisie commence par "<" alors les monstres affichées seront ceux dont la quantité est strictement inférieure à la valeur saisie. Si la valeur saisie commence par ">" alors les monstres affichées seront ceux dont la quantité est strictement supérieure à la valeur saisie. Exemple: /utilisateurs/Garfunk/monstres?quantite=<5 n'affichera que les monstres dont
la quantité est strictement inférieure à 5.
|
string |
recherche |
Pour filtrer les monstres recherchés ou non. Valeurs possibles: 0 ou 1.
Exemple: /utilisateurs/Garfunk/monstres?recherche=0 n'affichera que les monstres non
recherchés
|
integer |
propose |
Pour filtrer les monstres proposés ou non. Valeurs possibles: 0 ou 1.
Exemple: /utilisateurs/Garfunk/monstres?propose=1 n'affichera que les monstres
proposés
|
integer |
Exemple: /monstres
Récupère les monstres. Renvoie une liste d'objets composés des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'identifiant du monstre | integer |
nom |
Le nom du monstre | string |
slug |
Le slug du monstre (le nom nettoyé) | string |
type |
Type de monstre: monstre, archimonstre, boss | string |
image_url |
URL de l'image du monstre | string |
etape |
Etape à laquelle le monstre doit être rendu | integer |
zone |
Zone dans laquelle évolue le mob | string |
souszone |
Sous-zone dans laquelle évolue le mob | string |
nom_normal |
Nom du monstre normal associé (pour les archimonstres uniquement) | string |
Cet endpoint propose plusieurs filtres à ajouter en GET. Exemple:
/monstres?nom=bib&type=archimonstre
.
Clé | Valeurs possibles | Type |
---|---|---|
nom |
Le nom du monstre à filtrer. Le filtre s'effectue sur le champ "nom" mais aussi sur le champ "nom_normal" pour les archimonstres | string |
etape |
L'étape sur laquelle filtrer | integer |
type |
Le type de monstre à afficher. N'accepte que "monstre", "archimonstre", et "boss" | string |
Exemple: /monstres/345
Récupère un monstre. Renvoie un objet composé des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'identifiant du monstre | integer |
nom |
Le nom du monstre | string |
slug |
Le slug du monstre (le nom nettoyé) | string |
type |
Type de monstre: monstre, archimonstre, boss | string |
image_url |
URL de l'image du monstre | string |
etape |
Etape à laquelle le monstre doit être rendu | integer |
zone |
Zone dans laquelle évolue le mob | string |
souszone |
Sous-zone dans laquelle évolue le mob | string |
nom_normal |
Nom du monstre normal associé (pour les archimonstres uniquement) | string |
Exemple: /serveurs
Récupère les serveurs. Renvoie une liste d'objets composés des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'identifiant du serveur | integer |
nom |
Le nom du serveur | string |
communaute |
La communauté concernée (France, Monde, etc) | string |
plateforme |
La plateforme concernée (Dofus PC, Dofus Touch, Dofus Rétro...) | string |
Cet endpoint propose un filtre à ajouter en GET. Exemple:
/serveurs?nom=terr
.
Clé | Valeurs possibles | Type |
---|---|---|
nom |
Le nom du serveur à filtrer | string |
Exemple: /serveurs/24
Récupère un serveur. Renvoie un objet composé des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'identifiant du serveur | integer |
nom |
Le nom du serveur | string |
communaute |
La communauté concernée (France, Monde, etc) | string |
plateforme |
La plateforme concernée (Dofus PC, Dofus Touch, Dofus Rétro...) | string |
Exemple: /kralamoures
Récupère les kralamoures. Renvoie une liste d'objets composés des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'identifiant de l'évènement | integer |
date |
La date de l'évènement prévu. Format YYYY-MM-DD HH:mm:ss | date |
url |
Le lien complet vers l'évènement | string |
serveur |
Le nom du serveur concerné | string |
createur |
Le pseudo de l'utilisateur qui a créé l'événement | string |
description |
La description de l'évènement | string |
nombre_utilisateurs |
Le nombre d'utilisateurs qui participeront à l'évènement | integer |
nombre_comptes |
Le nombre de comptes qui participeront à l'évènement (la somme des champs "nombre" renseignée par les participants) | integer |
Par défaut, les évènements remontés sont les évènements planifiés entre la date du jour et 1 mois plus tard.
Cet endpoint propose des filtres à ajouter en GET. Exemple:
/kralamoures?serveur=Terra&date_debut=2021-01-15&date_fin=2021-05-30
.
Clé | Valeurs possibles | Type |
---|---|---|
serveur |
Le nom du serveur à filtrer, non sensible à la casse. La recherche partielle est possible (exemple: "Terr" fera remonter le serveur "Terra Cogita") | string |
date_debut |
La date de début du filtrage, au format YYYY-MM-DD | date |
date_fin |
La date de fin du filtrage, au format YYYY-MM-DD | date |
Exemple: /kralamoures/124
Récupère un évènement kralamoure. Renvoie un objet composé des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'identifiant de l'évènement | integer |
date |
La date de l'évènement prévu. Format YYYY-MM-DD HH:mm:ss | date |
url |
Le lien complet vers l'évènement | string |
serveur |
Le nom du serveur concerné | string |
createur |
Le pseudo de l'utilisateur qui a créé l'événement | string |
description |
La description de l'évènement | string |
nombre_utilisateurs |
Le nombre d'utilisateurs qui participeront à l'évènement | integer |
nombre_comptes |
Le nombre de comptes qui participeront à l'évènement (la somme des champs "nombre" renseignée par les participants) | integer |
commentaires |
Un tableau constitué de la liste des commentaires, en ordre chronologique inverse (les plus récents
en premier). Chaque élément contient les champs pseudo (pseudo du commentateur),
commentaire (le texte du commentaire) et date (la date au format
YYYY-MM-DD HH:mm:ss ). |
array |
Exemple: /zones
Récupère les zones. Renvoie une liste d'objets composés des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'identifiant de la zone | integer |
libelle |
Le nom de la zone | string |
slug |
Le slug de la zone (le nom nettoyé) | string |
Cet endpoint propose un filtre à ajouter en GET. Exemple:
/zones?nom=bib
.
Clé | Valeurs possibles | Type |
---|---|---|
nom |
Le nom de la zone à filtrer. Le filtre s'effectue sur le champ "libelle" mais aussi sur le champ "slug" | string |
Exemple: /souszones
Récupère les sous-zones. Renvoie une liste d'objets composés des éléments suivants:
Clé | Valeurs possibles | Type |
---|---|---|
id |
L'identifiant de la sous-zone | integer |
libelle |
Le nom de la sous-zone | string |
slug |
Le slug de la sous-zone (le nom nettoyé) | string |
zone_libelle |
Le nom de la zone | string |
zone_slug |
Le slug de la zone (le nom nettoyé) | string |
Cet endpoint propose plusieurs filtres à ajouter en GET. Exemple:
/souszones?zone=2&nom=ama
.
Clé | Valeurs possibles | Type |
---|---|---|
zone |
L'identifiant de la zone avec laquelle filtrer les résultats | integer |
nom |
Le nom de la sous-zone à filtrer. Le filtre s'effectue sur le champ "libelle" mais aussi sur le champ "slug" | string |
Attention Les endpoints suivants nécessitent une clé unique d'utilisateur à fournir dans les entêtes. Toutes les informations sont disponibles en haut de page.
Exemple: /utilisateurs/Garfunk/monstres
Met à jour les informations de monstre d'un compte utilisateur.
Le contenu de la requête ("Body") doit contenir un tableau JSON composé d'un nombre variable d'entrées. Chaque entrée doit contenir l'identifiant ("id") du monstre, ainsi que une ou plusieurs entrées concernant l'action à effectuer.
Les actions possibles sont:
etat
: peut prendre les valeurs aucun
, recherche
ou propose
quantite
: peut prendre une valeur, ou une chaîne de caractère spécifiant la quantité à ajouter ou soustraireLe champ etat
indique l'état dans lequel le monstre sera placé (neutre, recherché ou proposé).
Le champ quantite
indique l'opération à effectuer sur la quantité: s'il s'agit d'un nombre seul
(par exemple "3"), alors la quantité sera forcée à cette valeur, quelque soit la valeur actuelle. Si
la quantité est une chaîne de caractère commençant par un symbole "+", alors la quantité du monstre sera incrémentée
de la valeur indiquée. S'il s'agit d'une chaîne de caractère commençant par un symbole "-", alors la quantité
du monstre sera décrémentée de la valeur indiquée.
Attention L'API ne mettra pas à jour l'état du monstre lorsque vous
indiquez un changement de quantité: un monstre "recherché" à 0 exemplaire ne passera pas en état aucun
si vous ajoutez un exemplaire. C'est à vous de faire cette modification (en requêtant la quantité au préalable
par exemple).
[ { "id": 453, "etat": "recherche", "quantite": 3 }, { "id": 547, "etat": "propose", "quantite": "-1" }, { "id": 26, "quantite": "+1" }, { "id": 245, "etat": "aucun" } ]
Dans cet exemple, le monstre ayant pour id 453 sera marqué à 3 exemplaires, même s'il était à 0 ou 10 avant. Le monstre 547 verra sa quantité décrémentée de 1, et le monstre 26 sa quantité incrémentée de 1.
{ "reussite": { "26": [ "Quantité du monstre Rose démoniaque passée à 1 (+1)" ], "245": [ "Monstre Krambwork passé à l'état aucun" ], "453": [ "Monstre Blordur l'Infect passé à l'état recherche", "Quantité du monstre Blordur l'Infect passée à 4 (+3)" ], "547": [ "Monstre Fandanleuil le Précis passé à l'état propose", "Quantité du monstre Fandanleuil le Précis passée à 0 (-1)" ] }, "erreurs": [] }
Attention Bien entendu, décrémenter un monstre en négatif ne le fait pas descendre en dessous de zéro (Demander une action "-10" sur un monstre possédé en 3 exemplaires ne le fera pas passer à -7, mais à 0, sans erreur).
Champ 'id' non valide pour le monstre xxx
: l'id fourni n'est pas reconnu"Champ 'etat' non valide pour le monstre xxx (xxx)"
: le champ etat
ne peut prendre qu'une valeur parmi "aucun", "recherche", "propose"."Champ 'quantite' non valide pour le monstre xxx (xxx)"
: assurez-vous de fournir
une quantité au format numérique !Exemple: /utilisateurs/Garfunk/monstres/reinitialiser
Réinitialise les monstres sur le compte. Cela signifie que toutes les informations relatives aux monstres seront supprimées !
Les monstres seront mis à l'état aucun
(ni recherché ni proposé), avec une quantité nulle (0).