Question

Pourquoi le chargement de mon carrousel dynamique pour mon agent IA - Avancé ne fonctionne-t-il pas ?

Réponse

Cette erreur peut se produire même si tout est configuré correctement. Si le chargement du carrousel dynamique échoue de temps à autre, cela peut être dû au fait que l’intégration de l’API ne renvoie pas un tableau correctement formaté que peut lire le carrousel.

Ce bloc attend un paramètre de type « array ». Cependant, certains points de terminaison d’API ne renvoient pas toujours un tableau, surtout quand un seul produit est trouvé. Au lieu d’inclure l’élément à un tableau, la réponse peut renvoyer uniquement l’élément lui-même. Sans tableau dans la charge, le chargement du carrousel échouera.

Voici les symptômes de ce comportement :

Une réponse d’erreur technique est observée dans les journaux de conversation, bien qu’il n’y ait pas beaucoup d’indices quant à l’erreur.

L’onglet Réseau dans les outils de développement du navigateur révèle que le tableau du carrousel est renvoyé vide :

Pour résoudre ce problème, mettez à jour la requête JSONdata dans l’intégration d’API pour gérer les réponses autres que le tableau et renvoyer une structure que peut traiter le carrousel.

Voici un exemple de cas :

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

Pour éviter ce problème, appliquez la solution suivante en associant l’objet data.payload :

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

Cela garantit que le carrousel fonctionne correctement, même quand un seul résultat est renvoyé.

Quand un point de terminaison ne renvoie qu’un seul produit au lieu d’un tableau, le paramètre « products » ne s’affiche pas dans la réponse :

L’objet data ne renvoie pas un tableau et en regardant les paramètres d’intégration de l’API, nous voyons que le test ne parvient pas à récupérer les données car il attend une products , qui n’est pas renvoyé quand un seul élément est trouvé.

La data ne renvoie pas de tableau et le test d’intégration de l’API échoue car il attend une products parameter non incluse quand un seul élément est renvoyé.

Pour résoudre ce problème, vous pouvez utiliser l’exemple suivant :

($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
}

 

Clause de non-responsabilité : Cet article est fourni à titre informatif uniquement. Zendesk ne fournit pas assistance pour le code personnalisé ou les requêtes JSONdata et ne peut pas garantir leur fonctionnalité. Si vous rencontrez des problèmes, publiez-en la description dans la section commentaires ou essayez de trouver une solution en ligne.

Pour en savoir plus, consultez les articles suivants :

  • Utilisation de JSONdata avec les agents IA - Avancé
  • JSONdata - Référence pour les agents IA - Avancé

Traduction - exonération : cet article a été traduit par un logiciel de traduction automatisée pour permettre une compréhension élémentaire de son contenu. Des efforts raisonnables ont été faits pour fournir une traduction correcte, mais Zendesk ne garantit pas l’exactitude de la traduction.

Si vous avez des questions quant à l’exactitude des informations contenues dans l’article traduit, consultez la version anglaise de l’article, qui représente la version officielle.

Réalisé par Zendesk