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
    }
  ]
}

에러처리

  • 400 INVALID_PARAM — body 형식 오류.
  • 401 UNAUTHORIZED — 인증 실패.
  • 404 NOT_FOUND — 플레이 로그 없음 또는 소유권 위반.
  • 409 PLAY_LOG_CLOSED — 이미 finish/abort 된 플레이.
  • 499 CAMPAIGN_NOT_ACTIVE — 캠페인 종료/비활성.
  • 500 INTERNAL_ERROR — 서버 오류.