mcpField
A
api-onboarding

api-onboarding

github.com/jonathimerマーケティング・グロース8799 回インストール34 週間前に更新
リポジトリ

api-onboarding について

APIチーム向けのオンボーディング改善ガイドです。最初の接触から API 呼び出し成功までの時間を測り、登録、認証、環境設定、リクエストの障壁を減らす方法を扱います。

主な機能

  1. 01初回 API 呼び出し成功までの時間測定
  2. 02認証と API キー取得の簡素化
  3. 03サンドボックスとテストデータの設計
  4. 04インタラクティブな API ドキュメント作成
  5. 05初回リクエスト失敗の原因分析
  6. 06オンボーディングの監査と改善

活用シーン

  1. 01開発者の導入フローで離脱点を探す
  2. 02複雑な設定なしで試せる環境を設計する
  3. 03クイックスタートとリクエスト例を改善する
  4. 04よくある API エラーの復旧案内を整える

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jonathimer/devmarketing-skills --skill api-onboarding

インストール後、Claude Code で/api-onboardingを入力して読み込まれたか確認します。

同梱ファイルREADME.md

詳細

最初の API 呼び出しまでの時間を短縮する

開発者が API を知ってから、初めて正常に呼び出せるまでの時間は、開発者ジャーニー全体で最も重要な期間です。この間に生じる摩擦は、1 分ごとに潜在的なユーザーの損失につながります。

概要

最初の API 呼び出しまでの時間(TTFAC)は、開発者の利用定着を最も正確に予測する単一の指標です。すぐに成功した開発者はアクティブユーザーになります。苦労した開発者は、たいてい何も言わずに離れていきます。

このスキルでは、以下について説明します。

  • TTFAC の測定と最適化
  • 認証の摩擦の解消
  • 効果的なサンドボックス環境の作成
  • インタラクティブなドキュメントの構築
  • よくある失敗箇所の特定と修正

始める前に

developer-audience-context スキルを確認し、以下を把握してください。

  • 開発者の一般的な技術レベルはどの程度ですか?
  • 開発者はどのようなツールや環境をよく使いますか?
  • どのような代替製品を試しましたか?その体験はどうでしたか?
  • どの程度急いでいますか?(評価中か、すぐに開発を始める段階か)

オンボーディングでは、開発者の状況に合わせる必要があります。

TTFAC を理解する

TTFAC が測定するもの

最初の API 呼び出しまでの時間は、開発者が初めて操作してから、初めて正常な API レスポンスを受け取るまでの経過時間を測定します。以下が含まれます。

  1. 発見までの時間:「はじめに」のコンテンツを見つける
  2. サインアップまでの時間:アカウントを作成する
  3. 認証情報の取得時間:API キーを取得する
  4. セットアップ時間:SDK をインストールし、環境を設定する
  5. 実行時間:最初のリクエストを実行する
  6. 成功までの時間:正常なレスポンスを受け取る
TTFAC のベンチマーク
評価TTFAC開発者体験
非常に優れている< 5 分「これはすごい」
良好5~15 分「とても簡単だった」
許容範囲15~30 分「最終的にはできた」
不良30~60 分「これはストレスがたまる」
失敗> 60 分「ほかのものを試そう」
TTFAC の測定

計測ポイント:

// Track these events with timestamps
analytics.track('docs_quickstart_viewed');
analytics.track('signup_started');
analytics.track('signup_completed');
analytics.track('api_key_created');
analytics.track('sdk_installed');     // Via package manager data
analytics.track('first_api_call');    // Via API logs
analytics.track('first_successful_call');

算出するもの:

  • TTFAC の中央値(平均値より有用です)
  • 開発者セグメント別の TTFAC
  • 各ステップでの離脱率
  • 時間枠(5 分、15 分、60 分)内の成功率

認証の簡素化

認証は、オンボーディングの摩擦の最大の原因です。徹底的に簡素化しましょう。

理想的な認証フロー
  1. 開発者がサインアップする(2 分未満)
  2. API キーがすぐに表示される(設定画面の奥に隠れていない)
  3. キーがすぐに使える(有効化の待ち時間がない)
  4. サンプルコードにコピーして貼り付ける
  5. 成功
避けるべき認証のアンチパターン

承認待ちの行列

❌ "Your API access request has been submitted.
    You'll receive access within 2-3 business days."

開発者は離れ、代替手段を探します。

隠されたキー

❌ Settings → Team → API → Credentials → Keys → Show Key

ダッシュボードのホーム画面にキーを表示しましょう。

複雑なトークン

❌ OAuth flow requiring:
   - Client ID
   - Client secret
   - Redirect URI configuration
   - Token exchange
   - Token refresh handling

使い始める際には、シンプルな API キーを提供しましょう。

認証確認の連続

❌ Sign up → Verify email → Verify phone →
   Add payment → Verify payment → Then API key

最初の API 呼び出しでの摩擦を最小限に抑えましょう。

認証を簡素化する方法

テストキーをすぐに提供する

✅ "Here's your test API key: sk_test_abc123...
    Use this in sandbox mode—no charges, no setup."

複数の認証方式をサポートする

✅ Quickstart: API key header
   Production: OAuth when they need it

サンプルをあらかじめ用意する

✅ # Your API key is pre-filled in these examples
   curl -H "Authorization: Bearer sk_test_YOUR_KEY" ...

本番環境の要件は後回しにする

✅ Test mode: Instant access
   Production mode: Add payment, verify identity (later)

サンドボックス環境

サンドボックスを用意すれば、「何かを壊してしまう」という不安を取り除き、開発者が自由に試せるようになります。

サンドボックスの要件

すぐにアクセス可能:承認、支払い、複雑なセットアップは不要

実際の動作に近い:同じ API、同じレスポンス、同じエラー

明確な境界:サンドボックスと本番環境のどちらにいるかがすぐにわかる

リセット機能:簡単に初期状態からやり直せる方法

十分な利用上限:試行をレート制限しない

サンドボックスの実装パターン

エンドポイントを分ける

Production: api.example.com
Sandbox:    sandbox-api.example.com

キーのプレフィックス

Production key: sk_live_abc123...
Sandbox key:    sk_test_xyz789...

環境パラメーター

curl -X POST https://api.example.com/v1/messages \
  -H "Authorization: Bearer $API_KEY" \
  -d '{"sandbox": true, ...}'
サンドボックスのデータ

あらかじめ用意されたテストデータ

// Sandbox comes with test users
const testUsers = await client.users.list();
// Returns: [
//   { id: "usr_test_alice", name: "Alice (Test)" },
//   { id: "usr_test_bob", name: "Bob (Test)" }
// ]

特別な値

// Special values trigger specific behaviors
client.payments.create({
  amount: 1000,
  card: "4242424242424242"  // Always succeeds
});

client.payments.create({
  amount: 1000,
  card: "4000000000000002"  // Always declines
});

文書化されたテストシナリオ

## Test Card Numbers

| Number           | Behavior              |
|-----------------|----------------------|
| 4242424242424242 | Successful charge    |
| 4000000000000002 | Declined             |
| 4000000000009995 | Insufficient funds   |
| 4000000000000069 | Expired card         |

インタラクティブなドキュメント

ブラウザーを離れずに、開発者が API を呼び出せるようにしましょう。

「試してみる」機能

必須機能:

  • 認証済み(サンドボックスキーを自動的に使用)
  • 動作するサンプルデータがあらかじめ入力されている
  • リクエストパラメーターを編集できる
  • 実際の API レスポンスを返す(モックではない)
  • cURL/コードとしてコピーするオプション

実装:

<div class="api-explorer">
  <h3>Try it: Send a Message</h3>

  <div class="request-editor">
    <label>To Phone Number</label>
    <input type="text" value="+15551234567" />

    <label>Message Body</label>
    <textarea>Hello from the API Explorer!</textarea>

    <button onclick="sendRequest()">Send Request</button>
  </div>

  <div class="response-viewer">
    <h4>Response</h4>
    <pre><code id="response"></code></pre>
  </div>
</div>
インタラクティブなドキュメントツール

OpenAPI ベース:

  • Swagger UI
  • Redoc
  • Stoplight Elements

カスタムプラットフォーム:

  • ReadMe.io
  • Postman Published Docs
  • カスタムの React コンポーネント
インタラクティブなサンプル

単一のリクエストにとどまらない内容にします。

## Interactive Tutorial: Send Your First Message

### Step 1: Check your balance
<api-explorer endpoint="GET /account/balance" />

### Step 2: Send a message
<api-explorer endpoint="POST /messages"
  body='{"to": "+15551234567", "body": "Hello!"}' />

### Step 3: Check message status
<api-explorer endpoint="GET /messages/{id}"
  params='{"id": "{{previous.id}}"}' />

よくある失敗ポイント

失敗ポイントの分析

開発者がどこで、なぜつまずくのかを追跡します。

// Instrument error events
api.on('request_error', (error, request) => {
  analytics.track('api_error', {
    error_type: error.type,
    error_code: error.code,
    endpoint: request.endpoint,
    time_since_signup: timeSinceSignup(),
    is_first_call: isFirstCall()
  });
});
初回の呼び出しで最もよくある失敗

1. 認証エラー(初回の呼び出し失敗の40%)

Problem: Wrong key, malformed header, missing auth
Fix:
- Clearer error messages: "API key should start with 'sk_test_'"
- Pre-filled code examples with actual key
- Auth header format shown with example

2. リクエスト形式のエラー(25%)

Problem: Wrong content type, malformed JSON, missing fields
Fix:
- Accept flexible content types on simple endpoints
- Return specific field-level errors
- Show exactly what was expected vs. received

3. 環境/セットアップのエラー(20%)

Problem: SDK not installed, wrong SDK version, missing dependencies
Fix:
- Version-specific installation instructions
- Compatibility matrix clearly visible
- Quick environment check script

4. レート制限(10%)

Problem: Aggressive rate limits during exploration
Fix:
- Generous sandbox limits (or none)
- Clear rate limit errors with retry-after
- Don't count failed requests against limits

5. ネットワークエラー(5%)

Problem: Firewall, proxy, SSL issues
Fix:
- Connectivity test endpoint
- Clear networking troubleshooting guide
- Alternative ports/protocols if possible
エラーからの復旧フロー

オンボーディングを継続できるよう、エラーメッセージを設計します。

{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key provided",
    "code": "invalid_api_key",
    "recovery": {
      "steps": [
        "Check that your API key starts with 'sk_test_' or 'sk_live_'",
        "Ensure there are no extra spaces or newlines",
        "Generate a new key at https://dashboard.example.com/keys"
      ],
      "docs": "https://docs.example.com/authentication",
      "support": "https://support.example.com/auth-issues"
    }
  }
}

初回の呼び出し体験の監査

監査チェックリスト

この監査は四半期ごと(またはオンボーディングを変更した後)に実施します。

新規開発者として:

  • 新しいアカウントを作成する(新しいブラウザーまたはシークレットウィンドウを使用)
  • API キーを使えるようになるまでの時間を計る
  • クイックスタートの手順に正確に従う
  • 最初の API 呼び出しを行う
  • 合計所要時間と、障害になった箇所をすべて記録する

確認する質問:

  • ホームページから最初の API 呼び出しまでに、何回クリックする必要がありましたか?
  • 何ページ/何タブを開く必要がありましたか?
  • 説明されていないことで、何を自分で調べる必要がありましたか?
  • どこで行き詰まったり、混乱したりしましたか?
  • 何があれば、途中で諦めずに済みましたか?
障害ポイントの評価
障害影響優先度
API キーの取得前にメール認証が必要高直ちに修正
設定の奥深くに API キーがある高直ちに修正
コード例にコピー用ボタンがない中今四半期中に修正
クイックスタートが特定の OS を前提としている中今四半期中に修正
サンプルで古い SDK バージョンを使用している低ドキュメント更新時に修正

オンボーディング最適化フレームワーク

ステップ1:現状を測定する
  • TTFAC の追跡を計測する
  • 開発者5人を対象に初回呼び出しの監査を実施する
  • 離脱率が高い上位3つのポイントを特定する
ステップ2:手順を減らす
  • 完全に省略できる手順はありますか?
  • 後回しにできる手順はありますか?
  • 複数の手順をまとめられますか?
ステップ3:残りの手順を迅速化する
  • 可能な項目はすべて事前入力する
  • あらゆる場所にコピー用ボタンを設置する
  • 進捗と次の手順を表示する
ステップ4:失敗から復旧できるようにする
  • エラーメッセージを改善する
  • インラインのトラブルシューティングを追加する
  • 行き詰まった開発者にライブサポートを提供する
ステップ5:測定して改善を繰り返す
  • TTFAC の改善を追跡する
  • オンボーディングの変更を A/B テストする
  • 実際の開発者を対象に定期的な監査を行う

ツール

オンボーディング分析
  • Amplitude/Mixpanel:イベント追跡とファネル分析
  • FullStory/Hotjar:セッション録画
  • カスタムダッシュボード:TTFAC 指標
インタラクティブなドキュメント
  • ReadMe.io:機能が充実した開発者向けハブ
  • Stoplight:OpenAPI 対応のドキュメント
  • Redocly:API ドキュメントプラットフォーム
  • カスタム:React/Vue で構築
テスト
  • Ghost Inspector:オンボーディングの自動テスト
  • Checkly:API の監視とテスト
  • k6:オンボーディングフローの負荷テスト

関連スキル

  • docs-as-marketing:クイックスタートのドキュメント
  • sdk-dx:オンボーディングの複雑さを軽減する SDK
  • developer-sandbox:開発者がオンボーディングに使うプレイグラウンド
  • developer-audience-context:オンボーディング対象者を理解する
  • developer-metrics:オンボーディングの成功を測定する

コメント