사용자 직접 입력 발화인지, 버튼 클릭을 통한 발화인지 구분할 수 있는 방법이 있나요?
JSON 포맷으로 응답 구성시 button > extra 필드를 활용해보시기 바랍니다.
'extra' 필드는 버튼의 block이나 message action으로 블록을 호출하는 경우 봇 작업자의 스킬 서버에 추가적으로 제공하는 정보입니다.
스킬 요청 Payload 내 action > clientExtra 필드에서 입력해둔 임의의 값을 확인할 수 있게 됩니다.
필드에 입력 가능한 타입은 Map<String, Any> 입니다.
사용자 직접 입력 발화와 버튼 클릭을 통해 발송되는 메시지(발화)가 동일한 경우,
'clientExtra' 필드 내 값이 포함되어있는지 여부를 확인하는 방법으로 구분합니다.
예)
- clientExtra 필드에 값 포함 : 버튼 클릭을 통한 발화
- clientExtra 필드에 값 포함되지 않음 : 사용자 직접 입력 발화
챗봇 관리자센터에서 응답 구성시에는 버튼이나 바로연결 설정에서 버튼 기능을
블록 연결이나 메시지 전송으로 설정하면 추가 정보를 입력할 수 있습니다.
추가 정보에 입력한 값은 'extra' 필드 기능과 동일하게 동작됩니다.