Pregunta

¿Por qué no se carga mi carrusel dinámico para mi agente IA avanzada?

Respuesta

Este error puede ocurrir incluso cuando todo está configurado correctamente. Si el carrusel dinámico no se carga intermitentemente, podría deberse a que la integración de API no devuelve una matriz con el formato correcto que el carrusel pueda leer.

Este bloque espera un parámetro de tipo "matriz". Sin embargo, es posible que algunos extremos de API no siempre devuelvan una matriz, especialmente cuando solo se encuentra un producto. En lugar de envolver el elemento individual en una matriz, la respuesta puede devolver solo el elemento en sí. Sin una matriz en la carga, el carrusel no se cargará.

Estos son los síntomas de este comportamiento:

Se observa una respuesta de error técnica en los registros de conversación, aunque no hay muchas pistas sobre cuál es el error.

Al inspeccionar la pestaña Red en las herramientas de desarrollo del navegador, se observa que la matriz del carrusel se devuelve vacía:

Para corregir este problema, actualice la consulta JSONata en la integración de API para manejar las respuestas que no son de matriz y devolver una estructura que el carrusel pueda procesar.

Para ilustrarlo, este es un caso de ejemplo:

data.payload.items.{
  "title": title,
  "description": description,
  "imageURL": imageURL
}

Para evitar este problema, aplique la siguiente solución envolviendo el objeto data.payload:

($items := data.payload.items; $exists($items[0]) ? $items : [$items])

Esto garantiza que el carrusel funcione correctamente, incluso si solo se devuelve un resultado.

Cuando un extremo devuelve un solo producto en lugar de una matriz, el parámetro "products" no aparecerá en la respuesta:

El objeto data no devuelve una matriz y, a partir de la configuración de la integración de API, podemos ver que la prueba no puede recuperar datos porque espera un parámetro de products, que no se devuelve cuando solo se encuentra un elemento.

El objeto data no devuelve una matriz, y la prueba de integración de API falla porque espera un parameter de products que no se incluye cuando solo se devuelve un elemento.

Para resolver este problema, puede usar el siguiente ejemplo:

($data := data; $exists($data.products) ? $data.products[[0..2]] : [$data]).{
  "title": title,
  "description": $length(description)  128 ? $substring(description, 0, 125) & "..." : description,
  "thumbnail": thumbnail,
  "id": id
}

 

Descargo de responsabilidad: Este artículo se ofrece con fines de instrucción únicamente. Zendesk no ofrece Support para código personalizado ni consultas JSONata, y no puede garantizar su funcionalidad. Publique cualquier problema que tenga en la sección de comentarios o intente buscar una solución en Internet.

Si desea más información, consulte los siguientes artículos:

  • Uso de JSONata con agentes IA avanzada
  • Referencia a JSONata para agentes IA avanzada

Descargo de responsabilidad de la traducción: Este artículo ha sido traducido usando software de traducción automática para proporcionar una idea básica del contenido. Se han realizado esfuerzos razonables para proporcionar una traducción exacta, sin embargo, Zendesk no garantiza la exactitud de la traducción.

Si surge alguna pregunta relacionada con la exactitud de la información incluida en el artículo traducido, consulte la versión en inglés del artículo, que es la versión oficial.

Tecnología de Zendesk