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— 콘텐츠·그룹 소유권이 맞지 않거나 지급 경로가 없습니다.