Ihren Workspace-API-Schlüssel verwenden

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.

Ihren API-Schlüssel generieren

Schritt 1: Ihr Workspace-Admin-Panel öffnen

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.

Schritt 2: Den Schlüssel generieren

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.

Schritt 3: Sicher aufbewahren

Geben Sie Ihren API-Schlüssel niemals in:

Bewahren Sie ihn immer in:


Authentifizierung

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.


Basis-URL

https://api.socialproof.reviews/v1

Alle Endpunkte sind basierend auf dem API-Schlüssel automatisch auf Ihren Workspace beschränkt.


Kern-Endpunkte

Testimonials auflisten

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
}

Ein einzelnes Testimonial abrufen

GET /testimonials/:id
Authorization: Bearer YOUR_API_KEY

Ein Testimonial genehmigen

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

{
  "approved": true
}

Ein Testimonial erstellen

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"
}

Ein Testimonial löschen

DELETE /testimonials/:id
Authorization: Bearer YOUR_API_KEY

Gibt bei Erfolg 204 No Content zurück.


Code-Beispiele

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"

Häufige Integrationsmuster

Testimonials in Ihre eigene Website laden

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 };
}

Testimonials mit hoher Bewertung automatisch via Webhook + API genehmigen

Kombinieren Sie Ihren Webhook-Trigger mit der API, um einen vollständig automatisierten Genehmigungsfluss zu erstellen:

  1. Webhook wird ausgelöst, wenn ein Testimonial eingereicht wird
  2. Ihr Server empfängt den Payload
  3. Wenn rating === 5, rufen Sie PATCH /testimonials/:id mit { "approved": true } auf
  4. Das Testimonial erscheint sofort auf Ihrer Wall of Love

Mit Ihrem CRM synchronisieren

Nachdem 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,
  });
}

Rate-Limits

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.


Fehler-Referenz

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