ビジネスシステム
顧客、メンバーシップ、および権限
1人につき1つのコンタクト記録、動的なセグメント、パスワード不要の顧客サインイン、そして誰が何にアクセスできるかを決定する権限機能について解説します。
フォームへの入力、商品の購入、またはサインインを行ったすべてのユーザーは、1つのコンタクトとして記録されます。Kanorioは、機能ごとにリストを分けるのではなく、すべての活動をそのコンタクト記録に統合します。
コアオブジェクト
- コンタクト: 名前、メールアドレス、電話番号、同意状況、タグに加え、その人物の注文、フォーム送信、コースの進捗状況が含まれます。各コンタクトには、システム独自のID(
externalId、サイトごとに一意で一度のみ設定可能)や、統合用フィールドのためのフラットなmetadataを保持できます。また、サインイン状態(accessStatus)があり、ブロックされたコンタクトはサインインできませんが、注文やメールの受信は継続されます。 - セグメント: コンタクトに対する保存済みのフィルターで、自動的に更新されます。例えば、「今月コースを購入した全員」といった抽出が可能です。
- 権限: コースや会員限定記事など、特定のコンテンツへのアクセスを許可する付与設定です。購入時に自動的に付与されるほか、手動で付与または取り消すことも可能です。
- 顧客セッション: 顧客はワンタイムコードを使用してサインインし、Customer API用の
knr_cat_トークンを取得します。
メンバーシップ、サブスクリプション、クレジット、および権限は、Kanorioにおいてそれぞれ独立した概念です。権限は「誰かが何かにアクセスできるかどうか」を判断するためだけに使用され、残高や課金プランとして使用されることはありません。
APIの役割
-
Management APIを使用して、コンタクト、セグメント、権限を管理します。
-
Customer APIを使用して顧客のサインインを行い、自身のデータを読み取ります。または、
<kanorio-account>(パスキー、Google、メールコードなど、サイトで有効化された認証方法に従います。GET /siteのcustomerAccess.methodsで確認可能)を導入します。 -
Content Delivery APIのゲート付きコンテンツは、顧客のトークンを使用して、何を返すかを判断します。
-
Webhooksは、コンタクトの変更(
customers.contact.created、updated、merged、access_changed)、マーケティング同意の変更(customers.consent.updated)、および権限の付与・取り消しを通知します。コンタクトのペイロードにはIDとフィールド名のみが含まれ、メールアドレスや電話番号は含まれません。値を取得するにはコンタクトをフェッチしてください。
API で利用できる範囲
- Contacts & dynamic segments (external reference, metadata, sign-in status, manual merge)提供中
- API
- Management API
contacts.*(externalId,metadata, look-up byexternalId),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:loginevent)- ホスト型サイト
/account/login
- Entitlements (who may access what)提供中
- API
- Management API
entitlements.grant/revoke/list/check; CustomerGET /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 リファレンス
- ContactsManagement API · 5 件のエンドポイント
- SegmentsManagement API · 1 件のエンドポイント
- EntitlementsManagement API · 4 件のエンドポイント
- OpenapiCustomer API · 1 件のエンドポイント
- AuthCustomer API · 6 件のエンドポイント
- PasskeysCustomer API · 4 件のエンドポイント
- MeCustomer API · 1 件のエンドポイント
- SessionCustomer API · 1 件のエンドポイント
- AccessCustomer API · 1 件のエンドポイント
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
サイト運営者向け
管理画面での使い方はヘルプセンターで説明しています。
ヘルプセンターを開く