ワークスペースのAPIキーは、推薦文へのプログラムによるアクセスを提供します — 読み取り、承認、外部ソースからの作成、または自社プロダクトとの同期が可能です。これは、組み込みの埋め込みウィジェットを超えた統合を行いたいデベロッパーのための統合ポイントです。
SocialProof.Reviewsにログインしてワークスペースに移動します。左サイドバーの 設定 または 連携 タブをクリックします。
APIキーを生成 をクリックします。完全なキーは一度だけ表示されます — すぐにコピーしてパスワードマネージャーや機密情報の保管庫などの安全な場所に保存してください。
ページを離れると、キーの最初の10文字のみ表示されます。キーを紛失した場合は再生成が必要で、古いキーは無効になります。
APIキーを以下の場所には絶対に置かないでください:
常に以下の場所に保管してください:
process.env.SPR_API_KEY)すべてのリクエストで、Authorization ヘッダーにBearerトークンとしてAPIキーを含めてください:
Authorization: Bearer YOUR_API_KEY
すべてのAPIリクエストはHTTPS経由で行う必要があります。HTTPリクエストは拒否されます。
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 を返します。
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;
}
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 -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トリガーとメールを組み合わせて、完全自動の承認フローを作成します:
rating === 5 の場合、{ "approved": true } で PATCH /testimonials/:id を呼び出す推薦文が送信されたら、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 |
サーバーエラー — 再試行してください |