Documentação

Começar

Participantes e token

Como o clube sabe quem é o usuário sem receber dados pessoais.

O participante é o seu ID. O seu servidor, com a chave secreta, pede um token curto e entrega ao navegador/app. O clube nunca aceita um ID vindo do navegador sem esse token.

bash
curl -X POST https://api.iclubing.com/v1/participants/user_123/token \
  -H "Authorization: Bearer $ICLUBING_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ttl_seconds": 900 }'
json
{
  "token": "eyJhbGciOiJIUzI1NiIs…",
  "expires_at": "2026-10-01T15:15:00.000Z",
  "participant_id": "part_…",
  "level": { "number": 3, "name": "Bronze III", "badge_url": null, "color": null },
  "xp": { "current": 320, "required": 1000, "total": 2320, "progress": 0.32 }
}
  • ttl_seconds: de 60 a 86400 (padrão 900 = 15 min).
  • Cria o participante se ele ainda não existir.
  • O clube guarda o token na sessão e tira da URL. Quando ele vence dentro do embed, o clube avisa o seu site (auth.expired) e você chama clube.identify(novoToken) — veja Instalação.

Nome, avatar e contato (opcional)

Para mostrar um nome no ranking ou mandar e-mail/SMS pelo CRM do clube, envie os dados com POST /v1/participants. Nada disso é obrigatório.

bash
curl -X POST https://api.iclubing.com/v1/participants \
  -H "Authorization: Bearer $ICLUBING_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "external_id": "user_123", "display_name": "Ana", "email": "ana@exemplo.com", "tags": ["vip"] }'

GET /v1/participants/{external_id} devolve o perfil: XP, nível, elo, próximo elo, benefícios e saldos (currencies). Para vários de uma vez (ex.: mostrar o nível numa lista), use POST /v1/participants/progress com até 200 external_ids.