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
Classement mensuel par pseudo de vote : le pseudo renseigné est utilisé, ou celui du compte connecté si aucun pseudo n’est précisé. Un vote sans compte et sans pseudo ne figure pas au classement. Pour un pseudo sans compte SP correspondant, avatar et public_profile valent null et subscribed vaut false.
| 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"
}, {
"username": "GuestPlayer",
"position": 2,
"votes": 5,
"avatar": null,
"subscribed": false,
"public_profile": null
}]
}
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
}
}
