Kanorio

商业系统

顾客、会员与权限

每人仅需一个联系人记录、动态分段、无密码顾客登录,以及决定谁能访问什么内容的权限系统。

可用

每位填写表单、购买商品或登录的用户都会成为一个联系人。Kanorio 会将他们的活动整合至该记录中,而非针对各项功能维护独立的列表。

核心对象

  • 联系人 (Contacts): 包含姓名、电子邮件、电话、同意状态与标签,以及该用户的订单、表单提交记录与课程进度。每个联系人皆可携带您系统的 ID (externalId,每个网站唯一且仅能设置一次) 以及用于整合字段的扁平化 metadata,并具有登录状态 (accessStatus):被封锁的联系人无法登录,但仍可接收邮件与处理订单。
  • 分段 (Segments): 针对联系人设置的保存筛选器,会自动更新,例如“本月购买课程的所有人”。
  • 权限 (Entitlements): 授予联系人访问特定内容(如课程或会员专享文章)的许可。购买行为会自动授予权限,您也可以手动授予或撤销。
  • 顾客会话 (Customer sessions): 顾客通过一次性验证码登录,并取得用于 Customer API 的 knr_cat_ 令牌。

在 Kanorio 中,会员资格、订阅、点数与权限是独立的概念。权限仅用于判断某人是否可访问特定内容;它绝不会被用作余额或计费计划。

API 如何运作

  • 使用 Management API 管理联系人、分段与权限。
  • 使用 Customer API 让顾客登录并读取其个人资料,或直接嵌入 <kanorio-account>(支持 Passkey、Google 与电子邮件验证码,具体取决于网站启用的方法;GET /site 会在 customerAccess.methods 下列出这些方法)。
  • 受限内容交付 API (Gated Content Delivery API) 读取请求会使用顾客的令牌来判断返回内容。
  • Webhooks 会汇报联系人变更 (customers.contact.created、updated、merged、access_changed)、营销同意变更 (customers.consent.updated) 以及权限的授予与撤销。联系人载荷 (payload) 仅包含 ID 与字段名称,绝不会包含电子邮件地址或电话号码;请通过 API 获取联系人以读取数值。

API 开放的范围

  • Contacts & dynamic segments (external reference, metadata, sign-in status, manual merge)可用
    API
    Management API contacts.* (externalId, metadata, look-up by externalId), segments.*
    托管网站
    /customers/contacts, /data/contacts, /data/segments
    Webhooks
    customers.contact.created, customers.contact.updated, customers.contact.merged, customers.contact.access_changed, customers.consent.updated, customers.form.submitted
  • Customer login (magic link / 6-digit code)可用
    API
    Customer POST /auth/challenge, POST /auth/verify → Bearer; GET /me; DELETE /session
    Elements
    <kanorio-login> (stores Bearer in localStorage, kanorio:login event)
    托管网站
    /account/login
  • Entitlements (who may access what)可用
    API
    Management API entitlements.grant / revoke / list / check; Customer GET /access/:id
    Elements
    <kanorio-unit> shows locked / preview / not-released states
    托管网站
    Backoffice contact → Access tab; /data/entitlements; /account/content
    Webhooks
    deliverables.entitlement.granted, deliverables.entitlement.revoked
  • Membership tiers (ranked segments & automatic perks)规划中
    API
    Planned (tiers.*)
    托管网站
    Planned (/data/tiers)

API 参考

Webhook 事件

  • customers.sharedSender.softCap · Fired once per day when sign-in code and similar emails sent from Kanorio's shared address exceed the site's daily soft cap; the bot check before sign-in is strengthened automatically. Nothing to do.
  • customers.sharedSender.paused · Fired when those emails are paused for the site because of bounces, complaints or unusual volume; passkey, Google and signed-in customers are unaffected. Kanorio reviews and restores sending.
  • customers.sharedSender.resumed · Fired when paused sign-in code emails resume after review.
  • customers.contact.created · Fired when a contact is created from any source (checkout, form, import, manual, customer sign-up). Identities are listed by kind only; the data never includes the email address or phone number.
  • customers.contact.updated · Fired when a contact's fields change (name, tags, note, locale, invoice preference, metadata, external reference, profile attributes). Lists the changed field names; fetch the contact to read the values.
  • customers.contact.merged · Fired when two contacts become one, either automatically (the same person arrived with another identity) or by the owner. mergedContactId no longer exists; move your references to contactId.
  • customers.contact.access_changed · Fired when the owner blocks or unblocks a customer's sign-in. BLOCKED revokes every session and refuses new sign-ins; orders, consent and emails are unaffected.
  • customers.consent.updated · Fired when a contact's marketing consent on one channel changes (subscribed, pending confirmation, unsubscribed, bounced, complained).
  • deliverables.entitlement.granted · Fired when a contact is granted access (Entitlement) to a deliverable or unit.
  • deliverables.entitlement.revoked · Fired when a contact's Entitlement is revoked (e.g. refund or manual revocation).

Elements

  • <kanorio-account> · Customer sign-in panel: passkey, Google and a 6-digit email code, in the order the site enables them; signed-in customers see the account menu. Stores the customer token in localStorage and fires kanorio:login and kanorio:logout.
  • <kanorio-login> · Deprecated alias of kanorio-account kept for pages that already embed it; same panel, same events.

近期变更

  • 2026-11-03 Contacts: external references, metadata, sign-in status and contact webhooks
  • 2026-10-31 Contacts: contacts.update replaces contacts.update_tags_note and can set the name
  • 2026-10-27 entitlements.grant: bring-your-own payments (source EXTERNAL), idempotency keys
查看完整更新日志

给网站所有者

如何在后台使用这项产品,请参阅帮助中心。

打开帮助中心