사전 요구 사항
- Salesforce 조직(Enterprise 에디션 이상, 테스트용으로는 Developer Edition)
- 워크플로가 구성된 Didit Console 계정
- 관리형 패키지를 설치하고 Setup에서 Sites를 만들 수 있는 권한
1단계: 앱 설치
아래 링크로 출시된 DiditVerifyManaged 1.0.0.2 패키지를 설치합니다. 패키지 설치는 마켓플레이스 등재 승인과는 별개입니다.- 설치 링크를 엽니다: https://login.salesforce.com/packaging/installPackage.apexp?p0=04td10000004M0LAAU
- 설정과 테스트를 진행하는 동안에는 Install for Admins Only를 선택합니다. 설정을 검증한 후에 의도한 사용자에게 액세스 권한을 부여하세요.

- Install을 클릭합니다
2단계: Didit 자격 증명 가져오기
API 키 가져오기(API 모드용)
- Didit Business Console에 로그인합니다
- 왼쪽 사이드바에서 API 및 webhook으로 이동합니다
- API 키를 복사합니다

워크플로 ID 가져오기
- Didit Business Console에서 워크플로로 이동합니다
- 사용할 워크플로를 선택하거나 새로 만듭니다
- 워크플로 ID(
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx형식의 UUID)를 복사합니다

3단계: Didit 설정 구성
- 왼쪽 상단의 App Launcher(격자 아이콘)를 클릭하고 “Didit”을 검색합니다

- Didit 앱을 엽니다. 그러면 Didit Settings 탭으로 이동합니다
- 자격 증명과 기본 설정을 입력합니다:
- Save Settings를 클릭합니다
4단계: 레코드 페이지에 컴포넌트 추가
- 연락처 또는 리드 레코드로 이동합니다

- 톱니바퀴 아이콘 → Edit Page를 클릭합니다(또는 Setup → Object Manager → 연락처/리드 → Lightning Record Pages)

- Lightning App Builder에서 Components 패널의 Didit Identity Verification을 드래그합니다

- 저장을 클릭하고 페이지를 활성화합니다. 활성화할 때 “Assign as Org Default”를 선택합니다. 아래 영상을 확인하세요:

- 위 예시는 연락처 레코드 페이지를 사용하지만, 리드 레코드 페이지에서도 단계가 동일합니다.
작동 방식
API 모드(권장)
- 사용자가 Contact/Lead 레코드에서 Verify Identity를 클릭합니다
- Apex가 Didit API를 통해 세션을 생성합니다(API 키는 서버 측에 유지됩니다)
- Didit SDK가 인증 흐름을 엽니다. 표시 모드 설정에 따라 모달 오버레이 또는 인라인 임베디드 보기로 표시됩니다
- 완료되면 레코드가 자동으로 업데이트됩니다:
Verification Status→ 세션 결과(Approved,Declined,In Review등)Identity Verified→ Approved이면true, Declined이면falseVerified At타임스탬프와Didit Session IDVerified Document Type,Document Expiry Date,AML Check Status(webhook을 통해 채워집니다. 아래를 참고하세요)
- 컴포넌트에 인증 상태, 문서 유형, 만료일, AML 결과가 인라인으로 표시됩니다. 별도의 페이지 레이아웃 설정은 필요하지 않습니다
UniLink 모드
- 사용자가 Verify Identity를 클릭합니다
- 고정된 UniLink URL이 모달 또는 iframe에서 열립니다(API 호출은 필요하지 않습니다)
- 완료되면 결과가 레코드에 저장됩니다
자동 인증 업데이트(webhook)
인증 세션이 완료되면(에이전트가 페이지를 보고 있는지 여부와 관계없이) Didit이 Salesforce 조직으로 webhook을 보내 Contact/Lead 레코드를 자동으로 업데이트합니다. 이를 위해서는 Salesforce Site를 한 번 설정해야 합니다.이 설정이 필요한 이유는 무엇인가요?
Salesforce는 공개 엔드포인트가 없으면 외부 서비스의 수신 HTTP 요청을 받지 않습니다. Salesforce Site는 이 엔드포인트를 만들어, Didit이 인증 결과를 실시간으로 조직에 직접 전달할 수 있게 합니다.1단계: 설정 > Sites로 이동
Salesforce에서 톱니바퀴 아이콘 > Setup을 클릭합니다. Quick Find 상자에 Sites를 입력하고 Sites and Domains 아래에서 이를 클릭합니다.

2단계: 새 Site 만들기
Sites 목록에서 New 버튼을 클릭합니다. 다음 항목을 입력합니다:- Site Label:
DiditWebhook - Site Name:
DiditWebhook으로 자동 입력됩니다 - Default Web Address:
didit - Active: 선택
- Active Site Home Page:
InMaintenance

3단계: Site가 생성되었는지 확인
저장한 후 Site 상세 페이지가 표시됩니다. Site URL을 확인해 두세요. 형식은https://your-org.develop.my.salesforce-sites.com/didit와 같습니다. 이후 단계에서 필요합니다.

4단계: webhook 클래스에 Guest User 액세스 권한 부여
Site 상세 페이지에서 Public Access Settings를 클릭합니다. Guest User 프로필이 열립니다. 아래로 스크롤하여 Enabled Apex Class Access를 찾고 Edit를 클릭합니다. Available 목록에서 DiditWebhookReceiver를 선택하고 Add를 클릭하여 Enabled 목록으로 옮깁니다. Save를 클릭합니다.
5단계: Didit Console에서 webhook 설정
- business.didit.me > API 및 webhook으로 이동합니다
- webhook URL을 다음 값으로 설정합니다:
https://your-org.develop.my.salesforce-sites.com/didit/services/apexrest/didit/webhook/
참고: 정확한 도메인 형식은 조직 유형에 따라 다릅니다. Developer Edition 조직은 URL에.develop이 포함됩니다. 프로덕션 조직은https://your-org.my.salesforce-sites.com/didit/services/apexrest/didit/webhook/를 사용합니다. 확실하게 하려면 항상 Site 상세 페이지(3단계)에서 URL을 복사하세요.
- webhook 비밀 키를 복사합니다
- Salesforce에서 Didit Settings로 이동하여 비밀 키를 Webhook Secret 필드에 붙여 넣습니다
- Save Settings를 클릭합니다
webhook이 저장하는 내용
Didit이 webhook을 보내면 Contact 또는 Lead가 자동으로 업데이트됩니다. 항상 업데이트됨(워크플로 유형과 무관):
해당 기능이 워크플로에 포함된 경우에만 업데이트됨:
Didit 워크플로에서 기능이 활성화되지 않은 경우 해당 필드는 비어 있게 됩니다. 아무 문제도 발생하지 않습니다.
모든 세션에 대해 Didit Verification 하위 레코드(
Didit_Verification__c)도 생성됩니다. 이 레코드는 추가 세부 정보(문서 번호, 발급 국가, 문서상 성명, 생년월일, 얼굴 대조 점수, 라이브니스 점수, AML 적중 건수)를 포함한 전체 감사 추적을 제공합니다. 추가 세부 정보는 워크플로에 포함된 기능에 대해서만 제공됩니다.
Contact/Lead 페이지 레이아웃에 Didit Verifications 관련 목록을 추가하여 이력을 확인할 수 있습니다.
플로우 자동화(Invocable Action)
이 플러그인에는 Salesforce 플로우가 인증을 자동으로 시작하기 위해 호출할 수 있는 Invocable Apex 작업이 포함되어 있습니다:- Flow Builder에서 Action 요소를 추가합니다
- “Create Didit Verification Session”을 검색합니다
- Contact 또는 Lead 레코드 ID를 전달합니다
- 이 작업은
url,sessionId,success,error를 반환합니다 - URL을 Send Email 또는 Send Notification 작업에서 사용하여 고객에게 전송합니다
- Lead 생성 시: 새로 생성되는 모든 Lead에 인증 링크를 자동으로 보냅니다
- 문서 만료 모니터링: 매일 실행되는 예약 플로우를 만들어
Document Expiry Date ≤ TODAY + 90 days조건에 해당하는 모든 Contact를 찾고 재인증 링크를 보냅니다. webhook으로 채워지는Document Expiry Date필드를 사용하므로 별도 설정 없이 바로 작동합니다.
문제 해결
버튼을 클릭해도 아무 일도 일어나지 않음
- Didit Settings에 API 키와 Workflow ID를 저장했는지 확인하세요.
- Workflow ID가 API 키와 같은 애플리케이션에 속하는지 확인하세요.
- Didit Settings에서 Debug Logging을 활성화하고 브라우저 콘솔에서 오류를 확인하세요.
Didit API에서 JSON이 아닌 응답을 받음
https://verification.didit.me에 대한 Remote Site Setting이 활성 상태인지 확인하세요: 설정 → Remote Site Settings- Didit Business Console에서 API 키가 유효하고 만료되지 않았는지 확인하세요.
Webhook이 401 반환 - “Webhook secret not configured”
- Didit Settings로 이동해 Webhook Secret Key(Didit Console → API & Webhooks에서 복사한 값)를 Webhook Secret 필드에 붙여 넣은 다음 Save Settings를 클릭하세요.
Webhook이 401 반환 - “Invalid signature” 또는 “Request timestamp is stale”
- Invalid signature: Didit Settings의 Webhook Secret이 Didit Console의 값과 정확히 일치하는지 확인하세요. 추가 공백이나 문자가 없어야 합니다.
- Stale timestamp: Webhook은 전송 후 5분 이내에 도착해야 합니다. Salesforce 조직의 시계가 맞지 않으면 오탐이 발생할 수 있지만, 이런 경우는 매우 드뭅니다.
인증 창이 열리지 않음 (브라우저 콘솔의 CSP 오류)
https://verify.didit.me에 대한 CSP Trusted Site는 관리형 패키지에 포함되어 있으며 자동으로 배포됩니다. 소스에서 배포하는 경우 배포에cspTrustedSites/Didit_Verify_Frontend.cspTrustedSite-meta.xml이 포함되어 있는지 확인하세요.
지원 (24/7)
저희 팀이 사용을 시작하실 수 있도록 도와드리겠습니다.이메일
hello@didit.me로 이메일을 보내 주세요.