Offres et clés
Standard : 1 clé en lecture seule. Pro : jusqu'à 5 clés qui peuvent aussi écrire (liste blanche, liste de priorité, expulsion, message, bans), plus des webhooks signés. Community : clés illimitées, recherche de joueurs et classements, limites plus élevées. Free n'a pas de clés.
- Ouvrez API et choisissez Nouveau jeton.
- Nommez-le, choisissez lecture ou écriture et, si vous voulez, limitez-le à certains serveurs ou à une date de fin.
- Copiez le jeton : il n'est affiché qu'une fois.
Appels et limites
JSON en HTTPS sur https://dayzhub.cloud/api/v1/console, avec Authorization: Bearer et votre jeton. Chaque clé a sa propre limite de débit par minute et par jour (Standard 30 et 3000, Pro 120 et 30000, Community 300 et 150000). Les IP des joueurs et les GUID BattlEye n'y figurent jamais.
La page API affiche votre URL de base exacte, et la description OpenAPI lisible par machine est publique sur /api/v1/console/openapi.json.
Webhooks signés (Pro)
Votre propre endpoint reçoit les connexions, départs, kills, bans, états du serveur, signalements et alertes sous forme de JSON signé, avec des nouvelles tentatives et un journal des envois. Ajoutez un endpoint sur la page API et copiez son secret (whsec_...).
Vérifier la signature
- Lisez les en-têtes X-DHC-Timestamp et X-DHC-Signature : la signature ressemble à t=1760000000,v1=abc.
- Calculez le HMAC-SHA256 de l'horodatage, d'un point et du corps brut exact de la requête, avec le secret de votre endpoint, en hexadécimal minuscule.
- Comparez-le à chaque valeur v1 avec une comparaison à temps constant.
- Refusez l'envoi quand l'horodatage s'écarte de plus de 5 minutes de votre horloge, et ignorez un identifiant d'événement déjà traité.
Bon à savoir : Utilisez les octets bruts du corps, avant tout décodage JSON. Des exemples pour Node, Python, curl et PowerShell se trouvent dans la référence de l'API.