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/jsonincluso cuando no envíes cuerpo.
Permisos
read: habilita las peticionesGET.
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 deGET.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.
curl "https://cms.begraffic.com/api/faqs?containerId=soporte-general&limit=20" \
-H "Authorization: Bearer TU_TOKEN"Respuesta
{
"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>
curl "https://cms.begraffic.com/api/faqs?containerId=soporte-general&id=politica-devoluciones" \
-H "Authorization: Bearer TU_TOKEN"Respuesta
{
"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.