Core Concepts
These five objects come up again and again in the APIs and AI tools. If you are new to CaoLiao, start with About CaoLiao QR Code.
Organization
└─ Partition
├─ QR code (a dynamic QR code created on its own)
└─ Bulk template
└─ Sub-code (one item, one code; content differs per code)
A form can be linked to a QR code; each submission creates one recordQR codes
The content of a dynamic QR code is stored on CaoLiao. You can still change it after printing, track scans, and link forms. A static QR code encodes text or a URL directly into the pattern. It cannot be changed after creation and has no scan statistics.
In the APIs, coding identifies a dynamic QR code, and most read APIs also accept the full code URL. See Dynamic QR code list (Chinese only) and QR code content.
Bulk templates and sub-codes
When you have a batch of things with the same structure but different content (equipment, assets, people), first create a bulk template. It defines the fixed content shared by all sub-codes and the fields each sub-code fills in. Then generate sub-codes from the template, one per item.
A bulk template also has its own coding, and that is what the template parameter of template APIs takes. See Template list and Sub-code content (both Chinese only).
Forms and records
A form defines which fields to collect. Once it is linked to a QR code, people who scan the code can fill it in. Each submission creates one record.
| Field | Meaning |
|---|---|
tpl_id | Form template ID, used to read the form structure and filter records |
code_id | Numeric ID of the QR code, passed with tpl_id when submitting a record |
record_id | ID of a single record |
For the call order, see Query forms and records linked to a QR code.
Partitions
A partition separates QR codes and records by department, project, or site. It is also a dimension for grouping statistics and filtering by scope. In the APIs it is called project. See Partition list (Chinese only).
Organizations
An organization is the boundary for data and permissions. An OpenAPI Key belongs to one organization and can only access that organization's data. With MCP, you choose an organization during OAuth authorization, and what you can see and do is still limited by the current account's permissions. See Authentication and Developer setup.