Atividades da run e desafio diário
Este guia complementa o inventário de endpoints e os contratos de comando. A disponibilidade de atividades e seus efeitos depende do setting e da run. As leituras abaixo não executam escolhas; consulte a sessão e os comandos disponíveis antes de enviar uma decisão.
Seleções de cartas
GET /api/v1/runs/{runId}/card-selections: lista as seleções da run.GET /api/v1/runs/{runId}/card-selections/{selectionInstanceId}: retorna uma seleção específica.
Ambos retornam 200 com os dados encontrados; a segunda retorna um objeto e a primeira um array. Uma run ou seleção inexistente retorna 404. O objeto inclui selectionInstanceId, runId, selectionId, pickCount, offerCount, cardPoolId, options, rerollsUsed, freeRerollsRemaining, rerollCosts, completed, pickedCardIds e decomposedCardIds. IDs de instância identificam a escolha concreta da run; não os substitua pelos IDs de definição.
Preparações
GET /api/v1/runs/{runId}/preparations: lista as preparações da run.GET /api/v1/runs/{runId}/preparations/{preparationInstanceId}: consulta uma preparação.
Retornam 200 com array ou objeto, respectivamente. Run ou preparação inexistente retorna 404. A representação contém preparationInstanceId, runId, preparationId, options e appliedOptionIds. Use os comandos disponíveis da run para aplicar uma opção e atualize a leitura após a confirmação.
Lojas
GET /api/v1/runs/{runId}/shops: lista as lojas.GET /api/v1/runs/{runId}/shops/{shopInstanceId}: consulta uma loja.
Retornam 200 com array ou objeto; run ou loja inexistente retorna 404. A representação inclui shopInstanceId, runId, shopId, cardPoolId, offerCount, rerollsUsed, rerollCosts, pricing e items. Preço e disponibilidade são autoritativos na engine; a interface apresenta os dados e envia o comando correspondente, sem efetivar a compra localmente.
Desafio diário
A API usa /api/v1/challenges/daily/current como base:
GETconsulta o desafio atual. A resposta200incluichallenge,contentRevision,engineVersioneproofHash. Desafio não configurado pode retornar404.POST /attemptsinicia uma tentativa com{"playerId":"player-1"}. Em200, a resposta incluichallengeId,runId,sequence,step,seed,contentRevisionestateHash. Guarde orunIde use a sessão e os comandos normais para jogar.POST /submissionsenvia a tentativa com{"runId":"<uuid-da-run>","playerId":"player-1"}. Em200, o retorno incluiaccepted,challengeId,playerEntityId,runId,sequence,stateHashecommandsReplayed.GET /leaderboard?limit=100consulta classificação, comlimitentre 1 e 500. O retorno contémchallengeIdeentries, cada entrada comrankeentry.
A submissão pode retornar 403 para tentativa de outro jogador, 404 quando a tentativa não existe, 422 quando uma regra rejeita a operação e 503 quando o conteúdo necessário está indisponível. 400 pode indicar jogador inválido ou limite fora da faixa. Trate erros conforme o contrato, sem assumir que uma tentativa foi aceita antes da confirmação.
Capacidades e alteração de conteúdo
GET /api/v1/runs/{runId}/capabilities retorna as capacidades efetivas (granted e denied), perfil e identificadores das políticas de modo, replay e timeline. Uma run inexistente retorna 404. Os recursos disponíveis dependem do perfil e das regras do modo; leia o resultado para adaptar a interface.
GET /api/v1/runs/{runId}/content/activation-preview?targetRevision=<revisao> consulta a possibilidade de ativar uma revisão na run. O endpoint exige a capacidade de ativação de conteúdo: pode responder 403 quando negada, 404 para run ausente ou 422 quando a prévia falha. A consulta não ativa a revisão; a alteração exige o comando autorizado descrito no guia de conteúdo e plataforma.
Encontro, relíquias e instâncias de cartas
GET /api/v1/runs/{runId}/encounters/currentretorna o estado do combate no encontro atual. Quando não é encontrado, retorna404.GET /api/v1/runs/{runId}/relicsretornarunId,sequence,steperelics, ordenadas por ID de instância; uma run inexistente retorna404.GET /api/v1/runs/{runId}/cards/{cardInstanceId}retorna a instância visível da carta; retorna404se a run ou carta visível não existir.GET /api/v1/runs/{runId}/cards/{cardInstanceId}/upgrade-optionsretornarunId,cardInstanceId,definitionId,contentRevisioneoptions. A ação retorna404para run/carta invisível ou inexistente e503se as opções de transformação estiverem indisponíveis.GET /api/v1/runs/{runId}/cards/{cardInstanceId}/transformation-previewaceitaoperation(padrãoApply),transformationIdeupgradeIdcomo parâmetros de consulta. Retorna a avaliação em200ou400se a prévia não puder ser realizada. É uma consulta: para efetivar uma transformação, use o comando da run autorizado.
Visibilidade de cartas e opções dependem do estado da run. Use IDs de instância obtidos da API, preservando a revisão e as versões da run ao enviar comandos.