사전 빌드된 소매 인증 구성요소

소매 인증 사전 빌드된 구성요소는 사용자로부터 정보를 수집하여 필요한 인증 수준으로 인증합니다. 이 구성요소는 소매업종에 공통적이지만 배타적이지 않은 인증 요구사항을 다룹니다. 이 구성요소는 전화번호 수집 사전 빌드 구성요소를 사용하여 사용자 세부정보를 수집하고 검증합니다.

인증 수준

사전 빌드된 다양한 구성요소에 필요한 여러 수준의 인증이 있으며, 높은 수준은 사용자를 인증하기 위해 더 많은 사용자 정보가 필요합니다. 소매 인증 구성요소를 사용하면 사용자가 인증 수준 테이블에 설명된 대로 수준 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입니다. 정수

이 구성요소의 입력 매개변수를 구성하려면 안내를 펼칩니다.

  1. Dialogflow CX 콘솔을 엽니다.
  2. Google Cloud 프로젝트를 선택합니다.
  3. 에이전트를 선택합니다.
  4. 빌드 탭을 선택합니다.
  5. 흐름 섹션에서 가져온 구성요소를 클릭합니다.
  6. 페이지 섹션에서 시작 페이지를 클릭합니다.
  7. 시작 페이지에서 true 경로를 클릭합니다.
  8. 경로 창에서 필요에 따라 매개변수 사전 설정 값을 수정합니다.
  9. 저장을 클릭합니다.

출력 매개변수

출력 매개변수는 구성요소를 종료한 후에도 활성 상태로 유지되는 세션 매개변수입니다. 이러한 매개변수에는 구성요소에 의해 수집된 중요한 정보가 포함됩니다. 이 사전 빌드 구성요소는 다음 출력 매개변수의 값을 제공합니다.

매개변수 이름 설명 출력 형식
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 기본 제공 이벤트를 참조하세요.
문자열

기본 설정

이 사전 빌드 구성요소를 설정하려면 다음 안내를 따르세요.

  1. 사전 빌드된 구성요소를 가져옵니다.
  2. 외부 서비스를 설명하는 구성으로 제공된 가변형 웹훅을 구성합니다. 아래 웹훅 설정을 참조하세요.

웹훅 설정

이 구성요소를 사용하려면 포함된 유연한 웹훅을 구성하여 외부 서비스에서 필요한 정보를 검색해야 합니다.

사용자 세부정보 확인

prebuilt_components_retail_authentication:verify_user_details 웹훅은 구성요소에서 제공된 전화번호를 기반으로 사용자 계정 세부정보를 가져오는 데 사용됩니다.

API 요청 매개변수

다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.

매개변수 이름 설명 입력 형식
$session.params.phone_number 사용자를 식별하는 데 사용되는 국가 코드가 포함되지 않은 사용자의 현지 전화번호입니다. 문자열

API 응답 매개변수

다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.

매개변수 이름 설명 출력 형식
이메일 계정에 등록된 이메일입니다. 문자열
all_recent_order_id 인증된 사용자와 연결된 주문 ID 목록으로, 주문 배치 날짜 기준 내림차순으로 정렬됩니다. 배열의 첫 번째 요소는 가장 최근의 주문을 나타냅니다. 사용자에게 주문이 없는 경우 이 매개변수의 값은 null입니다. 목록(문자열)
user_first_name 사용자의 이름으로, 인사를 하고 계정 소유권을 확인하는 데 사용됩니다. 문자열

이 구성요소에 사용자 세부정보 확인 웹훅을 구성하려면 안내를 펼칩니다.

  1. Dialogflow CX 콘솔을 엽니다.
  2. Google Cloud 프로젝트를 선택합니다.
  3. 에이전트를 선택합니다.
  4. 관리 탭을 선택합니다.
  5. 웹훅을 클릭합니다.
  6. prebuilt_components_retail_authentication:verify_user_details 웹훅을 선택합니다.
  7. 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
  8. 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
  9. 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
  10. 필요에 따라 인증 설정을 검토하고 업데이트합니다.
  11. 저장을 클릭합니다.

OTP 전송

prebuilt_components_retail_authentication:send_otp 웹훅은 구성요소에서 최종 사용자가 선택한 등록된 채널에 일회용 비밀번호(OTP)를 전송하는 데 사용됩니다.

API 요청 매개변수

다음 매개변수는 구성요소에서 API 요청에 대한 입력으로 제공됩니다.

매개변수 이름 설명 입력 형식
$session.params.phone_number 사용자를 식별하는 데 사용되는 국가 코드가 포함되지 않은 사용자의 현지 전화번호입니다. 문자열
$flow.channel 사용자가 OTP를 수신하도록 선택한 채널입니다. 유효한 값은 prebuilt_components_channel_email_phone 커스텀 항목으로 정의됩니다. 기본적으로 emailphone이 지원됩니다. 문자열

API 응답 매개변수

다음 매개변수는 구성요소에서 사용할 API 응답에서 가져옵니다.

매개변수 이름 설명 출력 형식
generated_otp 선택된 채널을 사용하여 생성되어 사용자에게 전송된 OTP 값입니다. 문자열

이 구성요소에 OTP 전송 웹훅을 구성하려면 안내를 펼칩니다.

  1. Dialogflow CX 콘솔을 엽니다.
  2. Google Cloud 프로젝트를 선택합니다.
  3. 에이전트를 선택합니다.
  4. 관리 탭을 선택합니다.
  5. 웹훅을 클릭합니다.
  6. prebuilt_components_retail_authentication:send_otp 웹훅을 선택합니다.
  7. 대화형 에이전트(Dialogflow CX) 웹훅 URL 필드의 URL을 통합하려는 서비스의 엔드포인트로 바꿉니다. 드롭다운에서 적절한 메서드를 선택합니다.
  8. 요청 본문을 검토하고 업데이트하여 웹훅에 적합한 요청 형식을 작성합니다.
  9. 응답 구성을 검토하고 업데이트하여 웹훅의 응답에서 특정 필드를 추출합니다. 구성요소에서 반환된 필드 값에 액세스해야 하므로 매개변수 이름을 수정하지 마세요.
  10. 필요에 따라 인증 설정을 검토하고 업데이트합니다.
  11. 저장을 클릭합니다.

완료

이제 에이전트 및 웹훅이 설정되어 테스트할 수 있습니다.