Planos e chaves
Standard: 1 chave só de leitura. Pro: até 5 chaves que também escrevem (whitelist, lista de prioridade, expulsar, mensagem, bans), mais webhooks assinados. Community: chaves ilimitadas, pesquisa de jogadores e tabelas de classificação, limites mais altos. O Free não tem chaves.
- Abre API e escolhe Novo token.
- Dá-lhe um nome, escolhe leitura ou escrita e, se quiseres, limita-o a alguns servidores ou a uma data de fim.
- Copia o token: é mostrado uma só vez.
Pedidos e limites
JSON por HTTPS em https://dayzhub.cloud/api/v1/console, com Authorization: Bearer e o teu token. Cada chave tem o seu próprio limite por minuto e por dia (Standard 30 e 3000, Pro 120 e 30000, Community 300 e 150000). Os IPs dos jogadores e os GUIDs da BattlEye nunca estão nela.
A página da API mostra o teu URL base exato, e a descrição OpenAPI legível por máquinas é pública em /api/v1/console/openapi.json.
Webhooks assinados (Pro)
O teu próprio endpoint recebe entradas, saídas, kills, bans, estado do servidor, denúncias e alertas como JSON assinado, com novas tentativas e um registo de entregas. Adiciona um endpoint na página da API e copia o seu segredo (whsec_...).
Verifica a assinatura
- Lê os cabeçalhos X-DHC-Timestamp e X-DHC-Signature: a assinatura tem este aspeto t=1760000000,v1=abc.
- Calcula o HMAC-SHA256 do timestamp, de um ponto e do corpo bruto exato do pedido, com o segredo do teu endpoint, em hexadecimal minúsculo.
- Compara-o com cada valor v1 com uma comparação em tempo constante.
- Recusa a entrega quando o timestamp estiver a mais de 5 minutos do teu relógio e ignora um id de evento que já tenhas tratado.
Bom saber: Usa os bytes brutos do corpo, antes de qualquer análise de JSON. Há exemplos para Node, Python, curl e PowerShell na referência da API.