Готовые типы заданий для партнёров
Ниже перечислены основные типы партнёрских заданий и точные условия их проверки в ответе API.
Зайти в игру / Запустить бота
Пользователь запустил бота или открыл Mini App и зарегистрирован в игре.
Пройти обучение
Игрок полностью прошёл вступительный туториал и готов к полноценному геймплею.
Сыграть в бой
Игрок провёл хотя бы один PvP-бой на арене против другого игрока или бота.
Апнуть 2-ю лигу (Bronze)
Игрок набрал опыт и перешёл из Iron (1-я лига) в Bronze (2-я лига) или выше.
Победа в PvP
Игрок одержал хотя бы одну чистую победу на PvP-арене.
Заходить N дней
Количество уникальных дней захода игрока в Pixel Wars.
Проверка пользователя
Эндпоинт возвращает статус регистрации игрока, завершение обучения, статистику PvP боёв, текущую лигу и объект готовности заданий.
Публичный метод, не требующий авторизации. Возвращает информацию по игроку по его Telegram User ID.
Форматы вызова:
GET https://api.pxlw.online/api/users/check/{user_id}(рекомендуемый путь)GET https://api.pxlw.online/api/users/check?telegram_id={id}(query-параметр)GET https://api.pxlw.online/api/users/check?user_id={id}&task=reach_league_2(с проверкой конкретного таска)POST https://api.pxlw.online/api/users/checkс телом{"telegram_id": 123456789}
Параметры запроса
| Параметр | Расположение | Тип | Описание |
|---|---|---|---|
| user_id | Path / Query | integer | Telegram ID игрока (положительное 64-битное число). Обязательный. |
| task опционально | Query | string |
Код задания для мгновенной проверки. Значения: login, tutorial, play_fight, reach_league_2, win_fight.
В ответе вернётся поле task_completed: true/false.
|
Поля ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
| ok | boolean | Успешность выполнения запроса к API (всегда true при 200 OK). |
| joined / exists | boolean | true, если пользователь зарегистрирован в Pixel Wars; false, если ещё не запускал игру. |
| telegram_id | integer | Telegram ID запрошенного пользователя. |
| username | string | null | Юзернейм в Telegram (без символа @). |
| first_name | string | null | Имя пользователя в Telegram. |
| tutorial_completed | boolean | true, если игрок завершил стартовое обучение (туториал). |
| has_played_fight | boolean | true, если игрок провёл хотя бы 1 бой на PvP арене. |
| fights_count | integer | Общее число сыгранных боёв на арене (победы + поражения). |
| pvp_wins | integer | Количество побед игрока на арене. |
| league_name | string | null | Название текущей лиги игрока ("Iron", "Bronze", "Silver", "Gold", ...). |
| league_level | integer | Порядковый номер лиги от 1 (1 = Iron, 2 = Bronze, 3 = Silver, ...). |
| reached_league_2 | boolean | true, если игрок достиг 2-й лиги (Bronze) или выше. |
| active_days_count | integer | Количество дней активности пользователя в игре. |
| tasks | object | Сводный объект статусов: login, tutorial, play_fight, win_fight, reach_league_2. |
| task_completed | boolean | null | Булев результат, если в запросе был передан параметр ?task=.... |
| is_blocked | boolean | Заблокирован ли аккаунт модерацией. |
| created_at | string | null | Дата и время первой регистрации аккаунта в формате ISO 8601 UTC. |
Примеры ответов
{
"ok": true,
"joined": true,
"exists": true,
"telegram_id": 123456789,
"username": "nickname",
"first_name": "Alexander",
"tutorial_completed": true,
"is_blocked": false,
"created_at": "2026-08-15T10:30:00+00:00",
"fights_count": 5,
"has_played_fight": true,
"pvp_wins": 3,
"league_name": "Bronze",
"league_level": 2,
"reached_league_2": true,
"active_days_count": 4,
"tasks": {
"login": true,
"tutorial": true,
"play_fight": true,
"win_fight": true,
"reach_league_2": true
},
"task_completed": null
}
{
"ok": true,
"joined": false,
"exists": false,
"telegram_id": 123456789,
"username": null,
"first_name": null,
"tutorial_completed": false,
"is_blocked": false,
"created_at": null,
"fights_count": 0,
"has_played_fight": false,
"pvp_wins": 0,
"league_name": null,
"league_level": 0,
"reached_league_2": false,
"active_days_count": 0,
"tasks": {
"login": false,
"tutorial": false,
"play_fight": false,
"win_fight": false,
"reach_league_2": false
},
"task_completed": null
}
{
"detail": "Invalid telegram_id. Must be a positive integer."
}
Интерактивный тестер API
Проверьте живой ответ сервера прямо в браузере. Введите любой Telegram ID.
Примеры кода
Готовые сниппеты для популярных языков программирования.
curl -s "https://api.pxlw.online/api/users/check/123456789"