소매 인증 사전 빌드된 구성요소는 사용자로부터 정보를 수집하여 필요한 인증 수준으로 인증합니다. 이 구성요소는 소매업종에 공통적이지만 배타적이지 않은 인증 요구사항을 다룹니다. 이 구성요소는 전화번호 수집 사전 빌드 구성요소를 사용하여 사용자 세부정보를 수집하고 검증합니다.
인증 수준
사전 빌드된 다양한 구성요소에 필요한 여러 수준의 인증이 있으며, 높은 수준은 사용자를 인증하기 위해 더 많은 사용자 정보가 필요합니다. 소매 인증 구성요소를 사용하면 사용자가 인증 수준 테이블에 설명된 대로 수준 0(ANI 일치) 또는 수준 1(기본)에 인증할 수 있습니다.
인증 수준 | 요구사항 |
---|---|
수준 0: ANI 일치 | 등록된 계정에 해당하는 전화번호를 사용하거나 제공하여 사용자를 인증합니다. 인사말 사전 빌드된 구성요소를 사용하여 사용자를 수준 0으로 인증할 수 있습니다. |
수준 1: 기본 | 사용자는 이메일 또는 전화번호로 전송된 일회용 비밀번호(OTP) 코드를 확인하여 인증됩니다. |
지원되는 사용자 유형
소매 인증 구성요소는 등록된 전화번호와 이메일을 사용하는 사용자를 지원합니다.
제한사항
사전 빌드된 구성요소에는 일반적인 사전 빌드된 구성요소 제한사항 외에도 다음과 같은 제한사항이 있습니다.
- OTP는 이전에 사용자에게 등록된 휴대전화 번호 또는 이메일 주소로만 전송됩니다. 이 구성요소는 계좌에 등록되지 않은 다른 전화번호로 전화하는 고객을 인증하는 데 OTP를 사용하지 않습니다. 사용자가 다른 전화번호로 전화를 걸면 보안 질문을 사용하여 발신자를 인증합니다.
- 이 구성요소는 데이터를 암호화하지 않습니다.
샘플 대화상자
다음 샘플 대화상자에서는 사전 빌드된 구성요소에서 처리하는 일반적인 시나리오를 보여줍니다. 샘플 대화상자는 전화를 사용하여 구성요소가 호출될 때 기본 시작 인텐트와 대화 시작 시 첫 번째 에이전트 응답을 트리거하는 동작을 보여줍니다.
수준 0 인증 성공: ANI 일치
사용자가 기존 계정에 등록된 전화번호로 전화를 걸어 계정을 확인하고 수준 0으로 인증됩니다.
사용자 입력 | 에이전트 응답 |
---|---|
안녕하세요. 수신하신 전화번호는 John의 계정에 연결되어 있습니다. 다른 사람의 주문에 대한 문의입니까? 해당하면 '예'라고 답하고, 그렇지 않으면 '아니요'라고 답하세요. | |
아니요 | |
고맙습니다, John. 신원이 확인되었습니다. |
수준 1 인증 성공: OTP
사용자가 알 수 없는 전화번호로 전화를 걸어왔습니다. 구성요소는 사용자의 등록된 전화번호를 수집한 후 사용자가 선택한 채널에 전송된 OTP를 사용자에게 보내고 확인하도록 요청합니다. 사용자가 유효한 OTP를 제공할 수 있으며 수준 1로 인증되었습니다.
사용자 입력 | 에이전트 응답 |
---|---|
당사와 연결된 전화번호를 찾을 수 없습니다. 등록된 전화번호를 제공해 주세요. | |
에이전트가 사전 빌드된 전화번호 수집 구성요소를 사용하여 전화번호를 수집합니다. | |
고맙습니다. 전화 번호 수집이 완료되었습니다. 보안을 위해 신원 확인이 필요하므로 귀하에게 코드를 전송하려고 합니다. 전화 또는 이메일 중 어디로 코드를 받으시겠습니까? |
|
전화 | |
확인하겠습니다. 휴대전화에서 OTP를 받으시겠습니까? 예 또는 아니요로 알려주세요. | |
예 | |
끝 번호가 0000인 등록된 전화번호로 코드를 보냈습니다. 몇 초 정도 걸릴 수 있습니다. 코드를 확인해 주시겠어요? | |
123457 | |
고맙습니다, John. 신원이 확인되었습니다. |
이름 지정 규칙
이 사전 빌드 구성요소는 다음 이름 지정 규칙을 사용합니다.
기능 | 형식 | 예 |
---|---|---|
흐름 | [구성요소 이름] | 소매 인증 |
구성요소별 인텐트 | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_retail_authentication_incorrect_phone_number |
항목 유형 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_channel_email_phone |
웹훅 | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_retail_authentication:verify_user_details |
입력 매개변수
입력 매개변수는 구성요소의 특정 동작을 구성하는 데 사용되는 매개변수입니다. 매개변수는 흐름 내 하나 이상의 조건에서 구성요소 작동 방식을 결정하는 데 사용됩니다. 흐름 범위 매개변수는 아래 설명된 대로 구성요소의 시작 페이지에서 설정해야 합니다. 세션 범위 매개변수는 호출 흐름 또는 이 구성요소의 시작 페이지에서 설정할 수 있습니다.
이 사전 빌드 구성요소는 다음 입력 매개변수를 허용합니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$session.params.auth_level_req | 최종 사용자를 인증할 인증 레벨을 정의합니다. 유효한 값은 0 또는 1 입니다. |
정수 |
$session.params.auth_level | (선택사항) 최종 사용자의 현재 인증 레벨을 나타냅니다. | 정수 |
$session.params.phone_number | (선택사항) 최종 사용자의 전화 번호입니다. 이 매개변수를 제공하지 않으면 구성요소가 최종 사용자로부터 전화 번호를 수집합니다. | 문자열 |
$flow.max_retry_phone_number | 사용자 전화번호를 수집할 때 허용되는 재시도 횟수를 지정합니다. 기본값은 3 입니다. |
정수 |
$flow.max_retry_otp | 일회용 비밀번호(OTP)를 수집할 때 허용되는 재시도 횟수를 지정합니다. 기본값은 3 입니다. |
정수 |
$flow.max_retry_otp_not_received | 일회용 비밀번호(OTP)가 수신되지 않을 때 허용되는 재시도 횟수를 지정합니다. 기본값은 1 입니다. |
정수 |
$flow.max_retry_otp_confirm_channel | 일회용 비밀번호(OTP)를 수신할 채널을 수집할 때 허용되는 재시도 횟수를 지정합니다. 기본값은 3 입니다. |
정수 |
이 구성요소의 입력 매개변수를 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 빌드 탭을 선택합니다.
- 흐름 섹션에서 가져온 구성요소를 클릭합니다.
- 페이지 섹션에서 시작 페이지를 클릭합니다.
- 시작 페이지에서 true 경로를 클릭합니다.
- 경로 창에서 필요에 따라 매개변수 사전 설정 값을 수정합니다.
- 저장을 클릭합니다.
출력 매개변수
출력 매개변수는 구성요소를 종료한 후에도 활성 상태로 유지되는 세션 매개변수입니다. 이러한 매개변수에는 구성요소에 의해 수집된 중요한 정보가 포함됩니다. 이 사전 빌드 구성요소는 다음 출력 매개변수의 값을 제공합니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
auth_level | 최종 사용자의 현재 인증 레벨을 나타냅니다. | 정수 |
all_recent_order_id | 이 매개변수는 인증된 사용자와 연관된 주문 ID를 주문 배치 날짜 기준 내림차순으로 나열합니다. 배열의 첫 번째 요소는 가장 최근의 주문을 나타냅니다. 사용자에게 주문이 없는 경우 이 매개변수의 값은 null 입니다. |
목록(문자열) |
phone_number | 사용자를 식별하는 데 사용되는 국가 코드가 포함되지 않은 사용자의 현지 전화번호입니다. | 문자열 |
이메일 | 계정에 등록된 이메일입니다. | 문자열 |
user_first_name | 사용자의 이름으로, 인사를 하고 계정 소유권을 확인하는 데 사용됩니다. | 문자열 |
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_retail_authentication:verify_user_details
웹훅은 구성요소에서 제공된 전화번호를 기반으로 사용자 계정 세부정보를 가져오는 데 사용됩니다.
API 요청 매개변수
다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$session.params.phone_number | 사용자를 식별하는 데 사용되는 국가 코드가 포함되지 않은 사용자의 현지 전화번호입니다. | 문자열 |
API 응답 매개변수
다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
이메일 | 계정에 등록된 이메일입니다. | 문자열 |
all_recent_order_id | 인증된 사용자와 연결된 주문 ID 목록으로, 주문 배치 날짜 기준 내림차순으로 정렬됩니다. 배열의 첫 번째 요소는 가장 최근의 주문을 나타냅니다. 사용자에게 주문이 없는 경우 이 매개변수의 값은 null 입니다. |
목록(문자열) |
user_first_name | 사용자의 이름으로, 인사를 하고 계정 소유권을 확인하는 데 사용됩니다. | 문자열 |
이 구성요소에 사용자 세부정보 확인 웹훅을 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 선택합니다.
- 웹훅을 클릭합니다.
- prebuilt_components_retail_authentication:verify_user_details 웹훅을 선택합니다.
- 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
- 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
- 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
- 필요에 따라 인증 설정을 검토하고 업데이트합니다.
- 저장을 클릭합니다.
OTP 전송
prebuilt_components_retail_authentication:send_otp
웹훅은 구성요소에서 최종 사용자가 선택한 등록된 채널에 일회용 비밀번호(OTP)를 전송하는 데 사용됩니다.
API 요청 매개변수
다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.
매개변수 이름 | 설명 | 입력 형식 |
---|---|---|
$session.params.phone_number | 사용자를 식별하는 데 사용되는 국가 코드가 포함되지 않은 사용자의 현지 전화번호입니다. | 문자열 |
$flow.channel | 사용자가 OTP를 수신하도록 선택한 채널입니다. 유효한 값은 prebuilt_components_channel_email_phone 커스텀 항목으로 정의됩니다. 기본적으로 email 및 phone 이 지원됩니다. |
문자열 |
API 응답 매개변수
다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.
매개변수 이름 | 설명 | 출력 형식 |
---|---|---|
generated_otp | 선택된 채널을 사용하여 생성되어 사용자에게 전송된 OTP 값입니다. | 문자열 |
이 구성요소에 OTP 전송 웹훅을 구성하려면 안내를 펼칩니다.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 선택합니다.
- 웹훅을 클릭합니다.
- prebuilt_components_retail_authentication:send_otp 웹훅을 선택합니다.
- 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
- 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
- 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
- 필요에 따라 인증 설정을 검토하고 업데이트합니다.
- 저장을 클릭합니다.
완료
이제 에이전트 및 웹훅이 설정되어 테스트할 수 있습니다.