질문
고급 AI 상담사 의 동적회전 슬라이드가로드되지 않는 이유는 무엇인가요?
답변
이 오류는 모든 것이 올바르게 설정된 경우에도 발생할 수 있습니다. 동적 회전 슬라이드가 간헐적으로 로드되지 않으면 API 연동이 회전 슬라이드가 읽을 수 있는 올바른 형식의 배열을 리턴하지 않기 때문일 수 있습니다.
이 블록에는 "array"유형의 매개변수가필요합니다. 하지만 일부 API 엔드포인트는 특히 하나의 제품만 발견되는 경우 항상 배열을 리턴하는 것은 아닙니다. 단일 항목을 배열로 래핑하는 대신 응답이 항목 자체를 리턴할 수도 있습니다. 페이로드에 배열이 없으면 회전 슬라이드가 로드되지 않습니다.
다음은 이 동작의 증상입니다.
오류가 무엇인지에 대한 힌트는 많지 않지만 대화 로그에서기술적 오류 답장이관찰됩니다.
브라우저의 개발자 도구에서 네트워크 탭을 살펴보면 회전 슬라이드 배열이 비어 있는 것으로 리턴됩니다.
이 문제를 해결하려면 배열이 아닌 응답을 처리하고 회전 슬라이드가 처리할 수 있는 구조를 리턴하도록 API 연동 서비스에서 JSONata 쿼리를 업데이트하세요.
예를 들어 다음과 같습니다.
data.payload.items.{
"title": title,
"description": description,
"imageURL": imageURL
}이 문제를 방지하려면 data.payload 개체를 래핑하여 다음 해결 방법을 적용하세요.
($items := data.payload.items; $exists($items[0]) ? $items : [$items])
이렇게 하면 단일 결과만 리턴되는 경우에도 회전 슬라이드가 올바르게 작동합니다.
엔드포인트가 배열 대신 하나의 제품만 리턴하는 경우에는 응답에 “products” 매개변수가 나타나지 않습니다.
개체 data은(는) 배열을 리턴하지 않으며 API 연동 설정에서 테스트가 데이터를 검색하지 못하는 것을 알 수 있습니다. products하나의 항목만 찾은 경우에는 리턴되지 않습니다.
The data개체가 배열을 리턴하지 않고 API 연동 테스트가 실패합니다. productsparameter단일 품목만 반품되는 경우에는 포함되지 않습니다.
이 문제를 해결하려면 다음 예를 사용할 수 있습니다.
($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
}
자세한 내용은 다음 문서를 참조하세요.
번역 고지 사항: 본 문서는 콘텐츠에 대한 기본적인 이해를 제공하기 위해 자동 번역 소프트웨어를 사용하여 번역되었습니다. 정확한 번역을 제공하고자 합당한 노력을 기울였으나 Zendesk는 번역의 정확성을 보장하지 않습니다.
번역된 문서에 포함된 정보의 정확성과 관련하여 질문이 있으시면 문서의 공식 버전인 영문 버전을 참조하시기 바랍니다.