ワークスペースAPIキーの使い方

ワークスペースのAPIキーは、推薦文へのプログラムによるアクセスを提供します — 読み取り、承認、外部ソースからの作成、または自社プロダクトとの同期が可能です。これは、組み込みの埋め込みウィジェットを超えた統合を行いたいデベロッパーのための統合ポイントです。

APIキーの生成

ステップ1: ワークスペースの管理パネルを開く

SocialProof.Reviewsにログインしてワークスペースに移動します。左サイドバーの 設定 または 連携 タブをクリックします。

ステップ2: キーを生成する

APIキーを生成 をクリックします。完全なキーは一度だけ表示されます — すぐにコピーしてパスワードマネージャーや機密情報の保管庫などの安全な場所に保存してください。

ページを離れると、キーの最初の10文字のみ表示されます。キーを紛失した場合は再生成が必要で、古いキーは無効になります。

ステップ3: 安全に保管する

APIキーを以下の場所には絶対に置かないでください:

常に以下の場所に保管してください:


認証

すべてのリクエストで、Authorization ヘッダーにBearerトークンとしてAPIキーを含めてください:

Authorization: Bearer YOUR_API_KEY

すべてのAPIリクエストはHTTPS経由で行う必要があります。HTTPリクエストは拒否されます。


ベースURL

https://api.socialproof.reviews/v1

すべてのエンドポイントは、APIキーに基づいてワークスペースに自動的にスコープされます。


コアエンドポイント

推薦文の一覧取得

ワークスペース内のすべての推薦文を取得します:

GET /testimonials
Authorization: Bearer YOUR_API_KEY

オプションのクエリパラメータ:

パラメータ 説明
approved boolean 承認状態でフィルタリング
rating number 最低評価でフィルタリング(1〜5)
limit number 結果数(デフォルト20、最大100)
offset number ページネーションのオフセット

レスポンスの例:

{
  "data": [
    {
      "id": "t_abc123",
      "reviewer": {
        "name": "Sarah Chen",
        "email": "[email protected]",
        "jobTitle": "Product Manager",
        "company": "TechCorp"
      },
      "rating": 5,
      "review": "Incredible tool. We embedded the wall on our homepage and saw a 23% lift in demo requests.",
      "approved": true,
      "submittedAt": "2026-03-10T14:22:00Z",
      "photos": [],
      "videoUrl": null
    }
  ],
  "total": 47,
  "limit": 20,
  "offset": 0
}

単一の推薦文を取得する

GET /testimonials/:id
Authorization: Bearer YOUR_API_KEY

推薦文を承認する

PATCH /testimonials/:id
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "approved": true
}

推薦文を作成する

外部ソース(CSVインポート、旧プラットフォームからの移行、完了したアンケートなど)から推薦文をインポートします:

POST /testimonials
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "reviewer": {
    "name": "Marcus Webb",
    "email": "[email protected]",
    "jobTitle": "CEO",
    "company": "Acme Corp"
  },
  "rating": 5,
  "review": "We replaced our old review widget within a day. The setup was seamless.",
  "approved": false,
  "source": "import"
}

推薦文を削除する

DELETE /testimonials/:id
Authorization: Bearer YOUR_API_KEY

成功時は 204 No Content を返します。


コード例

Node.js(fetch)

const SPR_API_KEY = process.env.SPR_API_KEY;

async function getApprovedTestimonials() {
  const res = await fetch(
    'https://api.socialproof.reviews/v1/testimonials?approved=true&limit=10',
    {
      headers: {
        'Authorization': `Bearer ${SPR_API_KEY}`,
        'Content-Type': 'application/json',
      },
    }
  );
  const data = await res.json();
  return data.data;
}

Python(requests)

import os
import requests

api_key = os.environ['SPR_API_KEY']
headers = {'Authorization': f'Bearer {api_key}'}

response = requests.get(
    'https://api.socialproof.reviews/v1/testimonials',
    headers=headers,
    params={'approved': 'true', 'rating': 5}
)
testimonials = response.json()['data']

cURL

curl -X GET \
  "https://api.socialproof.reviews/v1/testimonials?approved=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

よくある統合パターン

自社ウェブサイトに推薦文を取得する

埋め込みウィジェットのデザインに合わない完全カスタムデザインで推薦文をレンダリングする必要がある場合は、APIから取得して自分でレンダリングします:

// Next.jsのサーバーサイドの例
export async function getStaticProps() {
  const res = await fetch(
    'https://api.socialproof.reviews/v1/testimonials?approved=true&rating=5',
    { headers: { Authorization: `Bearer ${process.env.SPR_API_KEY}` } }
  );
  const { data } = await res.json();
  return { props: { testimonials: data }, revalidate: 3600 };
}

Webhook + APIで高評価の推薦文を自動承認する

Webhookトリガーとメールを組み合わせて、完全自動の承認フローを作成します:

  1. 推薦文が送信されるとWebhookが起動する
  2. サーバーがペイロードを受信する
  3. rating === 5 の場合、{ "approved": true }PATCH /testimonials/:id を呼び出す
  4. 推薦文がWall of Loveに即座に表示される

CRMと同期する

推薦文が送信されたら、APIを使って完全なレコードを取得し、顧客のメモまたはアクティビティとしてCRMにプッシュします:

// Webhookハンドラーによってトリガーされる
async function syncToCRM(testimonialId) {
  const testimonial = await fetchTestimonial(testimonialId);
  await crm.createNote({
    contactEmail: testimonial.reviewer.email,
    note: `${testimonial.rating}つ星の推薦文を残しました:「${testimonial.review}」`,
    date: testimonial.submittedAt,
  });
}

レート制限

プラン 1分あたりのリクエスト数 1日あたりのリクエスト数
Starter 30 1,000
Pro 120 10,000
Agency 300 50,000

レート制限を超えたリクエストは 429 Too Many Requests レスポンスを受け取ります。統合には指数バックオフを実装してください。


エラーリファレンス

ステータス 意味
200 成功
201 作成済み
204 削除済み
400 不正なリクエスト — リクエストボディを確認してください
401 無効または不足しているAPIキー
403 このアクションの権限がありません
404 推薦文が見つかりません
429 レート制限超過
500 サーバーエラー — 再試行してください