API Reference · 영어 퀴즈
영어 퀴즈 개요
뉴스 헤드라인 속 영어 단어의 뜻을 맞히는 퀴즈 콘텐츠용 API 입니다. 문제 편성·시간대 판정·채점·포인트 지급을 모두 서버가 처리하므로, 콘텐츠는 상태를 조회하고 사용자의 답만 제출합니다.
운영 규칙
- 하루 18문항을 3문항씩 6개 슬롯으로 나눠 서빙합니다. 슬롯 시간(KST)은
06–09,09–12,12–15,15–18,18–21,21–24이며 00–06시에는 열린 슬롯이 없습니다. - 슬롯마다 풀이 시작 전에 보상형 광고를 1회 시청합니다. 틀린 문항은 다시 풀어 맞혀야 다음 문항으로 넘어가며, 다시 풀 때는 광고가 없습니다.
- 3문항을 모두 맞히면 슬롯 완료 포인트가 지급됩니다. 슬롯당 사용자 1회입니다.
- 답안 제출에
claim: "deferred"를 보내면 완료 시점에는 판정(한도·기록)까지만 하고, 지급(매체 포스트백)은 사용자가 지급 안내를 확인할 때 수령 API 로 합니다. 받지 않은 보상은 기한 없이today.unclaimed에 남습니다. 생략하면 완료 시점에 바로 지급합니다. - 그날 슬롯을 1개 이상 완료하면 출석입니다. 한 달 출석일이 기준 일수에 도달하면 출석 보너스가 1회 지급됩니다.
- 시간대 판정은 서버 시각으로만 합니다. 기기 시계와 무관하게
GET /quiz/today의server_time· 슬롯 시각을 기준으로 화면을 그리세요. - 이미 시작한 슬롯은 종료 후 10분(
answer_deadline)까지 이어서 완료할 수 있습니다. 새로 시작하는 것은 슬롯 시간 안에서만 가능합니다. - 문제는 전날 발행된 세트로 편성됩니다(외부 퀴즈 데이터가 매일 08시경 발행되기 때문). 같은 날짜에는 모든 사용자에게 같은 문제가 같은 순서로 나갑니다.
호출 흐름
엔드포인트
GET /api/v1/contents/{content_id}/quiz/today— 오늘 슬롯 상태·현재 문항·출석 현황POST /api/v1/contents/{content_id}/quiz/slots/{slot_key}/start— 광고 티켓으로 슬롯 시작POST /api/v1/contents/{content_id}/quiz/slots/{slot_key}/answers— 답안 제출(서버 채점), 완료 시 보상 판정·지급POST /api/v1/contents/{content_id}/quiz/slots/{slot_key}/claim— 세트 보상 받기(지연 지급)POST /api/v1/contents/{content_id}/quiz/attendance/{month}/tiers/{days}/claim— 출석 보너스 받기(지연 지급)
모든 API 가 세션 토큰(Authorization: Bearer sess_…) 전용이며, 콘텐츠 유형이 quiz 인 콘텐츠에서만 동작합니다. slot_key 는 서빙일과 슬롯 번호를 묶은 식별자(YYYYMMDD-N, 예: 20261001-3)로 today 응답에서 받아 그대로 씁니다.
정답은 클라이언트로 내려가지 않습니다
문항 응답에는 정답 필드가 없습니다. 정답 여부는 답안 제출 응답의
correct 로만 확인하세요. 포인트 지급도 서버가 완료 시점에 직접 하므로, 콘텐츠가 /events 로 퀴즈 보상 이벤트를 따로 보낼 필요가 없습니다.운영 설정 (블로믹스)
- 캠페인 이벤트 2종을 등록해야 포인트가 지급됩니다:
quiz_slot_completed(슬롯 완료),quiz_attendance_bonus(월 출석). 미등록이면 완료는 되지만 지급은 0건입니다. 두 이벤트 모두requires_impression은 켜지 않습니다(시작 광고 티켓은 start 단계에서 이미 소비). - 광고 설정(
ads.reward):modeByPlacement.quiz_start = "ticket",byPlacement.quiz_start = "quiz_slot_completed". grant 모드면 광고 닫힘 시점에 티켓이 소비돼 start 에 쓸 수 없습니다. - 출석 기준 일수: 콘텐츠 데이터
data.quiz.attendanceTiers(일수 배열, 기본[20]). 단계마다 1회씩 지급됩니다. - 캠페인 유저 1일 한도는 슬롯 6회 + 출석 보너스 지급일을 감안해 잡아야 합니다. 한도에 걸리면 완료는 되지만 해당 지급은
user_limit_exceeded로 거절됩니다.