Kanorio

API 레퍼런스

Progress

Customer API: POST /progress

이 페이지는 영어로만 제공됩니다. API 레퍼런스, Webhook 이벤트, 변경 내역은 코드의 필드 이름·오류 코드와 맞추기 위해 영어로 제공합니다.
Base URL https://{site}/api/v1/customerErrorsPagination

Request body

  • unitIdstringrequired
  • reportsobject[]required
  • reports[].positionSecondsnumber

    Furthest position reached (seconds). Clients that only send this still resume and complete (by position ratio).

  • reports[].durationSecondsnumber
  • reports[].completedboolean

    Manual 'mark complete' for non-media units; ignored for quiz units.

  • reports[].openedboolean

    Non-media unit opened: records the first open and sets the unit to in-progress; does not complete it.

  • reports[].sessionIdstring

    Browser-generated id of this viewing session; send the same value on every report of the session. Required for playback records (segments, play count, watch time).

  • reports[].segmentsnumber[][]

    Ranges played since the previous report as [from, to] or [from, to, speed] in media seconds. Completion uses the union of all ranges, so skipping ahead does not count.

  • reports[].startupMsinteger
  • reports[].stallCountinteger
  • reports[].stallMsinteger
  • reports[].renditioninteger

    Current rendition height (px).

  • reports[].seekTargetsnumber[]

    Seek destinations (seconds) since the previous report.

  • reports[].device"desktop" | "mobile" | "tablet"
  • liteboolean

    Heartbeat: when this report does not complete the unit the server skips deliverable-level completion and returns deliverable: null.

Response 200

  • unit"not_started" | "in-progress" | "completed"required
  • unitCoveredPercentinteger | null

    Media units: share of the file watched after this report (union of watched ranges / duration, 0-100); null without a duration or range data.

  • deliverableobject | nullrequired

    null on lite heartbeats that did not complete the unit

  • deliverable.idstringrequired
  • deliverable.percentnumberrequired
  • deliverable.completedbooleanrequired
  • deliverable.completedAtstring | null
  • deliverableJustCompletedbooleanrequired

Errors

  • UNIT_NOT_FOUND 404
  • VALIDATION 400
  • FORBIDDEN 403
curl -X POST "https://{site}/api/v1/customer/progress" \
  -H "Authorization: Bearer $KANORIO_CUSTOMER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'