API Reference · 플레이 로그
플레이 로그 종료
플레이를 정상 완료 처리합니다. 최종 점수·결과를 첨부하면 캠페인 보상 매칭이 트리거됩니다.
POST
/api/v1/campaigns/{campaign_id}/playlogs/{play_log_id}/finish요청 파라미터
campaign_id(path, uuid, required) — 캠페인 식별자.play_log_id(path, uuid, required) — 플레이 식별자.score(body, number, optional) — 최종 점수.level(body, int, optional) — 최종 레벨.finished_at(body, ISO 8601, optional) — 완료 시각. 생략 시 서버 시각.metadata(body, object, optional) — 자유 형식 결과.
요청예시
shell
curl -X POST \
"https://added.blomics.net/api/v1/campaigns/{campaign_id}/playlogs/{play_log_id}/finish" \
-H "Authorization: Bearer {provider_secret}" \
-H "Content-Type: application/json" \
-d '{ "score": 1500, "level": 9 }'응답 필드
play_log_id(uuid)status(string) —FINISHED.score(number, nullable)level(int, nullable)finished_at(ISO 8601)summary(object) —matched_count/rejected_count.legs(array) — 매칭된 캠페인 이벤트별 결과 (이벤트 발생 응답과 동일 구조).
응답예시
json
{
"play_log_id": "0193a1b2-3c4d-5e6f-7890-abcdef012345",
"status": "FINISHED",
"score": 1500,
"level": 9,
"finished_at": "2026-05-02T10:10:00.000Z",
"summary": { "matched_count": 1, "rejected_count": 0 },
"legs": [
{
"campaign_id": "0193b2c3-4d5e-6f78-90ab-cdef01234567",
"event_id": "0194c3d4-5e6f-7890-abcd-ef0123456789",
"point": 200,
"reject_reason": null
}
]
}에러처리
400INVALID_PARAM— body 형식 오류.401UNAUTHORIZED— 인증 실패.404NOT_FOUND— 플레이 로그 없음 또는 소유권 위반.409PLAY_LOG_CLOSED— 이미 finish/abort 된 플레이.499CAMPAIGN_NOT_ACTIVE— 캠페인 종료/비활성.500INTERNAL_ERROR— 서버 오류.