API Reference · 룰렛·티켓

룰렛 상세

콘텐츠 웹이 활성 확률표의 표시용 칸 구성과 허용 티켓 유형을 조회합니다.

GET/api/v1/contents/{content_id}/roulettes/{group_id}

요청

Authorization: Bearer sess_*가 필요합니다. 경로의 content_id는 세션 콘텐츠, group_id는 조회하려는 룰렛 그룹 UUID입니다. 그룹은 세션의 매체에 속하고 해당 매체 콘텐츠에 활성 지급 경로가 있어야 합니다.

shell
curl -H "Authorization: Bearer <session_token>" \
  "https://added-dev.blomics.net/api/v1/contents/<content_id>/roulettes/<group_id>"

이용 가능한 룰렛

200 응답의 roulette_id·version은 현재 활성 확률표를 식별합니다. slots는 display_order 순서이며, image_url은 HTTPS 이미지 URL 또는 null입니다. amount는 이 매체 콘텐츠의 지급 이벤트 기준으로 계산된 포인트이고, sold_out은 칸의 재고가 소진됐는지 표시합니다. accepted_ticket_type_ids: []는 모든 유형 허용을 뜻합니다.

json
{
  "roulette_group_id": "<group_uuid>",
  "name": "주말 룰렛",
  "roulette_id": "<roulette_uuid>",
  "version": 1,
  "available": true,
  "amount_mode": "absolute",
  "accepted_ticket_type_ids": ["<ticket_type_uuid>"],
  "metadata": {},
  "slots": [
    { "slot_id": "<slot_uuid_1>", "label": "100P", "image_url": "https://example.com/100p.png", "reward_type": "point", "amount": 100, "display_order": 0, "sold_out": false, "metadata": {} },
    { "slot_id": "<slot_uuid_2>", "label": "다음 기회에", "image_url": null, "reward_type": "none", "amount": 0, "display_order": 1, "sold_out": false, "metadata": {} }
  ]
}

이용 불가 응답

그룹이 미게시·기간 밖·완료됐거나 활성 확률표가 없으면 200과 available: false가 반환됩니다. reason은 ROULETTE_UNAVAILABLE 또는 ROULETTE_COMPLETED입니다.

json
{ "roulette_group_id": "<group_uuid>", "name": "주말 룰렛", "available": false,
  "reason": "ROULETTE_COMPLETED", "accepted_ticket_type_ids": [], "slots": [] }
확률표 전환과 화면 표시
조회는 확률표를 전환하지 않으며, 추첨 시점에 다음 버전으로 넘어갈 수 있습니다. 추첨 결과의 roulette_id·roulette_version이 화면에서 렌더링한 값과 다르면 상세를 다시 조회하세요. 이미 사라진 칸에 애니메이션을 맞추지 말고 결과의 이름·포인트를 문자로 안내하세요. 내부 가중치와 재고 총량은 응답에 없습니다.

오류

  • 401 UNAUTHORIZED / SESSION_EXPIRED — 세션 인증 실패·만료.
  • 404 NOT_FOUND — 콘텐츠·그룹 소유권이 맞지 않거나 지급 경로가 없습니다.