Тарифы и ключи
Standard: 1 ключ только для чтения. Pro: до 5 ключей, которые умеют и записывать (белый список, список приоритета, кик, сообщение, баны), плюс подписанные вебхуки. Community: неограниченное число ключей, поиск игроков и таблицы лидеров, более высокие лимиты. На Free ключей нет.
- Откройте «API» и выберите «Новый токен».
- Назовите его, выберите чтение или запись и, при желании, ограничьте его некоторыми серверами или датой окончания.
- Скопируйте токен: он показывается один раз.
Запросы и лимиты
JSON по HTTPS на https://dayzhub.cloud/api/v1/console с заголовком Authorization: Bearer и вашим токеном. У каждого ключа свой лимит запросов в минуту и в сутки (Standard 30 и 3000, Pro 120 и 30000, Community 300 и 150000). IP-адресов игроков и GUID BattlEye в нём никогда нет.
Страница «API» показывает точный базовый URL, а машиночитаемое описание OpenAPI доступно публично по адресу /api/v1/console/openapi.json.
Подписанные вебхуки (Pro)
Ваша собственная конечная точка получает входы, выходы, убийства, баны, статус сервера, жалобы и оповещения в виде подписанного JSON, с повторными попытками и журналом доставок. Добавьте конечную точку на странице «API» и скопируйте её секрет (whsec_...).
Проверка подписи
- Прочитайте заголовки X-DHC-Timestamp и X-DHC-Signature: подпись выглядит как t=1760000000,v1=abc.
- Вычислите HMAC-SHA256 от временной метки, точки и точного исходного тела запроса с секретом вашей конечной точки в виде шестнадцатеричной строки в нижнем регистре.
- Сравните её с каждым значением v1 сравнением за постоянное время.
- Отклоняйте доставку, если временная метка отличается от ваших часов больше чем на 5 минут, и игнорируйте id события, который вы уже обработали.
Полезно знать: Используйте исходные байты тела до любого разбора JSON. Примеры для Node, Python, curl и PowerShell есть в справочнике по API.