MENU Serveur MultiGames - Documentation API

php php python

Introduction

Bienvenue sur la page de documentation de l'API de Serveur MultiGames. Cette page est destinée aux développeurs et aux créateurs souhaitant intégrer un système de vérification de vote sur leur serveur. L'API permet de vérifier les votes selon plusieurs méthodes, mais également de récupérer ou d'envoyer d'autres informations à notre plateforme.

Les langages de programmation mis en exemple sont principalement PHP, qui est très utilisé par les créateurs de serveurs de jeu et les personnes souhaitant implémenter une vérification de vote, mais d'autres exemples sont également disponibles avec cURL, en Python, en Ruby, Node JS, Go, Java.

Cette documentation est sujette à des évolutions en fonction des mises à jour de notre API.

Authentification

Afin d'effectuer une requête avec les autorisations nécessaires, vous devez utiliser une clé API secrète que vous pouvez créer sur la page de gestion de votre serveur sur le tableau de bord. Consulter la liste de mes clés API (vous devez être connecté)

<?php

$api_key = "sk_test"; // Clé API du serveur
// Exemple de requête pour récupérer la liste des serveurs
$request_url = "https://serveur-multigames.net/api/v2/servers";

$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Authorization: ".$api_key."\r\n"
    ]
];

$context = stream_context_create($opts);

$response = @file_get_contents($request_url, false, $context);

foreach ($response as $server)
{
    // Informations du serveur
    var_dump($server);
}

?>
curl "https://serveur-multigames.net/api/v2/servers" \
  -H "Authorization: sk_test"
import requests

# Clé API
api_key = 'sk_test'

# URL de la requête
url = 'https://serveur-multigames.net/api/v2/servers'

headers = {'Authorization': api_key}
response = requests.post(url, headers=headers)

Remplacez la clé de base par votre clé API.

Serveur MultiGames demande une clé API pour pouvoir effectuer une requête sur notre API avec les autorisations nécessaires, vous devez donc utiliser une clé API secrète que vous pouvez créer sur votre tableau de bord personnel.

Consulter le tableau de bord (vous devez être connecté)

Serevur MultiGames API s'attend à ce que la clé API soit incluse dans toutes les requêtes adressées au serveur dans un en-tête qui ressemble à ce qui suit

Authorization: sk_test

Vous pouvez utiliser pour les essais la clé API test qui renvoie des données d'exemple.



Vérifier le vote

Méthode simple True

<?php

$api_key = "sk_test"; // Clé API du serveur
$server_id = "_example"; // ID du serveur
$ip_address = $_SERVER['REMOTE_ADDR'];

// Exemple de requête pour récupérer la liste des serveurs
$request_url = "https://serveur-multigames.net/api/v2/vote/true/".$server_id."/".$ip_address;

$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Authorization: ".$api_key."\r\n"
    ]
];

$context = stream_context_create($opts);

$response = @file_get_contents($request_url, false, $context);

if ($response == 1)
{
    // Le joueur a voté
}else{
    // Le joueur n'a pas voté
}

?>
curl "https://serveur-multigames.net/api/v2/vote/true/_example/3.23x.xxx.x" \
  -H "Authorization: sk_test"
import requests

# Clé API
api_key = 'sk_test'

# ID du serveur
server_id = '_example'

# Adresse IP du joueur à vérifier
ip_address = '3.23x.xxx.x'

# URL de la requête
url = 'https://serveur-multigames.net/api/v2/vote/true/{0}/{1}'.format(server_id, ip_address)

headers = {'Authorization': api_key}
response = requests.get(url, headers=headers)

if response.text == 1:
    # Le joueur a voté
    print('Vote pris en compte')
else :
    # Le joueur n'a pas voté
    print('Pas de vote')

L'API retourne l'information suivante si le joueur a bien voté :

1

L'API retourne une réponse vide si le vote a déjà été vérifié ou si le joueur n'a pas voté.

La méthode True est une méthode simple pour vérifier si un joueur a effectivement bien voté. Cette méthode est une méthode simple, mais qui ne renvoie que 1 si le joueur a voté, sinon, cette méthode ne renvoie rien quand le joueur n'a pas voté.

Ce système est à vérification unique. C'est-à-dire qu'une fois que vous recevez l'information que le joueur a bien effectué le vote, vous ne pouvez plus vérifier de nouveau son vote récent.

Soyez sûrs de bien appeler cette méthode qu'une fois après le vote du joueur

Cette méthode est donc simple mais efficace pour les personnes non expérimentées dans le développement,

Requête HTTP

GET https://serveur-multigames.net/api/v2/vote/true/SERVER_ID/IP_ADDRESS

Paramètres dynamiques de la requête

Paramètre Obligatoire Description
server_id ID du serveur
ip_address Adresse IP du joueur (IPv4)

Méthode JSON

<?php

$api_key = "sk_test"; // Clé API du serveur
$server_id = "_example"; // ID du serveur
$ip_address = $_SERVER['REMOTE_ADDR'];

// Exemple de requête pour récupérer la liste des serveurs
$request_url = "https://serveur-multigames.net/api/v2/vote/json/".$server_id."/".$ip_address;

$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Authorization: ".$api_key."\r\n"
    ]
];

$context = stream_context_create($opts);

$response = @file_get_contents($request_url, false, $context);
$json = json_decode(response);

if($json->status == 'passed') {
    // Le joueur a voté
}elseif($json->status == 'already_checked') {
    // Le joueur a déjà voté et son vote déjà validé
}else{
    // Le joueur n'a pas voté récemment
}

// Vous pouvez utiliser les champs suivants :
// $json->status : Statut du vote : passed, already_checked, unknown
// $json->date : Date en format timestamp du vote
// $json->time_until_next_vote : Temps en secondes avant que le joueur puisse de nouveau voter
// $json->username : Nom d'utilisateur du votant, attention, pas toujours donné

?>
curl "https://serveur-multigames.net/api/v2/vote/json/_example/3.23x.xxx.x" \
  -H "Authorization: sk_test"
import requests
import json

# Clé API
api_key = 'sk_test'

# ID du serveur
server_id = '_example'

# Adresse IP du joueur à vérifier
ip_address = '3.23x.xxx.x'

# URL de la requête
url = 'https://serveur-multigames.net/api/v2/vote/json/{0}/{1}'.format(server_id, ip_address)

headers = {'Authorization': api_key}
response = requests.get(url, headers=headers)
data = json.loads(response.text)

if data.status == 'passed':
    # Le joueur a voté
    print('Vote pris en compte')
elif data.status == 'already_checked':
    # Le joueur a déjà voté récemment
    print('Vote déjà pris en compte')
else:
    # Le joueur n'a pas voté récemment
    print('Pas de vote')

# D'autres informations sont disponibles
print(data.date) # Date du vote en timestamp
print(data.time_until_next_vote) # Temps en secondes avant le prochain vote
print(data.username) # Nom d'utilisateur du joueur qui a voté, pas toujours donné

Exemple d'informations en JSON retourné :

La méthode JSON est une méthode adoptée par de nombreux serveurs afin de vérifier si le joueur a bien voté et de récupérer dans le même temps des informations sur le vote, comme le pseudonyme du joueur qui a voté, la date du vote ainsi que le nombre de secondes restantes avant le prochain vote. Cette méthode est plus complète que la méthode True.

Requête HTTP

GET https://serveur-multigames.net/api/v2/vote/json/SERVER_ID/IP_ADDRESS

Paramètres dynamiques de la requête

Paramètre Obligatoire Description
server_id ID du serveur
ip_address Adresse IP du joueur (IPv4)

Valeurs Json renvoyées par le système

Paramètre Description
status Statut du vote:
passed si le joueur a voté
already_checked si le vote a déjà été vérifié
unknown si aucun vote n'a été effectué
date Date du vote en Timestamp UNIX
time_until_next_vote Temps en secondes avant que le joueur puisse de nouveau voter
username Nom d'utilisateur du joueur qui a voté

Méthode Callback

<?php

$api_key = "sk_test"; // Clé API du serveur
$server_id = "_example"; // ID du serveur

// Vérification d'authenticité
if ($api_key != $_POST['api_key']) {
    exit("Impossible de vérifier l'authenticité de l'envoyeur.");
}

// Vérification du serveur
if ($server_id != $_POST['server_id']) {
    exit("Le mauvais serveur a été passé.");
}

$date =  $_POST['date']; // Date du vote, timestamp UNIX
$time_until_next_vote = $_POST['time_until_next_vote']; // Temps en secondes avant le prochain vote 

// Vérifier si un nom d'utilisateur a été mis
if (!isset($_POST['server_id'])) {
    exit("Aucun nom d'utilisateur fourni.");
}

$username = $_POST['username']; // Temps en secondes avant le prochain vote 

echo($username." a voté !");

?>
Aucune implémentation disponible dans ce langage.
Nous vous invitons à vous tourner vers des apps pour des serveurs Web.
Aucune implémentation disponible dans ce langage.
Nous vous invitons à vous tourner vers Django ou Flask si vous souhaitez
vérifier le vote avec la méthode Callback en Python.

La méthode Callback est une méthode plus expérimentée où vous ne récupérez pas directement une information depuis notre API en faisant un appel.

La méthode Callback requiert une implémentation d'une page de votre côté. Lorsqu'un joueur vote avec la méthode Callback, une requête est envoyée depuis nos serveurs vers la page que vous avez indiqué dans les paramètres de votre serveur si vous choisissez la méthode Callback, quelques secondes après le vote.

Cette méthode est comme un Webhook, votre page attend un événement de notre part, et vous n'avez pas à envoyer une requête vers notre API.

Les informations sont envoyées par la méthode POST.

Paramètres POST envoyées à votre URL

Paramètre Obligatoire Description
api_key Une de vos clés API secrète est renvoyée, permettant de vérifier l'authenticité de la requête, afin de vérifier que la requête vient de nous et n'est pas spoofée.
server_id ID du serveur de jeu sur lequel un vote a été effectué. Vous pouvez retrouver les ID de vos serveurs sur votre Tableau de gestion.
date Date du vote en Timestamp UNIX
time_until_next_vote Temps en secondes avant que le joueur puisse de nouveau voter
username Nom d'utilisateur du joueur qui a effectué le voté

Méthode Votifier

Aucun code n'est nécessaire pour l'utilisation de la méthode Votifier.

La méthode Votifier est une méthode simple qui ne demande pas de programmation spécifique. Cette méthode est compatible uniquement pour les serveurs Minecraft.

Votifier a été mis en place et a été testé sur la dernière version de Votifier que vous pouvez télécharger ici.

Vous pouvez ajouter plusieurs sous-serveurs sur notre système, si vous avez un serveur Minecraft SkyBlock et un autre PvP Factions par exemple, le joueur peut décider sur quel serveur choisir. Une barre permettant de choisir le serveur qu'il souhaite est automatiquement affichée si vous configurez plus d'un Votifier. Cependant, le joueur ne peut faire qu'un seul vote pour le serveur en général une fois toutes les 1 heures 30 minutes.

Informations à insérer dans le Tableau de bord

Paramètre Obligatoire Description
Nom du serveur Le nom du serveur est le nom d'affichage lors du choix de vote, utile si vous avez plusieurs serveurs. Sinon, vous pouvez mettre le nom de votre serveur par défaut si vous n'en possédez qu'un.
IP du serveur L'adresse IP brute du serveur où le plugin Votifier est installé doit être insérée. L'adresse ne doit pas être un DNS mais une IPv4 ou IPv6 brute.
Port de Votifier Le port de Votifier doit être inséré. Le port Votifier n'est pas le même port que votre serveur Minecraft. Attention à ne pas vous tromper. Le port de Votifier se trouve dans le dossier de configuration du plugin Votifier. Vous pouvez à tout moment modifier le port Votifier dans la configuration de Votifier et sur notre Tableau de bord, sans oublier de redémarrer votre serveur avant.
Clé publique de Votifier La clé publique de Votifier est nécessaire car elle est essentielle. La clé publique de Votifier se trouve dans le fichier publickey.key du dossier du plugin Votifier. Attention, vous devez copier tout le contenu du fichier (qui peut s'ouvrir avec Notepad++ ou le bloc-notes de base) et le coller dans le champ prévu à cet effet.

Serveurs

Liste des serveurs

<?php

$api_key = "sk_test"; // Votre clé API secrète

// Exemple de requête pour récupérer la liste des serveurs
$request_url = "https://serveur-multigames.net/api/v2/servers";

$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Authorization: ".$api_key."\r\n"
    ]
];

$context = stream_context_create($opts);

$response = @file_get_contents($request_url, false, $context);
$json = json_decode(response);

var_dump($json->count); // Nombre de serveurs sur votre compte
var_dump($json->list); // Liste de serveurs sur votre compte

?>
curl "https://serveur-multigames.net/api/v2/servers \
  -H "Authorization: sk_test"
import requests
import json

# Clé API
api_key = 'sk_test'

# URL de la requête
url = 'https://serveur-multigames.net/api/v2/servers'

headers = {'Authorization': api_key}
response = requests.get(url, headers=headers)
data = json.loads(response.text)

print(data.count) # Nombre des serveurs que vous possédez
print(data.list) # Liste des serveurs possédés

Exemple d'informations en JSON retourné :

Il est possible de récupérer la liste des serveurs que vous possédez actuellement sur votre compte.

La méthode vous permet de renvoyer une liste des ID des serveurs reliés à votre compte.

Requête HTTP

GET https://serveur-multigames.net/api/v2/servers

Informations de retour

Paramètre Obligatoire Description
count Nombre de serveurs reliés à votre compte
list Liste des IDs de vos serveurs

Données d'un serveur

<?php

$api_key = "sk_test"; // Votre clé API secrète

$server_id = "_example"; // ID du serveur

// URl de la requête pour récupérer les informations d'un serveur
$request_url = "https://serveur-multigames.net/api/v2/server/".$server_id;

$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Authorization: ".$api_key."\r\n"
    ]
];

$context = stream_context_create($opts);

$response = @file_get_contents($request_url, false, $context);
$json = json_decode(response);

var_dump($json->id); // ID du serveur
var_dump($json->name); // Nom du serveur
var_dump($json->ip); // IP du serveur
var_dump($json->tag); // Tags du serveur
var_dump($json->created_at); // Date de création de la fiche
var_dump($json->votes); // Nombre de votes
var_dump($json->reviews); // Nombre d'avis
var_dump($json->reviews_average); // Note moyenne du serveur
var_dump($json->clicks); // Nombre de visites du site du serveur
var_dump($json->ip_copied); // Nombre de fois qu'une IP a été copiée
var_dump($json->category); // Catégorie du serveur de jeu
var_dump($json->vote_type); // Type de vote du serveur de jeu
var_dump($json->img_logo); // Chemin d'accès du logo
var_dump($json->img_header_bg); // Chemin d'accès de l'image d'entête
var_dump($json->sn_facebook); // Lien de la page Facebook du serveur
var_dump($json->sn_twitter); // Lien de la page Twitter du serveur
var_dump($json->sn_instagram); // Lien de la page Instagram du serveur
var_dump($json->last_edit); // Date en timestamp de la dernière édition de la fiche
var_dump($json->status); // Statut du serveur sur la plateforme

?>
curl "https://serveur-multigames.net/api/v2/servers \
  -H "Authorization: sk_test"
import requests
import json

# Clé API
api_key = 'sk_test'

# ID du serveur
server_id = '_example'

# URL de la requête
url = 'https://serveur-multigames.net/api/v2/server/{0}'.format(server_id)

headers = {'Authorization': api_key}
response = requests.get(url, headers=headers)
data = json.loads(response.text)

print(data.id) # ID du serveur
print(data.name) # Nom du serveur
print(data.ip) # Adresse IP du serveur de jeu
print(data.tag) # Liste des tags du serveur
print(data.created_at) # Date de création de la fiche
print(data.votes) # Nombre de vote ce mois-ci du serveur
print(data.reviews) # Nombre d'avis publiés sur le serveur
print(data.reviews_average) # Note moyenne attribuée au serveur
print(data.clicks) # Nombre de clics externes vers le site du serveur
print(data.ip_copied) # Nombre de fois que l'adresse IP du serveur a été copiée
print(data.category) # Catégorie de jeu du serveur en question
print(data.vote_type) # Type de vote du serveur
print(data.img_logo) # Chemin d'accès de l'image du logo du serveur
print(data.img_header_bg) # Chemin d'accès de l'image de l'entête du serveur
print(data.sn_facebook) # Liste de la page Facebook du serveur
print(data.sn_twitter) # Lien de la page Twitter du serveur
print(data.sn_instagram) # Lien de la page Instagram du serveur
print(data.status) # Status du serveur de jeu

Exemple d'informations en JSON retourné :

Vous pouvez récupérer toutes les informations de votre serveur dans un format compact, avec toutes les données publiques du serveur relié à votre compte dans la réponse de la requête API.

Requête HTTP

GET https://serveur-multigames.net/api/v2/server/SERVER_ID

Paramètres dynamiques de la requête

Paramètre Obligatoire Description
SERVER_ID ID du serveur, récupérable depuis le Tableau de bord ou avec la méthode API pour récupérer la liste des IDs des serveurs attachés à votre compte créateur.

Informations de retour

id
Paramètre Obligatoire Description
id ID du serveur demandé, l'ID est le même que demandé
name Nom d'affichage du serveur
ID du serveur demandé, l'ID est le même que demandé
name Nom d'affichage du serveur
ip Adresse IP du serveur, vide si l'adresse IP du serveur n'est pas configurée
tag Tags/Sous-catégories attachés à vos serveurs. Exemple : ['faction','pvp'], peut être vide
created_at Date de création de la fiche serveur sous format JJ/MM/AAAA HH:MM
votes Nombre de votes du mois courant, uniquement le nombre de votes vérifiés et approuvés par MultiGames Radar
reviews Nombre d'avis publiés et affichés pour la fiche serveur
reviews_average Note moyenne attribuée au serveur (nombre entier), allant de 0 à 5.
clicks Nombre de clics externes du mois courant vers le site internet du serveur de jeu
ip_copied Nombre de fois que l'adresse IP du serveur de jeu a été copiée pendant le mois.
category Catégorie du serveur de jeu encodée. Exemple : minecraft
vote_type Type de vérification des votes du serveur. Applicable : TRUE, JSON, CALLBACK, VOTIFIER
img_logo Lien interne de l'image du logo de la fiche du serveur.
img_header_bg Lien interne de l'image de l'entête de la fiche du serveur.
sn_facebook URL de la page Facebook reliée à la page du serveur.
sn_twitter URL vers le compte Twiter reliée à la page du serveur.
sn_instagram URL vers le compte Instagram reliée à la page du serveur.
last_edit Date en Timestamp UNIX de la dernière modification du serveur.
status Statut de la validation du serveur sur la plateforme.
En cours de révision : under_review
Acceptée : accepted
Rejetée : rejected

Classement de votes d'un serveur

<?php

$api_key = "sk_test"; // Votre clé API secrète

$server_id = "_example"; // ID du serveur

// URL de la requête pour récupérer les informations d'un serveur
$request_url = "https://serveur-multigames.net/api/v2/server/".$server_id."/leaderboard";

$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Authorization: ".$api_key."\r\n"
    ]
];

$context = stream_context_create($opts);

$response = @file_get_contents($request_url, false, $context);
$json = json_decode(response);

$i = 1;

// Itération pour l'affichage d'un podium
foreach($json as $username => $votes) {
    echo($i.". ".$username." - ".$votes." votes"); // Afficher chaque joueur
    $i++;
}

?>
curl "https://serveur-multigames.net/api/v2/server/_example/leaderboard \
  -H "Authorization: sk_test"
import requests
import json

# Clé API
api_key = 'sk_test'

# ID du serveur
server_id = '_example'

# URL de la requête
url = 'https://serveur-multigames.net/api/v2/server/{0}/leaderboard'.format(server_id)

headers = {'Authorization': api_key}
response = requests.get(url, headers=headers)
data = json.loads(response.text)

i = 1

# Affichage d'un podium
for username in data:
    votes = data[username]
    print('{0}. {1} - {2} votes'.format(i, username, votes)) # Afficher chaque joueur
    i += 1

Exemple d'informations en JSON retourné :

Il est possible de récupérer les informations sur le classement de votes du serveur stocké sur notre plateforme.
Quand un joueur vote et entre son pseudonyme, son vote est ajouté dans notre classement et vous pouvez extraire le classement depuis notre API directement.

Si vous n'avez pas forcé à mettre son pseudo, les joueurs qui votent sans laisser leur pseudonyme ne sont pas comptés.
MultiGames Radar n'agit pas sur le classement, c'est-à-dire que les votes sont ajoutés au classement sans vérification de fraude. En cas de problème, contactez-nous.

Il est possible que le compteur de votes soit différent des votes du classement en raison des raisons citées ci-dessus.

Requête HTTP

GET https://serveur-multigames.net/api/v2/server/SERVER_ID/leaderboard/COUNT

Paramètres dynamiques de la requête

Paramètre Obligatoire Description
SERVER_ID ID du serveur, récupérable depuis le Tableau de bord ou avec la méthode API pour récupérer la liste des IDs des serveurs attachés à votre compte créateur.
COUNT Nombre de joueurs à récupérer du classement. Exemple : Si vous passez 50 dans le paramètre COUNT, vous récupérerez la liste des 50 premiers votants.

Liste des derniers votes

<?php

$api_key = "sk_test"; // Votre clé API secrète

$server_id = "_example"; // ID du serveur

// URL de la requête pour récupérer les informations d'un serveur
$request_url = "https://serveur-multigames.net/api/v2/server/".$server_id."/votes";

$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Authorization: ".$api_key."\r\n"
    ]
];

$context = stream_context_create($opts);

$response = @file_get_contents($request_url, false, $context);
$json = json_decode(response);

// Itération pour l'affichage des derniers votes
foreach($json as $data) {
    echo($data->id); // ID du vote
    echo($data->date); // Date du vote
    echo($data->timestamp); // Timestamp UNIX du vote
    echo($data->ip_address); // Adresse IP du joueur qui a voté (non entière)
    echo($data->username); // Pseudo du joueur qui a voté, pas tout le temps donné 
    echo($data->time_until_next_vote);// Temps en secondes avant le prochain vote
}

?>
curl "https://serveur-multigames.net/api/v2/server/_example/votes \
  -H "Authorization: sk_test"
import requests
import json

# Clé API
api_key = 'sk_test'

# ID du serveur
server_id = '_example'

# URL de la requête
url = 'https://serveur-multigames.net/api/v2/server/{0}/votes'.format(server_id)

headers = {'Authorization': api_key}
response = requests.get(url, headers=headers)
data = json.loads(response.text)

# Affichage des derniers votes
for k in data:
    vote = data[k]
    print(vote.id) # ID du vote
    print(vote.date) # Date du vote
    print(vote.timestamp) # Timestamp UNIX du vote
    print(vote.ip_address) # Adresse IP du joueur qui a voté (non entière)
    print(vote.username) # Pseudo du joueur qui a voté (pas tout le temps donné)
    print(vote.time_until_next_vote) # Temps en secondes avant le prochain vote

Exemple d'informations en JSON retourné :

Vous pouvez récupérer la liste des derniers votes effectués pour le serveur. Vous ne pouvez récupérer que les 20 derniers votes. Si vous souhaitez vérifier lorsqu'un joueur vote, nous vous invitons à plutôt utiliser les méthodes dans l'onglet Vérifier le vote, qui sont adaptés aux besoins.

Requête HTTP

GET https://serveur-multigames.net/api/v2/server/SERVER_ID/votes

Paramètres dynamiques de la requête

Paramètre Obligatoire Description
SERVER_ID ID du serveur, récupérable depuis le Tableau de bord ou avec la méthode API pour récupérer la liste des IDs des serveurs attachés à votre compte créateur.

Informations de retour

Le retour consiste en une liste d'objets des 20 derniers votes effectués sur le serveur, dont les IPs sont cachés conformément à la Politique de Confidentialité et pour la proteection de nos utilisateurs.

Champ Obligatoire Description
id ID du vote en question
date Date du vote au format JJ/MM/AAAA HH:MM
timestamp Date du vote en format Timestamp UNIX
ip_address Début d'adresse IP du votant, par exemple 3.23x.xxx.x
timestamp Date du vote en format Timestamp UNIX
username Nom d'utilisateur du votant
time_until_next_vote Temps en secondes avant la possibilité de voter à nouveau

Pour des raisons de sécurité concernant MultiGames Radar, il n'est pas possible de vérifier le niveau de risque des votes effectués depuis l'API.

Compte créateur

Activité du compte

<?php

$api_key = "sk_test"; // Votre clé API secrète

// URL de la requête pour récupérer l'activité du compte
$request_url = "https://serveur-multigames.net/api/v2/account/history";

$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Authorization: ".$api_key."\r\n"
    ]
];

$context = stream_context_create($opts);

$response = @file_get_contents($request_url, false, $context);
$json = json_decode(response);

// Itération pour l'affichage de l'activité du compte
foreach($json as $k => $data) {
    echo($data->act_id); // ID de l'activité
    echo($data->type); // Type de l'activité
    echo($data->timestamp); // Timestamp UNIX de l'activité
    echo($data->date); // Date de l'activité
    echo($data->details); // Détails de l'activité
    echo($data->ip_address); // Adresse IP de la personne ayant déclenché l'activité
    echo($data->browser->type); // Type du navigateur
    echo($data->browser->version); // Version du navigateur
    echo($data->device->type); // Type d'appareil
    echo($data->device->operating_system); // Système d'exploitation de l'appareil
    echo($data->device->system_version); // Version de l'appareil
}

?>
curl "https://serveur-multigames.net/api/v2/account/history \
  -H "Authorization: sk_test"
import requests
import json

# Clé API
api_key = 'sk_test'

# URL de la requête
url = 'https://serveur-multigames.net/api/v2/account/history'

headers = {'Authorization': api_key}
response = requests.get(url, headers=headers)
data = json.loads(response.text)

# Affichage des dernières activités
for k in data:
    activity = data[k]
    print(activity.act_id) # ID de l'activité
    print(activity.type) # Type de l'activité
    print(activity.timestamp) # Timestamp UNIX de l'activité
    print(activity.date) # Date de l'activité
    print(activity.details) # Détails de l'activité
    print(activity.ip_address) # Adresse IP de l'activité
    print(activity.browser.type) # Type du navigateur
    print(activity.browser.version) # Version du navigateur
    print(activity.device.type) # Type d'appareil
    print(activity.device.operating_system) # Système d'exploitation de l'appareil
    print(activity.device.system_version) # Version du système d'exploitation de l'appareil

La réponse à la requête de l'activité du compte ressemble à celle-ci :

Il est possible de récupérer l'historique de l'activité de votre compte créateur pour plusieurs cas d'usage, comme par exemple le stocker ou envoyer des notifications lors d'une nouvelle activité sur le compte.

Requête HTTP

GET https://serveur-multigames.net/api/v2/account/history

Informations de retour

Le retour consiste en une liste d'objets des 50 dernières activités du compte en question relié à la clé API donnée lors de l'appel.

Champ Obligatoire Description
act_id ID de l'activité en question
type Type de l'activité, par exemple : register, login, add_server, edit_server
timestamp Date de l'activité en format Timestamp UNIX
date Date de l'activité en format JJ/MM/AAAA
details Détail de l'activité, par exemple : nom du serveur modifié
ip_address Adresse IP de la personne ayant déclenché l'action
browser
Champ Obligatoire Description
type Type du navigateur. Exemple : Chrome
version Version du navigateur. Exemple : 81.0.4044
device
Champ Obligatoire Description
type Type de l'appareil. Exemple : Mac
operating_system Système d'exploitation de l'appareil. Exemple : Mac OS X
system_version Version du système d'exploitation de l'appareil. Exemple : 10.15.4

Pour des raisons de sécurité et de Politique de Confidentialité, nous ne pouvons pas renvoyer plus d'informations sur le créateur de l'activité depuis l'API, mais nous disposons de plus d'informations pour des vérifications approfondies.

Erreurs API

L'API de Serveur MultiGames utilise les codes d'erreurs suivants afin de vous informer que votre requête n'a pas pu être effectuée correctement.

Code d'erreur Explication
400 Bad Request -- Votre requête ne contient pas tous les éléments demandés. Vérifiez les paramètres à envoyer.
401 Unauthorized -- Votre clé API n'existe pas, est en pause ou a été rejetée par nos services.
403 Forbidden -- Vous n'avez pas accès à effectuer cette requête. Vérifiez que les paramètres sont corrects et que vous n'envoyez pas les paramètres d'un autre compte dont vous n'avez pas accès.
404 Not Found -- La requête API n'existe pas. Vous utilisez soit une ancienne requête dont l'endpoint a changé, ou l'URL demandée n'existe pas.
405 Method Not Allowed -- Vous essayez d'effectuer une requête sur notre API avec la mauvaise méthode. Vérifiez que la requête à effectuer est en méthode GET ou POST dans notre documentation.
406 Not Acceptable -- Vous avez fait une requête dont le format n'est pas acceptable. Vérifiez le format de votre requête.
410 Gone -- La requête effectuée pointe sur un élément qui n'existe pas ou qui n'a jamais existé. Vérifiez les paramètres entrés dans votre requête.
429 Too Many Requests -- Vous avez atteint la limite de requêtes de notre API. Une clé API peut effectuer au maximum 60 requêtes par minute afin d'éviter le spam.
500 Internal Server Error -- Un problème est survenue lors de l'exécution de la requête par notre système API.
503 Service Unavailable -- Une maintenance est actuellement en cours sur notre site ou notre API et affecte votre requête. Réessayez plus tard.