Embed widget
El embed widget es una única etiqueta <script> que inyecta contenido de FAQ + JSON-LD en cualquier página de storefront.
Uso básico
<div id="clione-faq"></div>
<script
src="https://api.clione.ai/embed.js"
data-api-key="sk_live_..."
data-target="#clione-faq"
async
></script>
Eso es todo. El script:
- Detecta automáticamente la entidad actual (producto / categoría / página)
- Recupera las FAQs desde la API pública de Clione
- Inyecta un acordeón HTML visible en
#clione-faq - Inyecta un
<script type="application/ld+json">invisible con schemaFAQPageen<head>
Cómo se detecta el contexto
Orden de prioridad:
-
Override explícito en la etiqueta
<script>:<script
src="https://api.clione.ai/embed.js"
data-api-key="sk_live_..."
data-entity-type="product"
data-entity-id="SKU-001"
></script> -
Meta tags OpenGraph — si la página tiene:
<meta property="og:type" content="product">
<meta property="product:retailer_item_id" content="SKU-001">el widget los recoge.
-
Patrones de URL:
- Shopify:
/products/:handle,/collections/:handle,/pages/:handle - BigCommerce:
window.BCData.product_attributes.product_id,/product/:slug,/category/:slug - WooCommerce: clase de body
.single-product+postid-N
- Shopify:
-
Si no se detecta contexto, el widget loguea en consola y no renderiza nada. Sin entrada para esta página.
Seguridad
La API key es pública en la etiqueta del script — no pongas ahí una key con scope admin. Usa solo el scope products:read.
La key se valida en cada petición contra su lista blanca allowedDomains (Origin / Referer). Las peticiones desde orígenes no permitidos devuelven 403.
Estilos
Por ahora el acordeón usa estilos inline (autocontenido, sin colisiones de CSS). Estamos construyendo un panel Style de personalización (mira la tarea 869cwuwxr en la roadmap) para que los merchants puedan ajustar colores / fuentes / radius desde el dashboard.
Debug
Abre la consola del navegador — el widget loguea:
[Clione] embed.js: rendered 5 FAQ entries for product/SKU-001 (detected via og-meta)
Si no renderiza nada:
- Comprueba que tus meta tags
og:type+product:retailer_item_idestán presentes - O añade
data-entity-type/data-entity-idexplícitos en la etiqueta del script - Verifica que la API key no se ha revocado
- Verifica que el dominio actual está en
allowedDomainsde la key