Ihr Workspace-API-Schlüssel gibt Ihnen programmatischen Zugriff auf Ihre Testimonials — lesen Sie sie, genehmigen Sie sie, erstellen Sie sie aus externen Quellen oder synchronisieren Sie sie mit Ihrem eigenen Produkt. Dies ist der Integrationspunkt für Entwickler, die über die integrierten Embed-Widgets hinausgehen möchten.
Melden Sie sich bei SocialProof.Reviews an und navigieren Sie zu Ihrem Workspace. Klicken Sie in der linken Seitenleiste auf den Tab Settings oder Integrations.
Klicken Sie auf Generate API Key. Ihr vollständiger Schlüssel wird einmalig angezeigt — kopieren Sie ihn sofort und bewahren Sie ihn an einem sicheren Ort wie einem Passwortmanager oder einem Secrets-Vault auf.
Nachdem Sie die Seite verlassen haben, werden nur die ersten 10 Zeichen des Schlüssels angezeigt. Wenn Sie den Schlüssel verlieren, müssen Sie ihn neu generieren — der alte Schlüssel wird ungültig.
Geben Sie Ihren API-Schlüssel niemals in:
Bewahren Sie ihn immer in:
process.env.SPR_API_KEY)Fügen Sie Ihren API-Schlüssel in jede Anfrage als Bearer-Token im Authorization-Header ein:
Authorization: Bearer YOUR_API_KEY
Alle API-Anfragen müssen über HTTPS erfolgen. HTTP-Anfragen werden abgelehnt.
https://api.socialproof.reviews/v1
Alle Endpunkte sind basierend auf dem API-Schlüssel automatisch auf Ihren Workspace beschränkt.
Alle Testimonials in Ihrem Workspace abrufen:
GET /testimonials
Authorization: Bearer YOUR_API_KEY
Optionale Query-Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
approved |
boolean | Nach Genehmigungsstatus filtern |
rating |
number | Nach Mindestbewertung filtern (1–5) |
limit |
number | Anzahl der Ergebnisse (Standard 20, max 100) |
offset |
number | Paginierungs-Offset |
Beispielantwort:
{
"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
}
Importieren Sie ein Testimonial aus einer externen Quelle (CSV-Import, Migration von einer älteren Plattform oder eine abgeschlossene Umfrage):
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
Gibt bei Erfolg 204 No Content zurück.
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"
Wenn Sie Testimonials in einem vollständig benutzerdefinierten Design benötigen, das nicht zu den Embed-Widgets passt, holen Sie sie über die API und rendern Sie sie selbst:
// Next.js Server-seitiges Beispiel
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 };
}
Kombinieren Sie Ihren Webhook-Trigger mit der API, um einen vollständig automatisierten Genehmigungsfluss zu erstellen:
rating === 5, rufen Sie PATCH /testimonials/:id mit { "approved": true } aufNachdem ein Testimonial eingereicht wurde, verwenden Sie die API, um den vollständigen Datensatz abzurufen und ihn als Kundennotiz oder Aktivität in Ihr CRM zu übertragen:
// Ausgelöst durch Ihren Webhook-Handler
async function syncToCRM(testimonialId) {
const testimonial = await fetchTestimonial(testimonialId);
await crm.createNote({
contactEmail: testimonial.reviewer.email,
note: `Left a ${testimonial.rating}-star testimonial: "${testimonial.review}"`,
date: testimonial.submittedAt,
});
}
| Plan | Anfragen pro Minute | Anfragen pro Tag |
|---|---|---|
| Starter | 30 | 1.000 |
| Pro | 120 | 10.000 |
| Agency | 300 | 50.000 |
Anfragen, die das Rate-Limit überschreiten, erhalten eine 429 Too Many Requests-Antwort. Implementieren Sie exponentielles Backoff in Ihrer Integration.
| Status | Bedeutung |
|---|---|
200 |
Erfolg |
201 |
Erstellt |
204 |
Gelöscht |
400 |
Ungültige Anfrage — prüfen Sie Ihren Request-Body |
401 |
Ungültiger oder fehlender API-Schlüssel |
403 |
Schlüssel hat keine Berechtigung für diese Aktion |
404 |
Testimonial nicht gefunden |
429 |
Rate-Limit überschritten |
500 |
Serverfehler — versuchen Sie es erneut |