API Документация
Интеграция с API для получения статистики голосований
Получение API ключа
Для работы с API необходимо получить персональный API ключ:
- Войдите в свой аккаунт
- Перейдите в раздел API Ключ в личном кабинете
- Нажмите "Создать API ключ"
- Скопируйте и сохраните ключ в безопасном месте
Важно!
Храните API ключ в безопасности. Не передавайте его третьим лицам и не публикуйте в открытом доступе.
Получение статистики голосований
Эндпоинт
GET /api/v1/votes/public/statsПараметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
api_key | string | Да | Ваш API ключ |
server_id | UUID | Нет | ID сервера для фильтрации |
Пример запроса
curl "https://mmo-world.com/api/v1/votes/public/stats?api_key=YOUR_API_KEY"Пример ответа
{
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"username": "admin",
"servers": [
{
"server_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"server_name": "My Server",
"votes_count": 150,
"votes_today": 5,
"votes_this_month": 45,
"vote_file_hash": "abc123def456...",
"vote_file_url": "/api/v1/votes/public/files/abc123def456...",
"votes": [
{
"id": 1,
"voted_at": "14.01.2026 23:45:30",
"ip_address": "192.168.1.2",
"login": "Gamer456",
"votes_count": 1
},
{
"id": 2,
"voted_at": "14.01.2026 23:22:12",
"ip_address": "192.168.1.1",
"login": "Player123",
"votes_count": 1
}
]
}
],
"total_votes": 150
}Примечание: Массив votes содержит детальную информацию о каждом голосе за текущий месяц (дата, IP, ник игрока).
Получение файла голосований
Эндпоинт
GET /api/v1/votes/public/files/{file_hash}Описание
Возвращает текстовый файл со списком голосований за текущий месяц. Хеш файла можно получить из ответа эндпоинта статистики или в личном кабинете.
Пример запроса
curl "https://mmo-world.com/api/v1/votes/public/files/abc123def456..."Формат ответа
Текстовый файл с разделителем табуляция. Каждая строка содержит:
ID Дата IP Ник Голосов 1 14.01.2026 23:22:12 192.168.1.1 Player123 1 2 14.01.2026 23:45:30 192.168.1.2 Gamer456 1
Примеры интеграции
PHP
<?php
$apiKey = 'YOUR_API_KEY';
$url = "https://mmo-world.com/api/v1/votes/public/stats?api_key=" . $apiKey;
$response = file_get_contents($url);
$data = json_decode($response, true);
foreach ($data['servers'] as $server) {
echo "Сервер: " . $server['server_name'] . "\n";
echo "Голосов сегодня: " . $server['votes_today'] . "\n";
echo "Голосов за месяц: " . $server['votes_this_month'] . "\n";
}
?>Python
import requests
api_key = 'YOUR_API_KEY'
url = f'https://mmo-world.com/api/v1/votes/public/stats?api_key={api_key}'
response = requests.get(url)
data = response.json()
for server in data['servers']:
print(f"Сервер: {server['server_name']}")
print(f"Голосов сегодня: {server['votes_today']}")
print(f"Голосов за месяц: {server['votes_this_month']}")JavaScript (Node.js)
const apiKey = 'YOUR_API_KEY';
const url = `https://mmo-world.com/api/v1/votes/public/stats?api_key=${apiKey}`;
fetch(url)
.then(res => res.json())
.then(data => {
data.servers.forEach(server => {
console.log(`Сервер: ${server.server_name}`);
console.log(`Голосов сегодня: ${server.votes_today}`);
console.log(`Голосов за месяц: ${server.votes_this_month}`);
});
});Коды ошибок
| Код | Описание |
|---|---|
401 | Неверный API ключ |
400 | Неверный формат server_id |
404 | Сервер не найден или не принадлежит вам |
500 | Внутренняя ошибка сервера |