API Reference
보너스 액션
콘테스트 참가자의 보너스 액션 조회 및 완료 처리
보너스 액션
보너스 액션은 참가자가 콘테스트에서 추가 점수를 얻기 위해 완료할 수 있는 작업입니다. 이 엔드포인트를 사용하여 사용 가능한 보너스 액션을 조회하고 완료 상태로 표시할 수 있습니다.
보너스 액션 조회
GET
/api/v1/entries/:entryId/bonus-actions Public or Private API Key
특정 참가자의 모든 보너스 액션과 완료 상태를 조회합니다.
경로 매개변수
entryIdstring required 고유 참가자 ID입니다. 이메일로 조회할 때는 'lookup'을 사용하세요.
쿼리 매개변수 (entryId가 "lookup"일 때)
emailstring required 조회할 이메일 주소
contestIdstring required 조회할 콘테스트 ID
요청 예시
bash
# 참가자 ID로 조회
curl -X GET https://blitzrocket.com/api/v1/entries/entry_abc123/bonus-actions \
-H "x-api-key: your_api_key_here"
# 이메일 조회
curl -X GET "https://blitzrocket.com/api/v1/entries/lookup/bonus-actions?email=jane@example.com&contestId=clx1abc123" \
-H "x-api-key: your_api_key_here"
응답 예시
json
{
"success": true,
"data": {
"entryId": "entry_abc123",
"email": "jane@example.com",
"totalPoints": 150,
"bonusActionsCompleted": 2,
"bonusActionsTotal": 5,
"bonusPointsEarned": 30,
"actions": [
{
"id": "ba_001",
"action": "follow_twitter",
"description": "트위터에서 팔로우하기",
"icon": "twitter",
"iconColor": "#1DA1F2",
"points": 10,
"confirmationType": "auto",
"destinationUrl": "https://twitter.com/blitzrocket",
"order": 1,
"completed": true,
"completedAt": "2025-06-15T12:00:00.000Z",
"completionStatus": "verified"
},
{
"id": "ba_002",
"action": "share_referral",
"description": "추천 링크 공유하기",
"icon": "share",
"iconColor": "#10B981",
"points": 20,
"confirmationType": "manual",
"destinationUrl": null,
"order": 2,
"completed": true,
"completedAt": "2025-06-16T09:30:00.000Z",
"completionStatus": "verified"
},
{
"id": "ba_003",
"action": "visit_website",
"description": "제품 페이지 방문하기",
"icon": "link",
"iconColor": "#6366F1",
"points": 5,
"confirmationType": "click",
"destinationUrl": "https://example.com/product",
"order": 3,
"completed": false,
"completedAt": null,
"completionStatus": null
}
]
}
}
응답 필드
entryIdstring참가자 ID
emailstring참가자 이메일
totalPointsnumber참가자의 총 점수
bonusActionsCompletednumber완료한 보너스 액션 수
bonusActionsTotalnumber사용 가능한 총 보너스 액션 수
bonusPointsEarnednumber보너스 액션으로 획득한 점수
actions[].idstring보너스 액션 고유 ID
actions[].actionstring액션 유형 식별자
actions[].pointsnumber이 액션 완료 시 부여되는 점수
actions[].completedboolean이 액션 완료 여부
보너스 액션 완료 처리
POST
/api/v1/entries/:entryId/bonus-actions/:bonusActionId/complete Public or Private API Key
참가자의 보너스 액션을 완료 처리하고 해당 점수를 부여합니다.
경로 매개변수
entryIdstring required 고유 참가자 ID
bonusActionIdstring required 고유 보너스 액션 ID
요청 본문
proofstring완료 증빙 (선택 사항, 예: 스크린샷 URL)
answerstring퀴즈형 보너스 액션의 답변 (선택 사항)
요청
bash
curl -X POST https://blitzrocket.com/api/v1/entries/entry_abc123/bonus-actions/ba_003/complete \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{}'
응답 (새 완료)
json
{
"success": true,
"data": {
"alreadyCompleted": false,
"completedAt": "2025-06-17T14:00:00.000Z",
"pointsAdded": 5,
"newTotalPoints": 155,
"message": "보너스 액션이 성공적으로 완료되었습니다."
}
}
응답 (이미 완료됨)
json
{
"success": true,
"data": {
"alreadyCompleted": true,
"completedAt": "2025-06-15T12:00:00.000Z",
"message": "이 보너스 액션은 이미 완료되었습니다."
}
}
오류 응답
| 상태 | 오류 | 설명 |
|---|---|---|
400 | entryId 또는 bonusActionId 누락 | 두 경로 매개변수 모두 필요합니다 |
401 | 유효하지 않은 API 키 | API 키가 없거나 유효하지 않습니다 |
404 | 항목 또는 보너스 액션을 찾을 수 없음 | 지정된 리소스가 존재하지 않습니다 |