# 受保護的交付內容與進度

> Courses and downloads protected by entitlements, with chapters and lessons, signed playback, quizzes, progress and certificates.

> Markdown version of https://kanorio.com/zh-HK/developers/products/deliverables. Append `.md` to any developer docs URL for this format. Index: https://kanorio.com/llms.txt · MCP: https://app.kanorio.com/api/mcp
>
> Translated from the English original: https://kanorio.com/en/developers/products/deliverables.md

Status: **Available**

交付內容（Deliverables）是指客戶可存取的數碼內容：網上課程、可下載檔案及會員專屬素材。Kanorio 會保護這些檔案，並追蹤每位學員在不同流動裝置上的學習進度。

## 核心物件

- **交付內容（Deliverables）。** 課程或下載包，連結至授予存取權的產品。
- **單元（Units）。** 章節與課程：影片、音訊、PDF、文字、檔案、嵌入內容及測驗。課程可要求依序完成課程，且任何課程皆可作為關卡。
- **進度（Progress）。** 記錄每位學員的學習中斷點、已完成的課程，以及課程完成時間。
- **證書（Certificates）。** 當學員完成設有證書的課程時自動產生。

## API 如何運作

- 使用 Management API 建立與編輯課程，並讀取學員進度以製作您自己的報表。
- 學員登入後，透過短效簽章網址（signed URLs）開啟課程，並透過 Customer API 回報進度及進行測驗。
- `<kanorio-curriculum>` 及 `<kanorio-unit>` 提供課程大綱與完整的課程檢視畫面。
- Webhooks 會回報已完成的課程、測驗嘗試次數及已發放的證書。

[課程與會員](https://kanorio.com/zh-HK/developers/guides/courses-and-members)指南將引導您完成完整的整合流程。

## What the APIs expose

| Capability | Status | API | Elements | Hosted site | Webhooks |
| --- | --- | --- | --- | --- | --- |
| Deliverables (courses, downloads) | Available | Management API `deliverables.*`, `deliverable_units.*`; Delivery `GET /products/:slug` outline; Customer `GET /deliverables`, `GET /deliverables/:deliverableId` | `<kanorio-curriculum>` (public outline, free previews) | `/deliverables`, `/data/deliverables`, `/data/deliverable_units`; product `content-curriculum` section | — |
| Protected playback & downloads | Available | Customer `POST /units/:id/open` (signed URL valid for 600 s; videos are signed for their length); Delivery `POST /units/:id/open` for previews | `<kanorio-unit>` (video, audio, PDF, text, files, embeds) | `/account/content/:deliverableId` | — |
| Progress & completion | Available | Customer `POST /progress`, `POST /units/:id/quiz`, `GET /deliverables/:deliverableId/progress`, `GET /deliverables/:deliverableId/certificate` (PDF rendered on download from current settings and branding); Management API `progress.list`, `progress.reset`, `progress.complete`, `deliverables.certificate_preview` | `<kanorio-unit>` reports progress automatically; `kanorio:progress` event | `/data/progress`; `/account/content` progress bars | `deliverables.progress.completed`, `deliverables.progress.unit_completed`, `deliverables.quiz.attempted`, `deliverables.certificate.issued` |

## API reference

- Management API: [Deliverables](https://kanorio.com/en/developers/management-api/deliverables) (8 operations)
- Management API: [Deliverable units](https://kanorio.com/en/developers/management-api/deliverable_units) (4 operations)
- Management API: [Progress](https://kanorio.com/en/developers/management-api/progress) (3 operations)
- Content Delivery API: [Units](https://kanorio.com/en/developers/delivery-api/units) (1 operations)
- Customer API: [Deliverables](https://kanorio.com/en/developers/customer-api/deliverables) (4 operations)
- Customer API: [Units](https://kanorio.com/en/developers/customer-api/units) (2 operations)
- Customer API: [Progress](https://kanorio.com/en/developers/customer-api/progress) (1 operations)

## Webhook events

- `deliverables.progress.completed`: Fired once when a learner first meets the deliverable's completion rule (completion snapshot; never fires again for that learner even if units are added later).
- `deliverables.progress.unit_completed`: Fired when a learner completes one unit (video/audio watched to 90%, or marked complete). Use it for per-chapter automations.
- `deliverables.progress.stalled`: Fired by the daily check when a learner stalls: granted access 14+ days ago and never started (not_started), or has progress but no activity for 7+ days (inactive). At most once per learner, deliverable and reason per ISO week. Use it for reminder automations.
- `deliverables.quiz.attempted`: Fired for every graded quiz attempt (score 0–100, passed, attemptNo). A passed attempt also completes the unit.
- `deliverables.certificate.issued`: Fired when a completion certificate is issued (serial); the PDF is fetched through the Customer API.

Payloads: https://kanorio.com/en/developers/webhooks/events

## Elements

- `<kanorio-unit>`: Protected player with an outline sidebar for video, audio, PDF, text, file and embed units, locked and not-yet-released states, and automatic progress reporting.
- `<kanorio-curriculum>`: Public outline for a product: chapters, units, durations and free previews that play without signing in.

## Guides

- [課程與會員](https://kanorio.com/zh-HK/developers/guides/courses-and-members): 在您的前端實現顧客登入、顯示購買內容、播放受保護課程、追蹤學習進度並核發證書。

## Recent changes

- 2026-11-04: Localization: more translatable fields (product details, variants, lessons, quizzes, store notes)
- 2026-11-04: Products: access duration is set per variant
- 2026-11-03: Customer API: course, unit and order text in the customer's locale
- 2026-11-02: Deliverables: units no longer have plan scope
- 2026-11-02: Deliverables: certificate background image

Full changelog: https://kanorio.com/en/developers/changelog

## For site owners

Dashboard help: https://kanorio.com/zh-HK/help/online-courses
