Docs

Blog y catálogo

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.

Solo lectura (GET)Auth BearerJSON

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.

GET/api/blog/articles

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).
GET/api/blog/authors

Listar autores

Lista los autores publicados. Admite ?slug= para uno específico y ?limit=.

const res = await fetch('https://cms.begraffic.com/api/blog/authors', {
  headers: { Authorization: `Bearer ${process.env.BECMS_API_TOKEN}` },
})
const { authors } = await res.json()
  • Campos típicos: name, slug, bio, avatarUrl, status y timestamps en ISO 8601.
GET/api/blog/categories

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.

Referencia completa

Este es un ejemplo del recurso Blog. La referencia de todos los recursos (Podcast, Cursos, Galería, Calendario, FAQs, Testimonios, Aportes y Reservas) está en la documentación de la API.