Pergunta

Por que meu carrossel dinâmico para meu agente de IA avançada não carrega?

Resposta

Esse erro pode ocorrer mesmo quando tudo estiver configurado corretamente. Se o carrossel dinâmico não carregar intermitentemente, isso pode ser devido à integração da API não retornando uma matriz formatada adequadamente que o carrossel pode ler.

Este bloco espera um parâmetro do tipo "matriz". No entanto, alguns pontos de extremidade da API nem sempre retornam uma matriz, especialmente quando apenas um produto é encontrado. Em vez de envolver um único item em uma matriz, a resposta pode retornar apenas o próprio item. Sem uma matriz na carga, o carrossel não carregará.

Estes são os sintomas desse comportamento:

Uma resposta de erro técnico é observada dos registros de conversas, embora não haja muitas dicas sobre qual é o erro.

Inspecionar a aba Rede nas Ferramentas do desenvolvedor do navegador revela que a matriz de carrossel é retornada vazia:

Para corrigir esse problema, atualize a consulta JSONata na integração da API para lidar com respostas que não são de matriz e retornar uma estrutura que o carrossel pode processar.

Para ilustrar, veja um exemplo de caso:

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

Para evitar esse problema, aplique a solução a seguir, encerrando o objeto data.payload:

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

Isso garante que o carrossel funcione corretamente, mesmo quando apenas um único resultado é retornado.

Quando um ponto de extremidade retorna apenas um produto em vez de uma matriz, o parâmetro "produtos" não é exibido na resposta:

O objeto data não está retornando uma matriz, e das configurações de integração da API, podemos ver que o teste não consegue recuperar dados porque espera um parâmetro de products, que não é retornado quando apenas um item é encontrado.

O objeto data não retorna uma matriz e o teste de integração da API falha porque espera um parameter de products que não é incluído quando apenas um único item é retornado.

Para resolver esse problema, use o exemplo a seguir:

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

 

Isenção de responsabilidade: Este artigo destina-se apenas a fins informativos. A Zendesk não oferece Support para códigos personalizados ou consultas JSONata e não pode garantir sua funcionalidade. Publique problemas encontrados nos comentários ou tente buscar uma solução online.

Para mais informações, consulte os seguintes artigos:

  • Uso do JSONata com agentes de IA avançados
  • Referência JSONata para agentes de IA avançados

Aviso sobre a tradução: este artigo foi traduzido por um software de tradução automática para oferecer a você uma compreensão básica do conteúdo. Medidas razoáveis foram tomadas para fornecer uma tradução precisa, no entanto, a Zendesk não garante a precisão da tradução.

Em caso de dúvidas relacionadas à precisão das informações contidas no artigo traduzido, consulte a versão oficial do artigo em inglês.

Powered by Zendesk