Cette documentation explique l'API vote, les endpoints publics et les bonnes pratiques pour integrer correctement ton serveur prive sans erreurs de suivi.
/api/v1/servers/<SERVER_TOKEN>/votes/<IP>
{ "hint": "Clique sur Tester…" }
firewall est injecté.
curl -s "/api/v1/servers/<SERVER_TOKEN>/votes/1.2.3.4"
{
"success": true,
"data": {
"username": null,
"voted_at": 1765755290,
"is_connected": true,
"is_subscriber": false,
"next_vote_seconds": 3803
}
}
{
"success": false,
"message": "Pas ou déjà voté",
"data": {
"username": null,
"voted_at": null,
"is_connected": false,
"is_subscriber": false,
"next_vote_seconds": 0
}
}
{"firewall":{"error":"...","reason":"adv_rate_limit","retryAfterSec":30,"ruleId":"ar_xxx"}}
curl -s "/api/v1/servers/<SERVER_TOKEN>/statistics"
{
"success": true,
"data": {
"server": { "id": 123, "slug": "mon-serveur", "name": "Mon Serveur" },
"rank": 7,
"votes_total": 1234,
"votes_month": 56,
"clicks_month": 789,
"reviews_total": 12,
"rating_avg": 4.6
}
}
curl -s "/api/v1/servers/<SERVER_TOKEN>/subscribers"
{
"success": true,
"data": [
{ "id":"sub_abc", "username":"player", "plan":"premium", "active":true, "visible":true, "createdAt":"2025-12-15T00:00:00.000Z" }
]
}
curl -s "/api/v1/servers/<SERVER_TOKEN>/voters"
{
"success": true,
"data": [
{ "username": "player", "ip": "1.2.*.*", "votes": 12 }
]
}