# 受保护的交付内容与进度

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

> Markdown version of https://kanorio.com/zh-CN/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-CN/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-CN/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-CN/help/online-courses
