Be CMS · Docs
← Toda la documentación

Manual de uso del API de FAQs (solo lectura)

El API de FAQs permite consultar la información pública de un contenedor y sus preguntas. Todas las rutas viven bajo /api/faqs y devuelven JSON.

Autenticación

  • Incluye Authorization: Bearer <token> en cada solicitud.
  • El token debe estar activo y tener permisos sobre el recurso que consultas.
  • Mantén Content-Type: application/json incluso cuando no envíes cuerpo.

Permisos

  • read: habilita las peticiones GET.

Si el token está vencido, inactivo o no cuenta con el permiso read, la API responde con 401 o 403.

Códigos de respuesta comunes

  • 200 OK: respuesta exitosa.
  • 400 Bad Request: falta un parámetro obligatorio o es inválido.
  • 401 / 403: token ausente, inválido o sin permisos.
  • 404 Not Found: contenedor o pregunta inexistente, o fuera de alcance del token.
  • 405 Method Not Allowed: se intentó un método distinto de GET.
  • 500 Internal Server Error: error no controlado en el servidor.

Contenedores y preguntas — /api/faqs

Parámetro obligatorio

  • containerId (string): identifica el contenedor a consultar.

Parámetros opcionales

  • limit (número > 0): máximo de preguntas a devolver (1–100, por defecto 50).
  • id (string): cuando se envía, devuelve únicamente la pregunta con ese identificador.

GET listado

Devuelve el contenedor solicitado y las preguntas publicadas asociadas a él.

bash
curl "https://cms.begraffic.com/api/faqs?containerId=soporte-general&limit=20" \
  -H "Authorization: Bearer TU_TOKEN"

Respuesta

json
{
  "container": {
    "id": "soporte-general",
    "name": "Soporte general",
    "description": "Preguntas frecuentes del área de soporte.",
    "status": "published",
    "questionsCount": 4,
    "slug": "soporte-general",
    "createdAt": "2024-05-01T12:00:00.000Z",
    "updatedAt": "2024-06-10T09:30:00.000Z"
  },
  "items": [
    {
      "id": "politica-devoluciones",
      "question": "¿Cuál es la política de devoluciones?",
      "answer": "Aceptamos devoluciones dentro de los primeros 30 días.",
      "status": "published",
      "order": 10,
      "createdAt": "2024-05-01T12:00:00.000Z",
      "updatedAt": "2024-05-15T08:45:00.000Z"
    }
  ]
}

GET una pregunta

GET /api/faqs?containerId=<id>&id=<faqId>

bash
curl "https://cms.begraffic.com/api/faqs?containerId=soporte-general&id=politica-devoluciones" \
  -H "Authorization: Bearer TU_TOKEN"

Respuesta

json
{
  "container": {
    "id": "soporte-general",
    "name": "Soporte general",
    "slug": "soporte-general",
    "status": "published",
    "questionsCount": 4,
    "description": "Preguntas frecuentes del área de soporte.",
    "createdAt": "2024-05-01T12:00:00.000Z",
    "updatedAt": "2024-06-10T09:30:00.000Z"
  },
  "faq": {
    "id": "politica-devoluciones",
    "question": "¿Cuál es la política de devoluciones?",
    "answer": "Aceptamos devoluciones dentro de los primeros 30 días.",
    "status": "published",
    "order": 10,
    "createdAt": "2024-05-01T12:00:00.000Z",
    "updatedAt": "2024-05-15T08:45:00.000Z"
  }
}

Si la pregunta o el contenedor no existen o no están publicados, la API devuelve 404. Cuando se consulta un listado, el campo answer puede estar vacío ("") si aún no se registró contenido.