Важливе повідомлення: Кінець місяця наближається - голоси скоро будуть скинуті!

API для розробників та власників серверів
Офіційне API та система Webhooks для інтеграції з вашим сервером

Автоматизуйте свій проєкт

Наш інструментарій створений для розробників та власників великих серверів. Ви можете налаштувати автоматичну видачу нагород за голоси, виводити топи гравців на вашому сайті автодонату, керувати сторінкою сервера або перевіряти IP-адреси гравців на використання VPN чи ботнетів.

Webhooks
Сучасна альтернатива Votifier. Отримуйте миттєві HTTP-сповіщення на ваш сайт, коли гравець голосує. Підтримує реферальні мітки та гарантовану доставку.
Налаштувати Webhooks
B2B API
Інтегруйте моніторинг у свою панель керування. Автоматично публікуйте анонси вайпів, відповідайте на відгуки та витягуйте "Топ голосуючих місяця".
Переглянути методи
IP Reputation
Захистіть свій сервер від накрутчиків. Використовуйте нашу величезну базу даних для перевірки репутації IP-адреси при вході гравця на сервер.
Як це працює?
Аутентифікація: Для доступу до Приватних та B2B методів потрібен API-ключ. Передавайте його в заголовку запиту:
Authorization: Bearer ВАШ_API_КЛЮЧ

Ключ можна згенерувати у Налаштуваннях профілю.

Обробка помилок

API використовує стандартні HTTP-коди для повідомлення про результат запиту: 200 OK, 400 Bad Request, 401 Unauthorized, 404 Not Found.

{
  "success": false,
  "error": "Неправильний API ключ або сервер не знайдено."
}

Приклади використання

Публічний запит (отримання даних сервера ID 123):

<?php
$ch = curl_init("https://mcua.top/api/v1/server/123");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
?>

Приватний запит (отримання вашої статистики):

<?php
$apiKey = "ВАШ_API_КЛЮЧ";
$ch = curl_init("https://mcua.top/api/v1/my-stats");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer " . $apiKey
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
?>

Публічний запит (отримання даних сервера ID 123):

import requests

response = requests.get("https://mcua.top/api/v1/server/123")
data = response.json()
print(data)

Приватний запит (отримання вашої статистики):

import requests

api_key = "ВАШ_API_КЛЮЧ"
headers = {
    "Authorization": f"Bearer {api_key}"
}
response = requests.get("https://mcua.top/api/v1/my-stats", headers=headers)
data = response.json()
print(data)

Публічний запит (отримання даних сервера ID 123):

fetch("https://mcua.top/api/v1/server/123")
    .then(response => response.json())
    .then(data => console.log(data));

Приватний запит (отримання вашої статистики):

const apiKey = "ВАШ_API_КЛЮЧ";

fetch("https://mcua.top/api/v1/my-stats", {
    headers: {
        "Authorization": `Bearer ${apiKey}`
    }
})
.then(response => response.json())
.then(data => console.log(data));

Публічний запит (отримання даних сервера ID 123):

curl "https://mcua.top/api/v1/server/123"

Публічний запит з параметрами (топ 3 Bedrock серверів):

curl "https://mcua.top/api/v1/top?limit=3&type=bedrock"

Приватний запит (отримання вашої статистики):

curl -H "Authorization: Bearer ВАШ_API_КЛЮЧ" "https://mcua.top/api/v1/my-stats"

Система Webhooks
Надійна доставка подій на ваш сервер

Чому Webhooks кращі за Votifier?
  • Система Retries (Повторні спроби): Якщо ваш сайт впав, ми не видалимо голос. Система спробує відправити запит повторно через 1, 5, 15 та 60 хвилин.
  • Реферальна система (?ref=): Додайте до посилання на ваш сервер параметр ?ref=youtube_promo. Webhook передасть цю мітку вам, щоб ви могли видавати унікальні кейси за промо-акції.
  • Таймери (Cooldowns): Ми передаємо точний час наступного голосування (next_vote_at), щоб ваш Discord-бот міг пінгувати гравців: "Пройшло 24 години, час голосувати!".
POST На ваш Endpoint URL Подія: vote.created Голосування за сервер

Цей запит надсилається на URL, який ви вкажете в налаштуваннях редагування вашого сервера.

Заголовки (Headers), які ми надсилаємо:
Content-Type: application/json
X-MCUA-Event: vote.created
X-MCUA-Signature: a1b2c3d... (HMAC підпис)
User-Agent: MCUA-Webhook-Bot/1.0
Тіло запиту (Body):
{
  "event": "vote.created",
  "server_id": 123,
  "voter": {
    "username": "Notch",
    "user_id": 456,
    "ip": "192.168.1.1"
  },
  "metadata": {
    "ref": "youtube_promo",
    "cooldown_seconds": 86400,
    "next_vote_at": "2025-10-25T15:00:00+03:00"
  },
  "timestamp": "2025-10-24T15:00:00+03:00"
}
POST На ваш Endpoint URL Подія: server.offline Сервер перейшов в офлайн

Цей запит надсилається один раз, коли наш моніторинг не може підключитися до вашого сервера (наприклад: Connection timeout, Connection refused).

Заголовки (Headers), які ми надсилаємо:
Content-Type: application/json
X-MCUA-Event: server.offline
X-MCUA-Signature: a1b2c3d... (HMAC підпис)
User-Agent: MCUA-Webhook-Bot/1.0
Тіло запиту (Body):
{
  "event": "server.offline",
  "server_id": 123,
  "timestamp": "2025-10-24T14:00:00+03:00",
  "data": {
    "message": "Connection timeout or connection refused.",
    "offline_since": "2025-10-24T14:00:00+03:00"
  }
}
POST На ваш Endpoint URL Подія: server.online Сервер відновив роботу

Цей запит надсилається один раз у момент, коли наш моніторинг фіксує, що ваш сервер успішно увімкнувся після падіння (офлайну).

Заголовки (Headers), які ми надсилаємо:
Content-Type: application/json
X-MCUA-Event: server.online
X-MCUA-Signature: a1b2c3d... (HMAC підпис)
User-Agent: MCUA-Webhook-Bot/1.0
Тіло запиту (Body):
{
  "event": "server.online",
  "server_id": 123,
  "timestamp": "2025-10-24T15:10:00+03:00",
  "data": {
    "message": "Server is back online.",
    "players_online": 45,
    "players_max": 100,
    "online_since": "2025-10-24T15:10:00+03:00"
  }
}

Як перевірити підпис (Безпека)

Щоб ніхто не міг підробити запит і "накрутити" нагороди на вашому сервері, ми підписуємо тіло запиту вашим Секретним Токеном (з налаштувань сервера) за алгоритмом HMAC SHA-256.

<?php
// 1. Отримайте секретний токен з налаштувань вашого сервера на MCUA
$secret = 'ВАШ_СЕКРЕТНИЙ_ТОКЕН';

// 2. Отримайте сире тіло запиту та заголовок підпису і типу події
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_MCUA_SIGNATURE'] ?? '';
$event_type = $_SERVER['HTTP_X_MCUA_EVENT'] ?? '';

// 3. Згенеруйте власний хеш
$expected = hash_hmac('sha256', $payload, $secret);

// 4. Порівняйте та виконайте дію залежно від типу події
if (hash_equals($expected, $signature)) {
    $data = json_decode($payload, true);
    
    if ($event_type === 'vote.created') {
        $username = $data['voter']['username'];
        // Видати нагороду $username
    } 
    elseif ($event_type === 'server.offline') {
        // Відправити сповіщення адмінам в Discord, що сервер впав
    }
    elseif ($event_type === 'server.online') {
        // Зняти тривогу, сервер піднявся
    }
    
    http_response_code(200);
    echo "OK";
} else {
    http_response_code(403);
    echo "Invalid Signature";
}
?>

Публічне API
Загальнодоступна інформація без авторизації

GET /api/v1/server/{id}

Отримати публічну інформацію про конкретний сервер.

{
  "success": true,
  "server": {
    "id": 123,
    "name": "Мій Крутий Сервер",
    "address": "play.example.com:25565",
    "is_online": true,
    "players": { "online": 57, "max": 100 },
    "version": "1.20.1",
    "types": ["Виживання", "PvP"],
    "platform": "java",
    "rank": 5,
    "votes": {"current_month": 1234, "all_time": 5000},
    "uptime": 99.8
  }
}
GET /api/v1/top

Отримати список топ серверів.

Параметри запиту: limit (макс. 50, за замовчуванням 10), type ('java' або 'bedrock', за замовчуванням 'java').

GET https://mcua.top/api/v1/top?limit=3&type=bedrock

B2B API та Приватні методи
Глибока інтеграція з вашим сайтом та адмін-панеллю

GET /api/v1/my-stats Потрібен API-ключ власника

Отримати розширену інформацію та статистику для всіх ваших серверів (перегляди, копіювання IP, аптайм).

{
  "success": true,
  "my_servers": [
    {
      "id": 123,
      "name": "Мій Крутий Сервер",
      "address": "play.example.com:25565",
      "is_online": true,
      "players": { "online": 57, "max": 100 },
      "rank": 5,
      "stats": {
        "votes_month": 1234,
        "votes_all_time": 8567,
        "views": 2500,
        "ip_copies": 800,
        "comments": 45,
        "favorites": 120,
        "uptime_percent": 99.8
      }
    }
  ]
}
GET /api/v1/server/{id}/votes Потрібен API-ключ власника

Ідеально для автодонату! Отримайте ТОП-10 гравців, які проголосували за ваш сервер у поточному та минулому місяці. Ви можете написати скрипт на своєму сайті, який автоматично видаватиме донат-валюту найкращим голосуючим 1-го числа кожного місяця.

{
  "success": true,
  "server_id": 123,
  "votes_data": {
    "current_month_top": [
      {"username": "Notch", "vote_count": 25},
      {"username": "Jeb", "vote_count": 22}
    ],
    "previous_month_top": [
      {"username": "Hero", "vote_count": 31}
    ],
    "recent_votes": [
      {"username": "Notch", "date": "2025-10-24 15:00:00"}
    ]
  }
}
POST /api/v1/server/{id}/wipe Потрібен API-ключ власника

Дозволяє автоматично додати анонс "Вайпу" у Календар подій прямо з вашого сервера (наприклад, через плагін чи RCON).

Body (JSON):

{
  "title": "Глобальний вайп серверу Survival!",
  "start_time": "2025-11-01 18:00:00"
}
POST /api/v1/reviews/{id}/reply Потрібен API-ключ власника

Якщо у вашого проєкту є власна адмін-панель (CRM), ви можете відповідати на відгуки гравців через API. Відповідь отримає статус "Офіційна відповідь власника".

Body (JSON):

{
  "reply_text": "Дякуємо за відгук! Ми вже виправили цей баг."
}

IP Reputation (Anti-Bot)
Захистіть свій сервер від накрутчиків

GET /api/v1/ip-reputation/{ip_address}

Ми обробляємо тисячі підключень щодня. Ми знаємо, які IP-адреси використовуються для накрутки голосів або реєстрації ботів.

Ви можете перевіряти IP гравця при підключенні до вашого сервера (наприклад, через AuthMe чи плагін безпеки). Якщо статус suspicious, ви можете вимагати від гравця пройти капчу або заборонити вхід з VPN.

{
  "success": true,
  "ip": "192.168.1.1",
  "reputation": {
    "status": "suspicious",
    "risk_score": 50,
    "details": "Multiple accounts/votes detected from this IP."
  }
}
279
Серверів
225
Java
54
Bedrock
149
Гравці
382
Реєстрації
0 / 10
Активність
Додати MCUA на телефон?

Швидкий доступ до серверів

Смарагд
Скарбничка
Ви отримали смарагди!