Tu clave API del espacio de trabajo te da acceso programático a tus testimonios: léelos, apruébalos, créalos desde fuentes externas o sincronízalos con tu propio producto. Este es el punto de integración para desarrolladores que quieren ir más allá de los widgets de inserción integrados.
Inicia sesión en SocialProof.Reviews y navega a tu espacio de trabajo. Haz clic en la pestaña Configuración o Integraciones en la barra lateral izquierda.
Haz clic en Generar clave API. Tu clave completa se mostrará una sola vez — cópiala de inmediato y guárdala en un lugar seguro, como un gestor de contraseñas o una bóveda de secretos.
Después de salir de la página, solo se muestran los primeros 10 caracteres de la clave. Si pierdes la clave, deberás regenerarla — la clave anterior quedará invalidada.
Nunca incluyas tu clave API en:
Guárdala siempre en:
process.env.SPR_API_KEY)Incluye tu clave API en cada solicitud como token Bearer en el encabezado Authorization:
Authorization: Bearer YOUR_API_KEY
Todas las solicitudes a la API deben realizarse mediante HTTPS. Las solicitudes HTTP son rechazadas.
https://api.socialproof.reviews/v1
Todos los endpoints están asociados automáticamente a tu espacio de trabajo según la clave API.
Recupera todos los testimonios de tu espacio de trabajo:
GET /testimonials
Authorization: Bearer YOUR_API_KEY
Parámetros de consulta opcionales:
| Parámetro | Tipo | Descripción |
|---|---|---|
approved |
boolean | Filtra por estado de aprobación |
rating |
number | Filtra por calificación mínima (1–5) |
limit |
number | Número de resultados (por defecto 20, máximo 100) |
offset |
number | Desplazamiento para paginación |
Ejemplo de respuesta:
{
"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
}
Importa un testimonio desde una fuente externa (importación CSV, migración desde una plataforma anterior o una encuesta completada):
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
Devuelve 204 No Content en caso de éxito.
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"
Si necesitas que los testimonios se rendericen con un diseño completamente personalizado que no coincide con los widgets de inserción, obténlos desde la API y renderízalos tú mismo:
// Ejemplo de servidor con 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 };
}
Combina tu disparador de webhook con la API para crear un flujo de aprobación completamente automatizado:
rating === 5, llama a PATCH /testimonials/:id con { "approved": true }Después de que se envíe un testimonio, usa la API para obtener el registro completo y enviarlo a tu CRM como nota de cliente o actividad:
// Activado por tu manejador de webhook
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 | Solicitudes por minuto | Solicitudes por día |
|---|---|---|
| Starter | 30 | 1,000 |
| Pro | 120 | 10,000 |
| Agency | 300 | 50,000 |
Las solicitudes que superan el límite de frecuencia reciben una respuesta 429 Too Many Requests. Implementa retroceso exponencial en tu integración.
| Estado | Significado |
|---|---|
200 |
Éxito |
201 |
Creado |
204 |
Eliminado |
400 |
Solicitud incorrecta — revisa el cuerpo de la solicitud |
401 |
Clave API inválida o ausente |
403 |
La clave no tiene permiso para esta acción |
404 |
Testimonio no encontrado |
429 |
Límite de frecuencia superado |
500 |
Error del servidor — inténtalo de nuevo |