질문
방문자의 채팅 연결시간이 초과되었지만 위젯이 로드되어 있는 창이나 탭을 닫지 않은 후 나중에 다시 연결하여 새 메시지를 보내는 경우에는채팅 전 양식이 자동으로 표시되지 않습니다. 시간 초과 후 다시 연결할 때 방문자가 항상 Web Widget에 채팅 전 양식을 표시하도록 하는 방법이 있나요?
답변
기본적으로 방문자가 다시 연결할 때 채팅 전 양식을 건너뜁니다. 아래 스크립트를 적용하여 채팅 전 양식이 기존Web Widget(클래식) 스크립트앞에 표시되도록 합니다.
<script>
// run whenever chat connects (or reconnects)
zE('webWidget:on', 'chat:connected', function() {
// get the current state of the chat session
let isChatting = zE('webWidget:get', 'chat:isChatting');
// check there is not already an active chat session
if (isChatting == false) {
// if not then get the current state of the widget
let widgetState = zE('webWidget:get', 'display');
// check if already in the open 'chat' state, indicating prior timeout
if (widgetState == 'chat') {
// if it is then close the widget, reset and reopen in pre-chat state
zE('webWidget', 'close');
zE('webWidget', 'reset');
zE('webWidget', 'open');
}
}
</script>
워크플로우를 테스트합니다. 필요한 경우 추가한 스크립트 뒤에 아래 스크립트를 추가하여 위젯 설정을 적용하거나 다시 적용합니다.
<script>
zE('webWidget', 'updateSettings', {
webWidget: {
chat: {
departments: {
select: 'Shopping Cart'
}
}
}
});
});
</script>
이 최종 단계에서는UpdateSettingsAPI를 사용하여 위젯의 설정을 적용 또는 다시 적용합니다. 위의 예에서 Shopping Cart
부서는 위젯이 처음 연결되거나 다시 연결될 때 적용됩니다. 이 워크플로우는 시간이 초과된 채팅 방문자가 다시 연결된 후 부서를 다시 적용할 수 있나요?
이 솔루션을 올바르게 구성했는지 확인하세요. 연결될 때 위젯의 현재 상태를 확인하세요. 그런 다음 위젯을 닫고 재설정한 다음 다시 열어 다시 연결하는 방문자에게 채팅 전 양식이 항상 표시되도록 하세요.
번역 고지 사항: 본 문서는 콘텐츠에 대한 기본적인 이해를 제공하기 위해 자동 번역 소프트웨어를 사용하여 번역되었습니다. 정확한 번역을 제공하고자 합당한 노력을 기울였으나 Zendesk는 번역의 정확성을 보장하지 않습니다.
번역된 문서에 포함된 정보의 정확성과 관련하여 질문이 있으시면 문서의 공식 버전인 영문 버전을 참조하시기 바랍니다.