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.
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.
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.
Ne mettez jamais votre clé API dans :
Stockez-la toujours dans :
process.env.SPR_API_KEY)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.
https://api.socialproof.reviews/v1
Tous les points de terminaison sont scopés automatiquement à votre espace de travail basé sur la clé API.
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
}
GET /testimonials/:id
Authorization: Bearer VOTRE_CLÉ_API
PATCH /testimonials/:id
Authorization: Bearer VOTRE_CLÉ_API
Content-Type: application/json
{
"approved": true
}
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"
}
DELETE /testimonials/:id
Authorization: Bearer VOTRE_CLÉ_API
Retourne 204 No Content en cas de succès.
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 VOTRE_CLÉ_API"
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 };
}
Combinez votre déclencheur webhook avec l'API pour créer un flux d'approbation entièrement automatisé :
rating === 5, appelez PATCH /testimonials/:id avec { "approved": true }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,
});
}
| 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.
| 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 |