웹훅으로 백엔드 연동하기
웹훅으로 백엔드 연동하기
Dialogflow CX는 인텐트를 매칭하고 파라미터를 뽑는 데 그치지 않고, 결과를 실제 백엔드에 전달해 작업을 수행하게 만들 수 있어요. 그 다리가 바로 웹훅(Webhook)이에요.
출처: https://cloud.google.com/dialogflow/cx/docs/concept/webhook
웹훅이 하는 일
웹훅은 Dialogflow 에이전트가 특정 지점에 도착했을 때 외부 시스템을 호출하는 훅이에요. 예를 들어 예약 인텐트가 매칭되고 필수 파라미터가 모이면, 웹훅으로 예약 시스템 API를 호출해 실제 예약을 만들 수 있어요.
웹훅은 보통 두 가지 용도로 쓰여요.
- 파라미터 보강: 외부 DB나 API에서 정보를 가져와 파라미터를 채워요.
- 실행 및 응답: 사용자 요청에 따라 실제 작업을 수행하고 결과를 응답으로 돌려줘요.
얼티밋 퍼필먼트(Ultimate Fulfillment)
Dialogflow CX는 대화 설계 시점에 웹훅을 어디에 연결할지 지정해요. 인텐트 매칭 후, 페이지 전환 시점, 특정 상태 진입 시점 같은 곳에 웹훅을 붙일 수 있어요. 초보자에겐 생소할 수 있으니, 우선은 "파라미터가 다 모였을 때 웹훅이 실행된다"는 흐름만 잡으면 돼요.
감지된 인텐트에서 웹훅 호출
대표적인 연결 지점이 "감지된 인텐트"예요. 사용자가 어떤 인텐트를 말했는지 매칭된 시점에 웹훅을 호출해, 해당 인텐트에 필요한 로직을 백엔드에서 처리하게 해요.
개발 방법
웹훅은 콘솔에서 URL을 등록해 만들 수도 있고, REST API로 관리할 수도 있어요. 에이전트 전체를 API로 관리하는 개발 흐름이라면 Webhooks 자원을 사용해 코드에서 생성·수정할 수 있어요.
더 알아보기
- 인텐트와 파라미터는 «인텐트 만들기»에서 다뤄요.
- 대화 흐름 설계는 «플로와 페이지»를 보세요.