Firmreader Docs Online logo

Referencia de API

Explora la referencia de la API REST de Firmreader para crear publicaciones, gestionar canales, autenticarte con claves API y consultar análisis con código.

La API de Firmreader es una API REST que te permite crear publicaciones, gestionar canales y consultar análisis mediante código. Prueba nuestra potente API.

URL base

https://api.firmreader.com/v1

Autenticación

Cada solicitud requiere una clave de API en el encabezado Authorization:

curl https://api.firmreader.com/v1/posts \
  -H "Authorization: Bearer fr_live_abc123"

Las claves de API se crean en Settings > API Keys. Cada clave tiene un alcance que limita aquello a lo que puede acceder:

AlcancePermisos
posts:readEnumerar y recuperar publicaciones
posts:writeCrear, actualizar y eliminar publicaciones
channels:readEnumerar y recuperar canales
channels:writeCrear, actualizar y eliminar canales
analytics:readConsultar métricas de interacción

Límites de solicitudes

PlanSolicitudes por minuto
Starter60
Business300
Enterprise1,000

Los encabezados de límite de solicitudes se incluyen en cada respuesta:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1708790400

Formato de errores

Todos los errores siguen un formato coherente:

{
  "error": {
    "code": "invalid_request",
    "message": "The channel_id field is required.",
    "param": "channel_id"
  }
}
Estado HTTPSignificado
400Solicitud incorrecta — comprueba tus parámetros
401No autorizado — la clave de API no es válida o falta
403Prohibido — la clave de API no tiene el alcance requerido
404No encontrado — el recurso no existe
429Límite de solicitudes alcanzado — reduce la velocidad
500Error del servidor — inténtalo de nuevo más tarde

Paginación

Los endpoints de lista devuelven resultados paginados. Usa los parámetros cursor y limit:

curl "https://api.firmreader.com/v1/posts?limit=20&cursor=post_abc123" \
  -H "Authorization: Bearer fr_live_abc123"

La respuesta incluye un campo next_cursor. Cuando es null, has llegado al final.

{
  "data": [...],
  "next_cursor": "post_xyz789",
  "has_more": true
}

Last updated on