Keeppページの管理
Keeppとは
Keeppは、クリエイターや小規模ビジネスのソーシャルバイオリンクをページに変換します。これは、商品「カード」とリンクのコレクションで、フォロワーを購入者やリードに変えるために作られています。Instagram、YouTube、TikTok、Pinterest、Xで活動するセラー、アフィリエイト、コーチ、コースクリエイター、リンクインバイオクリエイターが利用しています。
Keeppページの構成要素:
- プロフィール — アバター、表示名、短い自己紹介
- ソーシャルアイコン — 所有者のソーシャルアカウントへのリンク
- リンクブロック — ウェブサイト、予約ページ、WhatsAppなどへのボタン(セクションヘッダーを含む)
- カタログカード — ショッパブルなプロダクトカード(写真、価格、プロモコード、コールトゥアクション)
- モード —
links only(リンクのみ)、catalog only(カタログのみ)、links and catalog(リンクとカタログ)
このAPIで制御できるもの
このAPIは以下の2つを管理します:
- カタログカード(投稿) — 所有者のカタログ内のプロダクトカードを作成、一覧表示、更新、削除します。
- ページ設定 — ページのレイアウトモード、アバウトテキスト、ヒーローCTA、カタログカードのデフォルト設定、テーマ(以下の「ページ設定」参照)。
このAPIでは変更できないもの:ソーシャルアイコン、リンクブロック、プロフィール詳細(表示名、アバター、ページURL)。これらは所有者がKeeppダッシュボードで設定します。ユーザーから依頼があった場合は、Keeppダッシュボードを案内してください。
認証
すべてのリクエストには、所有者のAPIキーをベアラートークンとして指定する必要があります:
Authorization: Bearer keepp_live_…
ベースURL: https://api.keepp.link。キーはProアカウントのダッシュボード内AI Agentから生成されます。キーをお持ちでない場合は、ユーザーに問い合わせてください。
エンドポイント
| メソッド | パス | 機能 |
|---|---|---|
| GET | /api/v1/posts?cursor= | カタログのカードを一覧表示(ページネーション対応)。 |
| POST | /api/v1/posts | カードを作成。 |
| GET | /api/v1/posts/:postId | 1枚のカードを取得。 |
| PATCH | /api/v1/posts/:postId | カードを更新。 |
| DELETE | /api/v1/posts/:postId | カードを削除。 |
カードのコンテンツモデル
カードは、imageUrls、userContent、cardOverridesの3つのトップレベルフィールドで作成・更新されます。
{
"imageUrls": ["https://…/photo.jpg"], // 最大5枚。取得・保存されます。各10MB以下、JPEG/PNG/WebP/GIF、直接アクセス可能な公開URL
"userContent": {
"name": "シルクスカーフ", // 短いタイトル(任意)
"description": "手染めのマルベリーシルク、90×90cm。", // 必須
"price": "$72", // 自由テキスト — "$72"、"From $50"、"₹1,499"(任意)
"promoCode": "SAVE15", // プロモ/リファラル/ディスカウントコード(任意)
"category": "accessories", // 以下のカテゴリのいずれか(任意)
"links": ["https://…"], // カードに表示する追加リンク(任意)
"contacts": [{ "type": "whatsapp", "value": "+15551234567" }] // 任意
},
"cardOverrides": { // カードの動作(任意。省略するとページのデフォルトを継承)
"clickAction": "open_detail", // "open_detail" | "trigger_cta"
"ctaType": "link", // "message" | "link" | "lead_collection"
"ctaUrl": "https://shop…/scarf", // ctaType = "link" の場合必須
"ctaLabel": "今すぐ購入" // ボタンテキスト
}
}
description のみ必須フィールドです。それ以外はすべて任意で、cardOverrides を省略すると所有者のページ全体のデフォルト設定を継承します。
カテゴリ: clothing, jewellery, accessories, home_decor, beauty, food_beverage, art, stationery, plants, fitness, travel, real_estate, services, pets, kids_baby, books_media, crafts, other
連絡先タイプ: phone, email, whatsapp, telegram, other
カードの動作 — 2つの選択
1. clickAction — カードをタップしたときの動作:
open_detail(デフォルト) — 詳細ビュー(すべての写真、完全な説明、価格、プロモコード、CTAボタン)を開きます。購入者が行動前にコンテキストを必要とする場合に使用します。trigger_cta— タップすると即座にCTAが発動し、詳細画面は表示されません。説明不要で、最も少ない摩擦を求めるアイテムに使用します。
2. ctaType — CTAの動作:
message— ビジネスへのメッセージ送信画面を開きます。チェックアウトリンクがない場合の安全なデフォルトです。link—ctaUrl(Shopify/Etsyページ、アフィリエイトリンク、予約ページ、Googleフォーム)を開きます。ctaUrlが必要です。専用の遷移先がある場合に使用します。lead_collection— ページ上に短いフォームを開き、訪問者の連絡先情報を取得してリードとして保存します。購入準備ができていない人(ウェイトリスト、セールスリスト、コーチングの問い合わせ)を獲得するために使用します。収集するフィールドは、ページ設定エンドポイント(下記参照)でcatalogCard.leadCollectionを介してページ全体に設定されます。すべてのカードに適用され、カードごとの設定はできません。
ctaLabel はアクションに合わせて設定してください:「今すぐ購入」「注文する」「ルックブックを入手」「予約する」「通知を受け取る」
ページ設定
ページ全体の設定を読み取り・変更します。
| メソッド | パス | 機能 |
|---|---|---|
| GET | /api/v1/storefront | 現在のページ設定を取得。 |
| PATCH | /api/v1/storefront | 設定を変更。変更したいフィールドのみ送信 — 現在の設定にマージされます。 |
編集可能なフィールド:
{
"mode": "links_and_catalog", // "links_only" | "catalog_only" | "links_and_catalog"
"about": "リスボンのアトリエで作る手作り陶器。", // 短いページタグライン(280文字以下)
"mainCta": { // ページ上部のヒーローボタン
"enabled": true,
"label": "通話を予約",
"url": "https://cal.com/me" // enabledがtrueの場合必須
},
"catalogCard": { // すべてのカードに適用されるページ全体のデフォルト
"showCardDetails": true,
"clickAction": "open_detail", // "open_detail" | "trigger_cta"
"ctaType": "message", // "message" | "link" | "lead_collection"
"ctaUrl": "https://…", // ctaType = "link" の場合必須
"ctaLabel": "今すぐ注文",
"leadCollection": { "phone": true, "email": true, "instagram": false, "message": true }
},
"theme": {
"useCustomTheme": true, // preset/brandColorを有効にするには true 必須
"preset": "professional", // "calm" | "professional" | "playful" | "dark"
"brandColor": "#d7494c" // 6桁の16進カラー
}
}
- 部分更新はマージされます。
PATCH {"theme":{"useCustomTheme":true,"brandColor":"#000000"}}はテーマのみ変更し、モードやカードなどはそのまま維持されます。 - テーマガード:
preset/brandColorはuseCustomThemeがtrueの場合にのみ有効です — 同じリクエストで送信してください。 catalogCardはすべてのカードのデフォルトです。 個々のカードのcardOverridesが優先されます。これらを変更すると、すべてのカードが一度に再スタイルされます。leadCollectionは、ページ全体のリードフォームで収集するフィールドを設定します(カードごとのフィールド選択はありません)。- 無効な組み合わせは
400 INVALID_STOREFRONT_CONFIGで拒否されます(例:ctaUrlなしでctaType:"link")。
ユースケースレシピ
アフィリエイト/インフルエンサー商品(プロモコード付き)→ 外部リンク
{
"imageUrls": ["https://example.com/serum.jpg"],
"userContent": { "name": "ビタミンCセラム", "description": "私の毎日の艶出しセラム — 私のコードで15%オフ。", "price": "$28", "promoCode": "GLOW15", "category": "beauty" },
"cardOverrides": { "clickAction": "trigger_cta", "ctaType": "link", "ctaUrl": "https://brand.com/serum?ref=me", "ctaLabel": "コードで購入" }
}
自身のショップで販売するブティック商品
{
"imageUrls": ["https://example.com/scarf.jpg"],
"userContent": { "name": "シルクスカーフ", "description": "手染めのマルベリーシルク、90×90cm。", "price": "$72", "category": "accessories" },
"cardOverrides": { "clickAction": "open_detail", "ctaType": "link", "ctaUrl": "https://myshop.com/scarf", "ctaLabel": "今すぐ購入" }
}
コーチ/サービス — 直接販売ではなくリードを獲得
{
"imageUrls": ["https://example.com/program.jpg"],
"userContent": { "name": "1:1コーチング", "description": "最初の5人のクライアントを獲得するための6週間プログラム。", "price": "From $400", "category": "services" },
"cardOverrides": { "clickAction": "trigger_cta", "ctaType": "lead_collection", "ctaLabel": "今すぐ申し込む" }
}
レスポンスとエラー
成功: { "ok": true, "data": { … } }。エラー: { "ok": false, "error": { "code": "…", "message": "…" } }。
401 NO_API_TOKEN/INVALID_API_TOKEN— キーがないか、無効です。ユーザーに有効なキーを確認してください。403 PLAN_REQUIRED— アカウントがProではありません。422 INVALID_IMAGE— 画像URLを取得できなかった、形式/サイズが間違っている、リダイレクトされた、非公開アドレスに解決された。直接アクセス可能な公開https画像URLを使用してください。429 RATE_LIMITED— 1分間に60リクエストを超えています。速度を落として再試行してください。
ガイダンス
- カードを削除する前にユーザーに確認してください。
priceとpromoCodeは、入手可能な場合は必ず設定してください。これらはカードと詳細ビューに表示され、アフィリエイトやセールのユースケースで重要です。- 一括作成時は、1分間に60リクエストを超えないようにしてください。
- カードは即座にページに公開されます。
- カードとページ設定(モード、アバウト、ヒーローCTA、カードデフォルト、テーマ)を管理できます。リンク、ソーシャルアイコン、プロフィール詳細(名前、アバター、ページURL)については、ユーザーにKeeppダッシュボードを使用するよう伝えてください。
詳細情報
Keeppのハウツーガイドでは、Keeppページについて詳しく説明しています: