사전 빌드된 약속 예약 구성요소를 사용하면 신규 및 기존 고객이 약속을 예약할 수 있습니다. 이 구성요소는 사전 빌드된 생년월일 수집 구성요소의 맞춤 버전을 사용하여 약속 날짜를 수집하고 사전 빌드된 전화번호 수집 및 우편번호 수집 구성요소를 사용하여 사용자 및 약속 위치에 대한 정보를 수집합니다.
예약 이유 및 유형
이 구성요소는 여러 카테고리의 예약 이유를 지원하며 사용자가 선택한 이유에 따라 다양한 예약 유형을 제공합니다.
예약 이유 | 사용 가능한 예약 유형 |
---|---|
대출 | 대면, 가상, 전화 |
주택담보대출 | 대면, 가상, 전화 |
자산 관리 | 대면, 가상, 전화 |
신용카드 | 가상, 전화 |
기타 | 휴대전화 |
예약 카테고리는 prebuilt_components_arrange_appt_reason
커스텀 항목을 수정하여 맞춤설정할 수 있습니다. 각 예약 유형의 입력 매개변수를 수정하여 각 카테고리에 사용할 수 있는 예약 유형을 구성할 수 있습니다.
제한사항
사전 빌드 구성요소에는 일반적인 사전 빌드 구성요소 제한사항 외에도 다음과 같은 제한사항이 있습니다.
- 이 구성요소는 데이터를 암호화하지 않습니다.
샘플 대화상자
다음 샘플 대화상자에서는 사전 빌드된 구성요소에서 처리하는 일반적인 시나리오를 보여줍니다. 샘플 대화상자는 전화를 통해 구성요소가 호출될 때 기본 시작 인텐트와 대화 시작 시 첫 번째 에이전트 응답을 트리거하는 동작을 보여줍니다.
기존 사용자가 대면 약속 예약
에이전트는 사용자가 이전에 기존 사용자로 인증되었음을 확인합니다. 사용자는 예약의 이유를 제시하고 대면 만남을 예약하기로 선택합니다. 에이전트는 사용자가 등록된 주소와 가장 가까운 지점에 가고자 하는 것을 확인하고 사용자가 원하는 날짜 및 시간이 가능한지 확인합니다. 에이전트가 시간과 장소를 확인하고 예약을 잡습니다.
사용자 입력 | 에이전트 응답 |
---|---|
약속을 예약하기 전에 몇 가지 질문을 하겠습니다. 상담을 예약하신 이유를 알려주시겠어요? | |
자산 관리에 관해 상담하고 싶습니다. | |
전화, 영상 통화 또는 저희 지점에서 대면 만남 중 어떤 방식을 원하시나요? | |
직접 만나고 싶습니다. | |
예, 1600 Amphitheatre Pkwy, Mountain View, CA 94043에 있는 지점에 일정을 예약하시겠어요? | |
예 | |
원하는 약속 날짜를 알려주세요. 원하는 월, 일, 연도를 알려주세요. 지점의 근무 시간은 월요일~금요일 오전 9시~오후 5시, 토요일 오전 9시~오후 1시입니다. | |
에이전트가 사전 빌드된 생년월일 수집 구성요소를 사용하여 사용자가 원하는 약속 날짜 수집 | |
좋습니다. 원하는 날짜 수집이 완료되었습니다. 원하는 시간대를 알려주세요. |
|
오전 10시 | |
오전 10시를 선택하셨습니다. 선택한 약속 시간으로 계속 진행하려면 '예'라고 답해 주세요. | |
예 | |
2023년 9월 23일 오전 10시, 은행 주소 1600 Amphitheatre Pkwy, Mountain View, CA 94043에서의 약속을 예약하겠습니다. 맞나요? | |
예 | |
알겠습니다. 약속을 예약했습니다. 확인 번호는 818452입니다. 다른 약속을 예약하시겠어요? | |
아니요, 됐습니다 | |
문의해 주셔서 감사합니다. 좋은 하루 보내세요. |
신규 고객이 여러 약속 예약
에이전트는 사용자가 이전에 인증되지 않았음을 확인하고 사용자의 전화번호를 수집합니다. 사용자가 대출을 논의하기 위해 가상 상담을 요청합니다. 사용자가 원하는 날짜 및 시간을 사용할 수 없어 에이전트가 사용자에게 가능한 시간대를 제공합니다. 사용자가 사용 가능한 시간대를 선택하면 상담이 예약됩니다. 사용자가 두 번째 상담을 예약하겠다고 확인하면 에이전트가 두 번째 상담을 예약합니다.
사용자 입력 | 에이전트 응답 |
---|---|
에이전트가 사전 빌드된 전화번호 수집 구성요소를 사용하여 사용자 전화번호를 수집합니다. | |
좋습니다. 전화번호 수집이 완료되었습니다. 상담을 예약하기 전에 몇 가지 질문을 하겠습니다. 상담을 예약하신 이유를 알려주시겠어요? |
|
대출을 받고 싶습니다. | |
전화, 영상 통화 또는 저희 지점에서 대면 만남 중 어떤 방식을 원하시나요? | |
가상 약속이 좋습니다. | |
원하는 약속 날짜를 알려주세요. 원하는 월, 일, 연도를 알려주세요. 지점의 근무 시간은 월요일~금요일 오전 9시~오후 5시, 토요일 오전 9시~오후 1시입니다. | |
에이전트가 사전 빌드된 생년월일 수집 구성요소를 사용하여 사용자가 원하는 약속 날짜 수집 | |
좋습니다. 원하는 날짜 수집이 완료되었습니다. 원하는 시간대를 알려주세요. |
|
3시가 좋음 | |
오후 3시를 선택하셨습니다. 선택한 약속 시간으로 계속 진행하려면 '예'라고 답해 주세요. | |
예 | |
2023년 10월 3일 오후 3시에 자문 담당자와 상담 일정을 예약하겠습니다. 맞나요? | |
네, 받겠습니다. | |
알겠습니다. 약속을 예약했습니다. 확인 번호는 754731입니다. 다른 상담을 예약하시겠어요? |
|
네 | |
약속을 예약하기 전에 몇 가지 질문을 하겠습니다. 상담을 예약하신 이유를 알려주시겠어요? | |
신용카드 관련 예약이 필요합니다. | |
지점 담당자와 전화 통화 또는 영상 통화 예약을 하시겠어요? | |
휴대전화 | |
원하는 약속 날짜를 알려주세요. 원하는 월, 일, 연도를 알려주세요. 지점의 근무 시간은 월요일~금요일 오전 9시~오후 5시, 토요일 오전 9시~오후 1시입니다. | |
에이전트가 사전 빌드된 생년월일 수집 구성요소를 사용하여 사용자가 원하는 약속 날짜 수집 | |
좋습니다. 원하는 날짜 수집이 완료되었습니다. 원하는 시간대를 알려주세요. |
|
오전 8시로 할 수 있나요? | |
오전 8시를 선택하셨습니다. 선택한 약속 시간으로 계속 진행하려면 '예'라고 답해 주세요. | |
예 | |
죄송합니다. 선택한 시간은 이용하실 수 없습니다. 2023년 10월 6일에 오전 11:30, 오후 12:30, 오후 1:30, 오후 3:00가 가능합니다. 시간대를 변경하거나 다른 날짜로 상담을 예약하시겠어요? | |
1:30으로 하겠습니다. | |
오후 1:30을 선택했습니다. 선택한 약속 시간으로 계속 진행하려면 '예'라고 답해 주세요. | |
예 | |
2023년 10월 6일 오후 1:30에 자문 담당자와 상담 일정을 예약하겠습니다. 맞나요? | |
그렇습니다 | |
알겠습니다. 약속을 예약했습니다. 확인 번호는 714637입니다. 다른 상담을 예약하시겠어요? |
|
아니요, 다 됐어요. | |
문의해 주셔서 감사합니다. 좋은 하루 보내세요. |
이름 지정 규칙
이 사전 빌드 구성요소는 다음 이름 지정 규칙을 사용합니다.
기능 | 형식 | 예 |
---|---|---|
흐름 | [구성요소 이름] | 약속 예약 |
구성요소별 인텐트 | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_arrange_appt_change_date_slot |
항목 유형 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_arrange_appt_reason |
웹훅 | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_arrange_appointment:submit_appointment |
입력 매개변수
입력 매개변수는 구성요소의 특정 동작을 구성하는 데 사용되는 매개변수입니다. 매개변수는 흐름 내 하나 이상의 조건에서 구성요소 작동 방식을 결정하는 데 사용됩니다. 흐름 범위 매개변수는 아래 설명된 대로 구성요소의 시작 페이지에서 설정해야 합니다. 세션 범위 매개변수는 호출 흐름 또는 이 구성요소의 시작 페이지에서 설정할 수 있습니다.
이 사전 빌드 구성요소는 다음 입력 매개변수를 허용합니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$session.params.phone_number | (선택사항) 인증에 사용된 고객의 등록된 전화번호입니다. | 문자열 |
$session.params.auth_level | (선택사항) 호출자의 인증 레벨을 나타냅니다. | 정수 |
$flow.all_appointment_type | 모든 유형의 예약을 사용할 수 있는 예약 이유 목록을 지정합니다. 기본값은 ["loans", "wealth"] 입니다. |
목록(문자열) |
$flow.video_phone_appointment_type | 모든 유형의 예약을 사용할 수 있는 예약 이유 목록을 지정합니다. 기본값은 ["cards"] 입니다. |
목록(문자열) |
$flow.appointment_services | 지점 위치가 필요하지 않고 사용자로부터 수집되지 않는 예약 유형 목록을 지정합니다. 기본값은 ["video", "phone"] 입니다. |
목록(문자열) |
$flow.working_hours | 지점의 영업시간을 지정합니다(예: "Monday to Friday: 9 AM to 5 PM, Saturday: 9 AM to 1 PM" ). |
문자열 |
$session.params.arrange_appointment_max_days | 상담 예약에 허용되는 현재 날짜 이후의 최대 일수를 지정합니다. 기본적으로 이 값은 90 이며, 이는 상담 날짜가 현재 날짜로부터 90일 이전까지로 제한된다는 것을 나타냅니다. 이 매개변수는 시작 페이지 true 경로에 구성됩니다. |
정수 |
flow.max_retry_count | 사용자로부터 정보를 수집할 때 허용되는 재시도 횟수를 지정합니다. 기본값은 3 입니다. |
정수 |
이 구성요소의 입력 매개변수를 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 빌드 탭을 선택합니다.
- 흐름 섹션에서 가져온 구성요소를 클릭합니다.
- 페이지 섹션에서 시작 페이지를 클릭합니다.
- 시작 페이지에서 true 경로를 클릭합니다.
- 경로 창에서 필요에 따라 매개변수 사전 설정 값을 수정합니다.
- 저장을 클릭합니다.
출력 매개변수
출력 매개변수는 구성요소를 종료한 후에도 활성 상태로 유지되는 세션 매개변수입니다. 이러한 매개변수에는 구성요소에 의해 수집된 중요한 정보가 포함됩니다. 이 사전 빌드 구성요소는 다음 출력 매개변수의 값을 제공합니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
phone_number | 사용자를 식별하는 데 사용되는 국가 코드가 포함되지 않은 사용자의 현지 전화번호입니다. | 문자열 |
transfer_reason | 이 매개변수는 성공하지 않은 경우 흐름이 종료된 이유를 나타냅니다. 반환된 값은 다음 중 하나입니다.agent : 최종 사용자가 대화 중 특정 시점에서 에이전트를 요청했습니다.denial_of_information : 최종 사용자가 구성 요소에서 요청한 정보 공유를 거부했습니다.max_no_input : 대화가 입력되지 않은 이벤트에 대한 최대 재시도 횟수에 도달했습니다. no-input 기본 제공 이벤트를 참조하세요.max_no_match : 대화가 일치하지 않는 이벤트의 최대 재시도 횟수에 도달했습니다. no-match 기본 제공 이벤트를 참조하세요.webhook_error : 웹훅 오류가 발생했습니다. webhook.error 기본 제공 이벤트를 참조하세요. webhook_not_found : 웹훅 URL에 연결할 수 없습니다. webhook.error.not-found 기본 제공 이벤트를 참조하세요. |
문자열 |
기본 설정
이 사전 빌드 구성요소를 설정하려면 다음 안내를 따르세요.
- 사전 빌드된 구성요소를 가져옵니다.
- 외부 서비스를 설명하는 구성으로 제공된 가변형 웹훅을 구성합니다. 아래 웹훅 설정을 참조하세요.
웹훅 설정
이 구성요소를 사용하려면 포함된 유연한 웹훅을 구성하여 외부 서비스에서 필요한 정보를 검색해야 합니다.
계정 가져오기
prebuilt_components_arrange_appointment:get_account
웹훅은 등록된 계정이 있는 경우 구성요소가 제공된 전화번호의 계정 세부정보를 가져오는 데 사용됩니다.
API 요청 매개변수
다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$session.params.phone_number | 사용자를 식별하는 데 사용되는 국가 코드가 포함되지 않은 사용자의 현지 전화번호입니다. | 문자열 |
API 응답 매개변수
다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
account_count | 등록된 전화 번호와 연결된 계정 수입니다. | 정수 |
cards_count | 등록된 전화번호와 연결된 카드 수입니다. | 정수 |
loans_count | 등록된 전화번호와 연결된 대출 수입니다. | 정수 |
mortgage_count | 등록된 전화번호와 연결된 주택담보대출 수입니다. | 정수 |
branch_code | 등록된 전화번호와 연결된 지점 코드로, 고유한 지점 위치를 식별하는 데 사용됩니다. | 문자열 |
이 구성요소에 계정 가져오기 웹훅을 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 선택합니다.
- 웹훅을 클릭합니다.
- prebuilt_components_arrange_appointment:get_account 웹훅을 선택합니다.
- 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
- 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
- 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
- 필요에 따라 인증 설정을 검토하고 업데이트합니다.
- 저장을 클릭합니다.
브랜치 가져오기
지점 코드가 주어지면 지점 위치에 대한 정보를 검색하는 데 prebuilt_components_arrange_appointment:get_branch
웹훅을 사용합니다.
API 요청 매개변수
다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$flow.branch_code | 고유한 지점 위치를 식별하는 지점 코드입니다. | 문자열 |
API 응답 매개변수
다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
branch_address | 지점 주소입니다. | 문자열 |
이 구성요소에 지점 가져오기 웹훅을 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 선택합니다.
- 웹훅을 클릭합니다.
- prebuilt_components_arrange_appointment:get_branch 웹훅을 선택합니다.
- 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
- 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
- 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
- 필요에 따라 인증 설정을 검토하고 업데이트합니다.
- 저장을 클릭합니다.
사용 가능한 지점
우편번호가 주어질 때 구성요소가 가장 가까운 지점 위치를 가져오는 데 prebuilt_components_arrange_appointment:available_branch
웹훅이 사용됩니다.
API 요청 매개변수
다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$flow.zip_code | 최종 사용자가 제공한 우편번호입니다. | 문자열 |
API 응답 매개변수
다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
branch_address | 지점 주소입니다. | 문자열 |
이 구성요소에 사용 가능한 지점 웹훅을 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 선택합니다.
- 웹훅을 클릭합니다.
- prebuilt_components_arrange_appointment:available_branch 웹훅을 선택합니다.
- 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
- 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
- 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
- 필요에 따라 인증 설정을 검토하고 업데이트합니다.
- 저장을 클릭합니다.
사용 가능한 시간대 가져오기
prebuilt_components_arrange_appointment:get_available_slots
웹훅은 구성요소에서 사용자가 원하는 날짜 및 예약 유형에서 사용 가능한 시간대를 확인하는 데 사용됩니다.
API 요청 매개변수
다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$flow.preferred_date | 최종 사용자가 제공한 원하는 예약 날짜로, 'YYYY-MM-DD' 형식입니다. | 문자열 |
$flow.appointment_type | 상담의 예약 유형입니다. | 문자열 |
$flow.branch_code | 최종 사용자가 선택한 고유한 지점 위치를 식별하는 지점 코드 | 문자열 |
API 응답 매개변수
다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
available_slots | 지정된 날짜에 가능한 'HH:MM XM' 형식의 약속 시간 목록입니다(예: ["09:00 AM", "2:30 PM"] ). 사용 가능한 시간대가 없으면 이 매개변수는 빈 목록 [] 입니다. |
목록(문자열) |
이 구성요소에 사용 가능한 시간대 가져오기 웹훅을 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 선택합니다.
- 웹훅을 클릭합니다.
- prebuilt_components_arrange_appointment:get_available_slots 웹훅을 선택합니다.
- 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
- 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
- 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
- 필요에 따라 인증 설정을 검토하고 업데이트합니다.
- 저장을 클릭합니다.
예약 제출
구성요소에서 사용자가 선택한 날짜, 시간, 지점, 예약 이유, 예약 유형에 대해 일정을 예약하는 데 prebuilt_components_arrange_appointment:submit_appointment
웹훅이 사용됩니다.
API 요청 매개변수
다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$session.params.phone_number | 사용자를 식별하는 데 사용되는 국가 코드가 포함되지 않은 사용자의 현지 전화번호입니다. | 문자열 |
$flow.preferred_date | 최종 사용자가 제공한 원하는 예약 날짜로, 'YYYY-MM-DD' 형식입니다. | 문자열 |
$flow.preferred_slot | 최종 사용자가 제공한 원하는 예약 날짜로, 'YYYY-MM-DD' 형식입니다. | 문자열 |
$flow.appointment_reason | 상담의 예약 이유입니다. | 문자열 |
$flow.appointment_type | 상담의 예약 유형입니다. | 문자열 |
$flow.branch_code | 최종 사용자가 선택한 고유한 지점 위치를 식별하는 지점 코드 | 문자열 |
API 응답 매개변수
다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
request_number | 예약된 상담의 요청 번호입니다. | 정수 |
이 구성요소에 약속 제출 웹훅을 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 선택합니다.
- 웹훅을 클릭합니다.
- prebuilt_components_arrange_appointment:submit_appointment 웹훅을 선택합니다.
- 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
- 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
- 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
- 필요에 따라 인증 설정을 검토하고 업데이트합니다.
- 저장을 클릭합니다.
완료
이제 에이전트 및 웹훅이 설정되어 테스트할 수 있습니다.