Keys

Gerar keys

Gera keys de um produto e desconta do seu saldo.

POST/keys

Permissão do token: Gerar keys keys:generategasta créditos

Cobra o preço da duração escolhida vezes a quantidade. Sem saldo suficiente, nada é gerado nem cobrado.

Idempotency-Key obrigatória

Toda chamada leva o cabeçalho Idempotency-Key, um código único por pedido. Repetindo com o mesmo código, você recebe as mesmas keys sem pagar de novo. Por quê?

Cabeçalhos

CabeçalhoObrigatórioDescrição
Idempotency-KeySimUm código único por pedido (um UUID serve). Até 100 caracteres: letras, números e _ - : .
Content-TypeSimapplication/json

Corpo (JSON)

CampoTipoObrigatórioDescrição
product_idnúmeroSimO produto, da lista de produtos.
quantitynúmeroSimQuantas keys gerar, de 1 a 50.
daysnúmeroNãoA duração, entre os plans do produto. Sem ele, 30 dias. Se o produto não tiver plano de 30 dias, days é obrigatório.

O preço é sempre calculado do nosso lado, pela duração e pela quantidade. Qualquer outro campo no corpo é ignorado.

Resposta

CampoO que é
generation_idO id deste lote. Aparece no extrato como reference_id.
keys[].key_codeA key para entregar ao cliente.
keys[].user_idO id da key na API (para consultar e resetar HWID).
daysA duração das keys geradas.
credits_spentQuanto foi cobrado no total.
balanceO seu saldo depois da cobrança.

Repetição do mesmo pedido

Repetindo com a mesma Idempotency-Key e o mesmo corpo, a resposta traz as mesmas keys e não cobra de novo. Ela vem com "idempotent_replay": true em data e o cabeçalho Idempotent-Replayed: true.

Erros

HTTPQuandoO que fazer
402Saldo insuficiente. Nada foi gerado nem cobrado.errors.balance traz o seu saldo. Compre créditos e tente de novo.
403O token não tem a permissão Gerar keys.Crie um token com ela.
409A Idempotency-Key já foi usada num pedido diferente, ou o primeiro pedido ainda está rodando.Pedido novo: use um código novo. Mesmo pedido: espere alguns segundos e repita.
422Dados inválidos, Idempotency-Key ausente ou fora do formato, produto indisponível, ou duração que o produto não tem.A message diz o que corrigir. Duração errada traz as opções em errors.days.
429Passou do limite.Espere os segundos de Retry-After e tente de novo.
500Falha do nosso lado ao gerar.Os créditos voltam para o saldo (errors.credits_refunded diz quanto). Repita com a mesma Idempotency-Key. Se a mensagem falar em estorno parcial, ou se continuar falhando, fale com o suporte.