REST API v1.060 req/min por tokenChaves pós-pagas

Referência da API REST

Integre sua loja ou aplicação diretamente aos servidores da Cubyc. Emita chaves Steam sob demanda com débito apenas após a ativação, consulte o catálogo em tempo real e sincronize pedidos automaticamente.

Base URL de produção
https://cubyc.com.br/api/v1
Gerenciar chaves API

Autenticação & cabeçalhos HTTP

Padronização de segurança em todas as rotas privadas

Bearer token

Todas as requisições autenticadas exigem o envio da sua chave secreta da API no cabeçalho Authorization utilizando o esquema Bearer. As chaves sempre iniciam com o prefixo cy_live_.

Cabeçalhos HTTP
Authorization: Bearer cy_live_SEU_TOKEN
Content-Type: application/json
POST/api/v1/generate
Bearer60 req/minPós-Pago

1. Emissão de Chaves Steam sob Demanda

Emite chaves Steam de forma instantânea para entrega imediata ao cliente final. O modelo é 100% pós-pago: o débito no saldo do revendedor ocorre somente quando o jogador ativar a chave na Steam.

O lote é dividido igualmente entre os jogos informados, exceto quando 'isCombo' for true (gerando chaves que ativam todos os jogos da lista).

Corpo da requisição (JSON)
CampoTipoObrigatórioPadrãoDescrição
gamesstring[]SIM—Array contendo AppIDs da Steam (ex: ["730", "1091500"]) ou nomes dos jogos. O AppID é o identificador mais rápido e confiável.
quantitynumberSIM—Quantidade total de chaves do lote (de 1 até o limite por lote contratado no plano do revendedor).
isCombobooleanNÃOfalseSe 'true', cada chave gerada liberará a lista completa de jogos juntos na Steam, em vez de distribuir a quantidade entre eles.
Exemplo de requisição
cURL
curl -X POST https://cubyc.com.br/api/v1/generate \
  -H "Authorization: Bearer cy_live_SEU_TOKEN_AQUI" \
  -H "Content-Type: application/json" \
  -d '{
    "games": ["730"],
    "quantity": 1,
    "isCombo": false
  }'
Respostas da API
Status: 200 OK
{
  "success": true,
  "message": "Chaves geradas com sucesso",
  "batchId": "batch_981a2e7c4f",
  "keys": {
    "730": [
      "CY-730-8K2A-9M4L-1P0X"
    ]
  },
  "totalGenerated": 1,
  "isCombo": false
}
GET/api/v1/catalog
Bearer60 req/min

3. Catálogo Completo & Metadados

Retorna o total consolidado de jogos da plataforma, contagem de títulos disponíveis e metadados globais.

Exemplo de requisição
cURL
curl -X GET https://cubyc.com.br/api/v1/catalog \
  -H "Authorization: Bearer cy_live_SEU_TOKEN_AQUI"
Respostas da API
Status: 200 OK
{
  "success": true,
  "totalGames": 4200,
  "updatedAt": "2026-09-20T16:00:00.000Z",
  "status": "ready"
}
GET/api/v1/keys/:code
Bearer60 req/min

4. Status do Ciclo de Vida da Chave

Consulta o status atual de uma chave emitida pela Cubyc (Pendente, Ativada ou Revogada), com timestamp de ativação e dados de auditoria.

Parâmetros de rota
CampoTipoObrigatórioDescrição
codestringSIMCódigo da chave emitida pela Cubyc (ex: 'CY-730-8K2A-9M4L-1P0X').
Exemplo de requisição
cURL
curl -X GET https://cubyc.com.br/api/v1/keys/CY-730-8K2A-9M4L-1P0X \
  -H "Authorization: Bearer cy_live_SEU_TOKEN_AQUI"
Respostas da API
Status: 200 OK (Ativada)
{
  "success": true,
  "key": {
    "code": "CY-730-8K2A-9M4L-1P0X",
    "gameName": "Counter-Strike 2",
    "appid": "730",
    "status": "Ativada",
    "createdAt": "2026-08-20T10:00:00.000Z",
    "activatedAt": "2026-08-21T14:32:10.000Z"
  }
}
GET/api/v1/balance
Bearer60 req/min

5. Consulta de Saldo & Custos de Ativação

Obtém o saldo atual da carteira Cubyc em Reais (BRL), o custo unitário cobrado por ativação de chave de acordo com o plano do revendedor e o nível de suporte.

Exemplo de requisição
cURL
curl -X GET https://cubyc.com.br/api/v1/balance \
  -H "Authorization: Bearer cy_live_SEU_TOKEN_AQUI"
Respostas da API
Status: 200 OK
{
  "success": true,
  "balance": 250.00,
  "currency": "BRL",
  "plan": {
    "name": "Pro Revendedor",
    "keyPrice": 0.50,
    "supportLevel": "Prioritário"
  }
}
GET/api/v1/account
Bearer60 req/min

6. Dados da Conta & Limites Operacionais

Retorna as informações cadastrais da loja, limites máximos de chaves por lote, data de expiração do plano e permissões ativas.

Exemplo de requisição
cURL
curl -X GET https://cubyc.com.br/api/v1/account \
  -H "Authorization: Bearer cy_live_SEU_TOKEN_AQUI"
Respostas da API
Status: 200 OK
{
  "success": true,
  "reseller": {
    "storeName": "Atlas Keys",
    "plan": "PRO",
    "batchLimit": 50,
    "expiration": "2026-10-15T00:00:00.000Z",
    "canGenKeys": true,
    "activeIntegrations": ["CENTRALCART", "SHARPIFY"]
  }
}
POST/api/v1/sync/:platform/:externalProductId/:appid
Bearer60 req/min

7. Sincronização & Mapeamento de Produto

Vincula um ID de produto externo do seu e-commerce (CentralCart, Sharpify, Nerix, BetterSell) diretamente ao AppID Steam na Cubyc, permitindo entrega automatizada sem intervenção humana.

Parâmetros de rota
CampoTipoObrigatórioDescrição
platformstringSIMNome da plataforma integrada ('centralcart', 'sharpify', 'nerix' ou 'bettersell').
externalProductIdstringSIMIdentificador numérico ou alfanumérico do produto na loja do parceiro.
appidstringSIMAppID oficial da Steam referente ao jogo.
Exemplo de requisição
cURL
curl -X POST https://cubyc.com.br/api/v1/sync/centralcart/98765/730 \
  -H "Authorization: Bearer cy_live_SEU_TOKEN_AQUI"
Respostas da API
Status: 200 OK
{
  "success": true,
  "message": "Produto sincronizado com sucesso",
  "mapping": {
    "platform": "CENTRALCART",
    "externalProductId": "98765",
    "internalAppId": "730",
    "gameName": "Counter-Strike 2",
    "active": true
  }
}
POST/api/activations/info
Bearer60 req/min

8. Telemetria Oficial de Ativação Steam

Consulta dados forenses e de telemetria sobre a ativação da chave na Steam, retornando o SteamID64 do jogador que ativou a chave e o timestamp exato registrado.

Corpo da requisição (JSON)
CampoTipoObrigatórioPadrãoDescrição
keyValuestringSIM—Código completo da chave (ex: 'CY-730-8K2A-9M4L-1P0X').
Exemplo de requisição
cURL
curl -X POST https://cubyc.com.br/api/activations/info \
  -H "Authorization: Bearer cy_live_SEU_TOKEN_AQUI" \
  -H "Content-Type: application/json" \
  -d '{"keyValue": "CY-730-8K2A-9M4L-1P0X"}'
Respostas da API
Status: 200 OK
{
  "success": true,
  "activation": {
    "steamId": "76561198123456789",
    "appid": "730",
    "gameName": "Counter-Strike 2",
    "activatedAt": "2026-08-21T14:32:10.000Z",
    "status": "Ativada"
  }
}
POST/api/webhooks/store/:resellerId/:platform

9. Webhook Receptor de Vendas do E-commerce

Endpoint onde as plataformas parceiras (CentralCart, Sharpify, Nerix e BetterSell) enviam notificações em tempo real quando um pagamento de pedido é aprovado.

Este endpoint é chamado pelas plataformas, não por você. Ele exige a autenticação da plataforma: assinatura HMAC da CentralCart e da BetterSell, ou o segredo configurado na URL das demais. Veja o detalhamento em /docs/integracoes.

Parâmetros de rota
CampoTipoObrigatórioDescrição
resellerIdstringSIMID exclusivo do revendedor fornecido no painel da Cubyc.
platformstringSIMNome do canal de vendas ('centralcart', 'sharpify', 'nerix', 'bettersell').
Exemplo de requisição
cURL
curl -X POST https://cubyc.com.br/api/webhooks/store/res_92049/centralcart \
  -H "Content-Type: application/json" \
  -d '{
    "event": "ORDER_APPROVED",
    "orderId": "CC-10948",
    "customer": {
      "name": "Gabriel Souza",
      "email": "cliente@email.com"
    },
    "total": 39.90,
    "products": [
      { "externalId": "98765", "quantity": 1 }
    ]
  }'
Respostas da API
Status: 200 OK
{
  "success": true,
  "message": "Webhook processado e chaves entregues ao cliente."
}

Tabela de códigos HTTP & rate limits

Guia de diagnóstico e limites de tráfego

Código HTTPStatusCausa & ação recomendada
200 OKSucessoRequisição atendida e processada com êxito.
400 Bad RequestParâmetro inválidoAppID ausente, JSON malformatado ou quantidade acima do lote contratado.
401 UnauthorizedNão autorizadoToken de API ausente ou inválido no cabeçalho Authorization.
403 ForbiddenAcesso negadoPlano expirado, conta suspensa ou limite de saldo insuficiente para novas operações.
404 Not FoundNão encontradoJogo, chave, produto ou revendedor não encontrado na base de dados.
429 Too Many RequestsRate limitLimite de requisições excedido. Aguarde a renovação da janela de 60 segundos.
500 Server ErrorErro internoFalha temporária de comunicação entre microsserviços. Tente novamente em instantes.
Como o limite de tráfego é aplicado
60 requisições por minuto
O limite é contado por token de API, em janela deslizante de 60 segundos. Ao estourar, a resposta é 429 Too Many Requests até a janela virar.
Sem cabeçalhos de quota
Não devolvemos X-RateLimit-*. Se precisar controlar o ritmo, conte as suas próprias chamadas ou trate o 429 com espera progressiva.

Além disso, a geração de chaves tem um intervalo mínimo de 2 segundos entre lotes do mesmo revendedor, para evitar emissão duplicada por duplo clique ou reenvio de fila.