API Reference · 플레이 로그

플레이 로그 시작

always_on 캠페인에서 사용자가 플레이를 시작하면 호출합니다. play_log_id 가 발급되며, 이후 갱신·종료·중단 호출의 기준이 됩니다.

POST/api/v1/campaigns/{campaign_id}/playlogs

요청 파라미터

  • campaign_id (path, uuid, required) — 캠페인 식별자.
  • session_id (body, uuid, required) — 세션 식별자.
  • started_at (body, ISO 8601, optional) — 클라이언트 시각. 생략 시 서버 시각.
  • metadata (body, object, optional) — 자유 형식 부가 정보 (난이도·모드 등).

요청예시

shell
curl -X POST "https://added.blomics.net/api/v1/campaigns/{campaign_id}/playlogs" \
  -H "Authorization: Bearer {provider_secret}" \
  -H "Content-Type: application/json" \
  -d '{ "session_id": "0192...", "metadata": { "difficulty": "hard" } }'

응답 필드

  • play_log_id (uuid) — 발급된 플레이 식별자. 이후 finish/abort/update 호출에 사용.
  • campaign_id (uuid)
  • session_id (uuid)
  • started_at (ISO 8601)

응답예시

json
{
  "play_log_id": "0193a1b2-3c4d-5e6f-7890-abcdef012345",
  "campaign_id": "0193b2c3-4d5e-6f78-90ab-cdef01234567",
  "session_id": "0192c3d4-5e6f-7890-abcd-ef0123456789",
  "started_at": "2026-05-02T10:00:00.000Z"
}

에러처리

  • 400 INVALID_PARAM — body 형식 오류.
  • 401 UNAUTHORIZED — 인증 실패.
  • 404 NOT_FOUND — 캠페인 없음, 세션 만료/없음.
  • 499 NOT_ALWAYS_ON — 캠페인이 always_on 타입이 아님.
  • 499 CAMPAIGN_NOT_ACTIVE — 캠페인 비활성·기간 외.
  • 500 INTERNAL_ERROR — 서버 오류.