Comment utiliser la clé API de votre espace de travail

La clé API de votre espace de travail vous donne un accès programmatique à vos témoignages — lisez-les, approuvez-les, créez-en depuis des sources externes ou synchronisez-les avec votre propre produit. C'est le point d'intégration pour les développeurs qui souhaitent aller au-delà des widgets d'intégration intégrés.

Génération de votre clé API

Étape 1 : Ouvrez le panneau d'administration de votre espace de travail

Connectez-vous à SocialProof.Reviews et accédez à votre espace de travail. Cliquez sur l'onglet Paramètres ou Intégrations dans la barre latérale gauche.

Étape 2 : Générez la clé

Cliquez sur Générer une clé API. Votre clé complète sera affichée une seule fois — copiez-la immédiatement et stockez-la dans un emplacement sécurisé tel qu'un gestionnaire de mots de passe ou un coffre-fort de secrets.

Après avoir quitté la page, seuls les 10 premiers caractères de la clé sont affichés. Si vous perdez la clé, vous devez la régénérer — l'ancienne clé sera invalidée.

Étape 3 : Stockez-la de manière sécurisée

Ne mettez jamais votre clé API dans :

Stockez-la toujours dans :


Authentification

Incluez votre clé API dans chaque requête comme token Bearer dans l'en-tête Authorization :

Authorization: Bearer VOTRE_CLÉ_API

Toutes les requêtes API doivent être faites via HTTPS. Les requêtes HTTP sont rejetées.


URL de base

https://api.socialproof.reviews/v1

Tous les points de terminaison sont scopés automatiquement à votre espace de travail basé sur la clé API.


Points de terminaison principaux

Lister les témoignages

Récupérer tous les témoignages dans votre espace de travail :

GET /testimonials
Authorization: Bearer VOTRE_CLÉ_API

Paramètres de requête optionnels :

Paramètre Type Description
approved boolean Filtrer par statut d'approbation
rating number Filtrer par note minimale (1–5)
limit number Nombre de résultats (défaut 20, max 100)
offset number Décalage de pagination

Exemple de réponse :

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

Obtenir un seul témoignage

GET /testimonials/:id
Authorization: Bearer VOTRE_CLÉ_API

Approuver un témoignage

PATCH /testimonials/:id
Authorization: Bearer VOTRE_CLÉ_API
Content-Type: application/json

{
  "approved": true
}

Créer un témoignage

Importer un témoignage depuis une source externe (import CSV, migration de plateforme existante ou sondage complété) :

POST /testimonials
Authorization: Bearer VOTRE_CLÉ_API
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"
}

Supprimer un témoignage

DELETE /testimonials/:id
Authorization: Bearer VOTRE_CLÉ_API

Retourne 204 No Content en cas de succès.


Exemples de code

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 VOTRE_CLÉ_API"

Patterns d'intégration courants

Récupérer des témoignages dans votre propre site web

Si vous avez besoin de témoignages rendus dans un design entièrement personnalisé qui ne correspond pas aux widgets d'intégration, récupérez-les depuis l'API et rendez-les vous-même :

// Exemple côté serveur 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 };
}

Auto-approuver les témoignages à haute note via webhook + API

Combinez votre déclencheur webhook avec l'API pour créer un flux d'approbation entièrement automatisé :

  1. Le webhook se déclenche quand un témoignage est soumis
  2. Votre serveur reçoit le payload
  3. Si rating === 5, appelez PATCH /testimonials/:id avec { "approved": true }
  4. Le témoignage apparaît instantanément sur votre Mur d'Amour

Synchroniser avec votre CRM

Après qu'un témoignage est soumis, utilisez l'API pour récupérer l'enregistrement complet et le pousser dans votre CRM comme note client ou activité :

// Déclenché par votre gestionnaire webhook
async function syncToCRM(testimonialId) {
  const testimonial = await fetchTestimonial(testimonialId);
  await crm.createNote({
    contactEmail: testimonial.reviewer.email,
    note: `A laissé un témoignage ${testimonial.rating} étoiles : "${testimonial.review}"`,
    date: testimonial.submittedAt,
  });
}

Limites de taux

Plan Requêtes par minute Requêtes par jour
Starter 30 1 000
Pro 120 10 000
Agency 300 50 000

Les requêtes qui dépassent la limite de taux reçoivent une réponse 429 Too Many Requests. Implémentez un backoff exponentiel dans votre intégration.


Référence des erreurs

Statut Signification
200 Succès
201 Créé
204 Supprimé
400 Mauvaise requête — vérifiez le corps de votre requête
401 Clé API invalide ou manquante
403 La clé n'a pas la permission pour cette action
404 Témoignage introuvable
429 Limite de taux dépassée
500 Erreur serveur — réessayez