Saltar al contenido principal

FAQ API

Endpoints admin (JWT)

Base path: /api/v1/dashboard/faq

CRUD

  • GET /?entityType=product&entityId=123&locale=es — lista FAQs de una entidad
  • POST / — crear
  • PATCH /:id — actualizar
  • DELETE /:id — borrar

Bulk

  • POST /bulk — array de objetos FAQ
  • POST /import/csv — body CSV (mira Editor de FAQ)
  • GET /export/csv — exportar. Sin filtros → todas las FAQs del tenant. Con ?entityType=…&entityId=… → filtrado.
  • GET /template — formato JSON de ejemplo

Generación

  • POST /generate — FAQs generadas por LLM para una entidad dada (estado draft, pendientes de aprobación)
  • POST /:id/approve — aprueba un draft generado
  • POST /:id/reject — rechaza

Endpoint público (API key)

Usado por el embed widget. Rate-limit de 200 req / 5 min por key.

GET /api/v1/public/faq/render?entityType=product&entityId=123&pageUrl=https://shop.example.com/products/foo
X-API-Key: sk_live_...
Origin: https://shop.example.com

La cabecera Origin debe coincidir con la lista blanca allowedDomains de la API key.

Respuesta:

{
"data": {
"entries": [{ "question": "...", "answer": "..." }],
"jsonLd": { "@context": "https://schema.org", "@type": "FAQPage", ... },
"scriptTag": "<script type=\"application/ld+json\">...</script>",
"htmlBlock": "<div class=\"clione-faq\">...</div>",
"entryCount": 5,
"specificCount": 3,
"globalCount": 2
}
}

La respuesta fusiona automáticamente las FAQs específicas de la entidad con las globales del tenant (primero las específicas, luego las globales, cada bloque ordenado por sortOrder).

Tipos de entidad

product, variant, category, collection, brand, page, global.