redirectUrl 활용하기
임베디드 기능은 임베디드 URL을 통해 문서 서명 요청, 서명 입력, 템플릿 열람 및 편집 등의 작업을 직접 사이트 내에서 수행할 수 있는 기능입니다. 이 과정에서 특정 작업 이후 사용자를 특정 페이지로 이동시키거나 후속 처리를 수행해야 하는 경우, redirectUrl 파라미터를 활용할 수 있습니다.
redirectUrl 사용 가능 API
다음 API들은 요청 body에 redirectUrl을 포함할 수 있으며, 해당 URL은 작업 완료 후 리디렉션됩니다:
임베디드 초안 생성 API
템플릿으로 임베디드 초안 생성 API
임베디드 문서 열람 URL 조회 API
임베디드 서명자의 보안링크 조회
임베디드 템플릿 보기 URL 조회 API
redirectUrl
은 HTTP URL 형식을 따르며, 리디렉션 시 다음과 같은 쿼리 파라미터가 함께 전달됩니다:
documentId
또는templateId
eventType
(작업 이벤트 정보)
또한, redirectUrl에 직접 추가한 커스텀 파라미터들도 유지되어 전달됩니다.
이 기능을 활용하면, 문서와 사용자에 대한 내부 정보를 함께 넘겨서 후속 처리를 자동화할 수 있습니다.
redirectUrl 예시
이벤트 설명 | 리디렉션 예시 URL |
---|---|
임베디드 서명 요청 시작 | https://example.com/redirect?documentId=DOCUMENT_ID&eventType=document_started |
모든 서명이 완료됨 | https://example.com/redirect?documentId=DOCUMENT_ID&eventType=document_all_signed |
해당 서명자만 서명 완료 (남은 서명자 존재) | https://example.com/redirect?documentId=DOCUMENT_ID&eventType=document_signed |
서명자가 서명 거절 | https://example.com/redirect?documentId=DOCUMENT_ID&eventType=document_rejected |
임베디드 서명에서 나가기 | https://example.com/redirect?documentId=DOCUMENT_ID&eventType=exited |
템플릿 생성 완료 | https://example.com/redirect?templateId=TEMPLATE_ID&eventType=template_created |
템플릿 수정 완료 | https://example.com/redirect?templateId=TEMPLATE_ID&eventType=template_edited |
redirectUrl 처리 예시 (내 사이트에서 처리하는 방식)
redirectUrl에 설정된 페이지에서는 아래와 같은 방식으로 eventType 값에 따라 후속 프로세스를 분기 처리할 수 있습니다.
// Query parameter에서 eventType과 documentId 추출
const params = new URLSearchParams(window.location.search);
const eventType = params.get('eventType');
const documentId = params.get('documentId');
// 부모 페이지로 메시지 전송 (선택사항)
if (eventType && documentId) {
window.parent.postMessage({
type: eventType,
documentId: documentId
}, 'https://yourdomain.com'); // 실제 부모 도메인으로 설정
}
// 이벤트 타입에 따라 이동할 경로 설정
let redirectPath = '/';
switch (eventType) {
case 'document_all_signed':
redirectPath = '/sign/complete';
break;
case 'document_rejected':
redirectPath = '/sign/rejected';
break;
case 'exited':
redirectPath = '/sign/exit';
break;
default:
redirectPath = '/sign/unknown';
break;
}
// 약간의 대기 후 페이지 이동
setTimeout(() => {
window.location.href = redirectPath;
}, 1500);
Updated 1 day ago