Contenido editorial
API de blog: artículos, autores y categorías
Consume el contenido de tu blog desde un sitio headless o cualquier integración. Es una API de solo lectura: autentícate con el token de tu workspace en el encabezado Authorization: Bearer y recibe JSON listo para renderizar. Crea y edita el contenido desde el dashboard de Be CMS.
Autenticación
Cómo autenticar
Crea un token en el panel de tu workspace (ver Tokens de acceso) y envíalo en cada solicitud como Authorization: Bearer <token>. El token ya identifica tu workspace, así que no se envía ningún id de página por header ni query.
Estados de publicación
- published: Publicado y visible en la API pública.
- programado: Es published + isScheduled con scheduledFor futuro; la API lo oculta hasta su fecha.
- draft: Borrador: no aparece en la API pública.
- archived / hidden: Fuera del canal público; conserva el contenido.
Endpoints
Recursos disponibles
Tres recursos de solo lectura. Todos aceptan ?slug= para traer uno específico y ?limit= para acotar la lista.
Listar artículos publicados
Devuelve los artículos publicados del workspace. Admite ?limit= y ?slug= para traer uno solo. Los artículos programados con fecha futura se ocultan automáticamente.
const res = await fetch('https://cms.begraffic.com/api/blog/articles?limit=10', {
headers: { Authorization: `Bearer ${process.env.BECMS_API_TOKEN}` },
})
const { articles } = await res.json()
console.log(articles)- Responde { articles: [...] }. Cada artículo trae slug, title, excerpt, status, coverImage, content ({ html, htmlPreview }) y timestamps (createdAt/updatedAt/publishedAt) en ISO 8601.
- Usa ?slug=mi-articulo para obtener uno específico (debe estar publicado).
Listar categorías
Lista las categorías publicadas. Admite ?slug= y ?limit=.
const res = await fetch('https://cms.begraffic.com/api/blog/categories', {
headers: { Authorization: `Bearer ${process.env.BECMS_API_TOKEN}` },
})
const { categories } = await res.json()- Campos típicos: name, slug, description, status.
Notas
Bueno saber
API de solo lectura
Los endpoints públicos de blog solo aceptan GET. La creación y edición de contenido se hace desde el dashboard de Be CMS.
Códigos de estado
401 token ausente o inválido · 403 sin permiso o workspace suspendido · 404 recurso no encontrado · 429 demasiadas solicitudes.
Consumo
Cada llamada cuenta contra el consumo (llamadas y ancho de banda) del plan de tu workspace. Las URLs de imágenes se reescriben para servirse por el proxy de assets.