API de vote
Vérifiez un vote récent par adresse IP ou pseudo pendant le délai de vote du serveur. Sans vote récent, l’API renvoie HTTP 404 avec success à false et le message User not voted. La recherche par pseudo ne prouve pas une identité et renvoie ipv4 et ipv6 à null.
| Endpoint | https://serveur-prive.net/api/v1/servers/{server_token}/votes/{identifier} |
| {server_token} | Indiquez le Token associé à votre serveur. Vous pouvez le trouver depuis l'onglet 'Paramètres' |
| {identifier} | Adresse IPv4, IPv6 ou pseudo de 3 à 32 caractères : lettres ASCII, chiffres, tiret, point ou underscore. Exemple : /votes/Trevor. Encodez la valeur dans l’URL. |
| ?type=username | Facultatif : force la recherche par pseudo si celui-ci ressemble à une IP. Exemple : /votes/1.2.3.4?type=username. Sans ce paramètre, une IP valide garde le comportement historique. |
Exemple de code
<?php
$server_token = "Token de votre serveur"; // Remplacez "TOKEN" par le token de votre serveur.
$identifier = "Trevor";
$query_url = "https://serveur-prive.net/api/v1/servers/$server_token/votes/" . rawurlencode($identifier);
$context = stream_context_create(["http" => ["ignore_errors" => true]]);
$json = file_get_contents($query_url, false, $context);
$json_data = json_decode($json);
if ($json_data->success) {
echo 'Vous avez bien voté';
// Vous pouvez utiliser les variables suivantes :
$datas = $json_data->data; // Cette variable contiendra les données JSON renvoyées par l'API.
$datas->username; // Pseudonyme de l'utilisateur
$datas->voted_at; // Correspond à la date du vote au format timestamp
$datas->is_connected; // Correspond à l'état de connexion de l'utilisateur
$datas->is_subscriber; // Correspond à l'état d'abonnement de l'utilisateur
$datas->next_vote_seconds; // Correspond au nombre de secondes restantes avant que l'utilisateur puisse à nouveau voter
} else {
echo 'Pas ou déjà voté';
}
?>
Exemple de réponse
{
"success": true,
"data": {
"username": "Trevor",
"ipv4": null,
"ipv6": null,
"voted_at": 1689241974,
"next_vote_seconds": 5395,
"is_connected": true,
"is_subscriber": false
}
}
API de statistiques
Vous permet de récupérer les données de votre serveur comme sa position, son nombre de votes etc.
| Endpoint | https://serveur-prive.net/api/v1/servers/{server_token}/statistics |
| {server_token} | Indiquez le Token associé à votre serveur. Vous pouvez le trouver depuis l'onglet 'Paramètres' |
Exemple de code
<?php
$server_token = "Token de votre serveur"; // Remplacez "TOKEN" par le token de votre serveur.
$json = file_get_contents("https://serveur-prive.net/api/v1/servers/$server_token/statistics");
$json_data = json_decode($json);
if ($json_data->success) {
echo 'Serveur trouvé';
// Vous pouvez utiliser les variables suivantes :
$datas = $json_data->data; // Cette variable contiendra les données JSON renvoyées par l'API.
$datas->position; // Correspond à la position du serveur dans le classement du mois
$datas->votes_count; // Correspond au nombre de votes du serveur
$datas->clicks_count; // Correspond au nombre de clics du serveur
$datas->comments_count; // Correspond au nombre de commentaires du serveur
$datas->rating; // Correspond à la note du serveur sur 5
} else {
echo 'Le Token spécifié est incorrect';
}
?>
Exemple de réponse
{
"success": true,
"data": {
"position": 12,
"votes_count": 1202,
"clicks_count": 287,
"comments_count": 7,
"rating": 5
}
}
API donateurs
Vous permet de récupérer les utilisateurs qui ont fait un don pour votre serveur depuis la page donation
| Endpoint | https://serveur-prive.net/api/v1/servers/{server_token}/donors |
| {server_token} | Indiquez le Token associé à votre serveur. Vous pouvez le trouver depuis l'onglet 'Paramètres' |
Exemple de code
<?php
$server_token = "Token de votre serveur"; // Remplacez "TOKEN" par le token de votre serveur.
$json = file_get_contents("https://serveur-prive.net/api/v1/servers/$server_token/donors");
$json_data = json_decode($json);
if ($json_data->success) {
echo 'Serveur trouvé';
// Vous pouvez utiliser les variables suivantes :
$datas = $json_data->data; // Cette variable contiendra les données JSON renvoyées par l'API.
foreach($datas as $data) {
$data->username; // Pseudonyme de l'utilisateur
$data->avatar; // Correspond à l'avatar du donateur ou de l'abonné
$data->amount; // Correspond au montant du don
$data->message; // Correspond au message du donateur
$data->currency; // Correspond à la devise du don
$data->created_at; // Correspond à la date du don au format timestamp
}
} else {
echo 'Le Token spécifié est incorrect';
}
?>
Exemple de réponse
{
"success": true,
"data": [{
"username": "Trevor",
"avatar": "url",
"amount": 10,
"message": "Message...",
"currency": "eur",
"created_at": 1689241974
}]
}
API abonnements
API pour récupérer les utilisateurs qui se sont abonnés à votre serveur depuis la page de vote
| Endpoint | https://serveur-prive.net/api/v1/servers/{server_token}/subscribers |
| {server_token} | Indiquez le Token associé à votre serveur. Vous pouvez le trouver depuis l'onglet 'Paramètres' |
Exemple de code
<?php
$server_token = "Token de votre serveur"; // Remplacez "TOKEN" par le token de votre serveur.
$json = file_get_contents("https://serveur-prive.net/api/v1/servers/$server_token/subscribers");
$json_data = json_decode($json);
if ($json_data->success) {
echo 'Serveur trouvé';
// Vous pouvez utiliser les variables suivantes :
$datas = $json_data->data; // Cette variable contiendra les données JSON renvoyées par l'API.
foreach($datas as $data) {
$data->username; // Pseudonyme de l'utilisateur
$data->avatar; // Correspond à l'avatar du donateur ou de l'abonné
$data->started_at; // Correspond à la date de début de l'abonnement au format timestamp
$data->ended_at; // Correspond à la date de fin de l'abonnement au format timestamp
}
} else {
echo 'Le Token spécifié est incorrect';
}
?>
Exemple de réponse
{
"success": true,
"data": [{
"username": "Trevor",
"avatar": "url",
"started_at": 1689241974,
"ended_at": 1689241974
}]
}
API Top voteurs
Vous permet de récupérer la liste des utilisateurs qui ont voté pour votre serveur au cours du mois
| Endpoint | https://serveur-prive.net/api/v1/servers/{server_token}/voters |
| {server_token} | Indiquez le Token associé à votre serveur. Vous pouvez le trouver depuis l'onglet 'Paramètres' |
Exemple de code
<?php
$server_token = "Token de votre serveur"; // Remplacez "TOKEN" par le token de votre serveur.
$json = file_get_contents("https://serveur-prive.net/api/v1/servers/$server_token/voters");
$json_data = json_decode($json);
if ($json_data->success) {
echo 'Serveur trouvé';
// Vous pouvez utiliser les variables suivantes :
$datas = $json_data->data; // Cette variable contiendra les données JSON renvoyées par l'API.
foreach($datas as $data) {
$data->username; // Pseudonyme de l'utilisateur
$data->position; // Correspond à la position du serveur dans le classement du mois
$data->votes; // Correspond au nombre de votes du joueur
$data->avatar; // Correspond à l'avatar du donateur ou de l'abonné
$data->subscribed; // Correspond au statut d'abonnement du joueur
$data->public_profile; // Correspond à l'URL de la page publique du joueur
}
} else {
echo 'Le Token spécifié est incorrect';
}
?>
Exemple de réponse
{
"success": true,
"data": [{
"username": "Trevor",
"position": 1,
"votes": 10,
"avatar": "url",
"subscribed": true,
"public_profile": "url",
}]
}
API OTP (One-Time Token)
L’API génère un code unique et temporaire valable 5 minutes qui authentifie chaque vote. Vous gardez ainsi un contrôle total sur les votants de votre page Serveur-Privé et aucun concurrent ne peut envoyer de votes artificiels sans passer par votre site et votre système de vérification.
| Endpoint | https://serveur-prive.net/api/v1/servers/{server_token}/otp |
| HTTP | GET |
| {server_token} | Indiquez le Token associé à votre serveur. Vous pouvez le trouver depuis l'onglet 'Paramètres' |
| Durée de validité | Le code retourné expire après 300 secondes (5 minutes). |
Exemple de code
<?php
$server_token = "Token de votre serveur"; // Remplacez "TOKEN" par le token de votre serveur.
$json = file_get_contents("https://serveur-prive.net/api/v1/servers/$server_token/otp");
if ($json === false) {
exit("Erreur d'appel API");
}
$data = json_decode($json);
if (!empty($data->success)) {
$otp = $data->data->token; // Exemple : Txg5tk32z6mX
echo "OTP généré : $otp\n";
echo "Lien de vote : https://serveur-prive.net/minecraft/{slug-du-serveur}/vote?token=$otp";
} else {
echo "Échec de génération de l'OTP";
}
?>
Exemple de réponse
{
"success": true,
"data": {
"token": "Txg5tk32z6mX",
"message": "The code has been generated successfully. It will be valid for 5 minutes."
}
}
API OTP → vérification par token
Vérifie l’état d’un OTP et indique s’il a été consommé par un vote valide. Utilisez ce point d’entrée après avoir redirigé l’utilisateur vers la page de vote avec le token.
| Endpoint | https://serveur-prive.net/api/v1/servers/{server_token}/votes/otp/{token} |
| HTTP | GET |
| {server_token} | Indiquez le Token associé à votre serveur. Vous pouvez le trouver depuis l'onglet 'Paramètres' |
| {token} | Le code OTP généré précédemment via l’API OTP. Il est à usage unique et a une durée de vie limitée. |
Exemple de code
<?php
$server_token = "Token de votre serveur";
$token = $_GET["token"] ?? ""; // Récupéré depuis votre flux applicatif
if ($token === "") {
exit("Token manquant");
}
$json = file_get_contents("https://serveur-prive.net/api/v1/servers/$server_token/votes/otp/$token");
if ($json === false) {
exit("Erreur d'appel API");
}
$json_data = json_decode($json);
if ($json_data->success) {
echo 'Vous avez bien voté';
// Vous pouvez utiliser les variables suivantes :
$datas = $json_data->data; // Cette variable contiendra les données JSON renvoyées par l'API.
$datas->username; // Pseudonyme de l'utilisateur
$datas->voted_at; // Correspond à la date du vote au format timestamp
$datas->is_connected; // Correspond à l'état de connexion de l'utilisateur
$datas->is_subscriber; // Correspond à l'état d'abonnement de l'utilisateur
$datas->next_vote_seconds; // Correspond au nombre de secondes restantes avant que l'utilisateur puisse à nouveau voter
} else {
echo 'Pas ou déjà voté';
}
?>
Exemple de réponse
{
"success": true,
"data": {
"username": "Trevor",
"voted_at": 1689241974,
"next_vote_seconds": 5395,
"is_connected": true,
"is_subscriber": false
}
}
