Перейти к содержанию

POST /v1/pdapi/give

Deprecated

Deprecated устаревшая конечная точка

Эта устаревшая конечная точка вознаграждения устарела. Предпочитайте конечные точки разделенного вознаграждения: дать прогресс, дать предметы, дать pals, дать pal шаблоны и дать Pal яйца.

Схема ответа

Response schema

This deprecated endpoint may not be present in current builds. When available, failures use the shared REST error envelope documented below; migrate to the split reward endpoints for endpoint-specific success behavior.

Реакции на ошибки

Эта конечная точка устарела и может отсутствовать в текущих сборках. Тела ошибок, если они доступны, используют тот же конверт ошибок REST, что и текущий API.

HTTP Код ошибки Когда это произойдет
401 INVALID_TOKEN Заголовок Authorization отсутствует, имеет неправильный формат или не соответствует настроенному токену носителя.
403 MISSING_PERMISSION Токен действителен, но не включает разрешение для этого устаревшего маршрута.
400 INVALID_JSON Текст запроса был предоставлен, но его не удалось проанализировать как JSON.
400 REQUEST_FAILED Операция вознаграждения прежних версий не удалась при проверке или применении запроса.
500 REQUEST_TIMEOUT Обратный вызов внутреннего игрового потока не завершился в течение 5 секунд.

Примеры

Предоставление опыта и предметов

POST /v1/pdapi/give
{
    "UserID": "steam_76561198012345678",
    "EXP": 25000,
    "Items": [
        { "ItemID": "Money", "Count": 10000 }
    ]
}

Грант Pals и яйца

POST /v1/pdapi/give
{
    "UserID": "ps5_0f4b8c2d91aa34ef",
    "Pals": [
        { "PalID": "Pengullet", "Level": 10 }
    ],
    "PalEggs": [
        { "EggID": "PalEgg_Fire_01", "PalID": "Foxparks", "Level": 12 }
    ]
}
POST /v1/pdapi/give — Предоставляет EXP/предметы/ pals/яйца (атомные)

POST /v1/pdapi/give

Что он делает

Предоставляет награды целевому игроку за одну операцию, похожую на транзакцию на стороне сервера:

  • ОПЫТ and/or
  • предметы and/or
  • pals and/or
  • яйца в зависимости от тела запроса.

Основное поведение

Эта конечная точка должна вести себя атомарно:

  • либо все предоставляется
  • или ничего не предоставляется

Если какая-либо часть дает сбой (неверный ввод, отсутствие места в инвентаре, неверные идентификаторы и т. д.), сервер должен отклонить запрос, а не применять его частично.

Почему это важно

Инструменты администратора не должны случайно:

  • давать EXP, но не предметы
  • дать некоторые предметы, но не выполнить последующие предметы
  • создать pals без размещения предметов

Атомарное поведение позволяет избежать запутанных состояний и «заявок в поддержку из ада».

Что он может дать

В зависимости от вашей реализации запрос может включать в себя:

  • EXP — добавляет опыта
  • Relics — добавляет точки реликвии, привязанные к типу реликвии.
  • TechnologyPoints — добавляет технические очки
  • AncientTechnologyPoints — добавляет очки древних технологий.
  • UnlockTechnology / Techs[] — изучить технологии
  • Items[] — указать один или несколько элементов со счетчиком
  • Pals[] — дать pals по ID + уровень
  • PalTemplates[] — импортировать шаблоны pal по имени файла.
  • PalEggs[] — яйца по ID + pal ID/шаблон, опционально с уровнем

Реакции на ошибки

Эта конечная точка устарела и может отсутствовать в текущих сборках. Если он доступен, ожидайте тот же конверт ошибки REST, который используется текущим API: INVALID_TOKEN (401) для неудачной аутентификации носителя и MISSING_PERMISSION (403), когда токен аутентифицирован, но ему не разрешено вызывать маршрут. Ошибки проверки запроса возвращаются как объекты ошибок JSON; перейти к конечным точкам с разделенным вознаграждением для кодов ошибок, специфичных для конечной точки.

Примеры

{
    "UserID": "steam_76561198012345678",
    "EXP": 25000,
    "Items": [
        { "ItemID": "Money", "Count": 10000 }
    ]
}
{
    "UserID": "steam_76561198012345678",
    "Pals": [
        { "PalID": "Pengullet", "Level": 10 }
    ],
    "PalEggs": [
        { "EggID": "PalEgg_Fire_01", "PalID": "Foxparks", "Level": 12 }
    ]
}

Проверка и распространенные случаи сбоев

Типичные причины, по которым администраторы сталкиваются с ошибками:

  • Место в инвентаре: недостаточно места для всех предметов → выполнить весь запрос не удалось.
  • Неверные идентификаторы: неизвестные ItemID, PalID, EggID или файл шаблона отсутствует → ошибка.
  • Неверные значения:
    • отрицательные/нулевые значения (в зависимости от правил)
    • недопустимые уровни (слишком low/high или нечисловые)
    • отсутствуют обязательные поля (например, нет UserID)
  • Плеер не найден/не загружен:
    • идентификатор пользователя не известен
    • игрок в данный момент не в сети (в зависимости от того, как ваш сервер обрабатывает автономные гранты)

Возврат

Количество ошибок и сообщения об ошибках. Если статус не 200, проверьте Errors, сколько ошибок произошло. Error содержит подробный список того, что не удалось.