진본확인도장 (Integrity Seal)

완료된 문서에 진본확인도장을 삽입하여 문서의 무결성을 보장할 수 있습니다. Seal > IntegritySeal 설정을 통해 도장 삽입 여부와 위치를 지정합니다.

진본확인도장 예시 이미지

사전 설정 안내

❗️

워크스페이스 설정 필수

진본확인도장을 사용하려면 워크스페이스 최고관리자가 먼저 기능을 활성화해야 합니다.

설정 경로: 모두싸인 로그인 → 설정 > 문서진본증명도장 활성화

활성화하지 않은 상태에서 API 호출 시, 지정한 옵션이 무시되고 비활성화 상태로 발송됩니다.


도장 삽입 시점

🚧

진본확인도장의 삽입 시점을 주의해주세요

진본확인도장은 문서가 완료(status = COMPLETED)된 시점에 삽입됩니다.

문서 유형삽입 시점
서명 요청 문서모든 참여자의 서명 완료 후
열람 문서 (기본)열람자가 문서에 진입한 후
열람 문서 (완료 클릭 설정 시)열람자가 완료 버튼을 클릭한 후

요청 예시

{
  "document": {
    "title": "계약서",
    "file": "base64_encoded_file"
  },
  "seal": {
    "integritySeal": {
      "enabled": true,
      "position": "TOP_LEFT"
    }
  }
}

지원 API

진본확인도장은 다음 API에서 사용할 수 있습니다.


주의 사항

🚧

PDF 1페이지에만 삽입됩니다

진본확인도장은 완료된 문서 PDF의 1페이지에 지정한 위치(좌상단, 우상단, 좌하단, 우하단)에 삽입됩니다. 삽입 위치에 따라 문서 본문 일부가 가려질 수 있으므로, 문서 레이아웃을 미리 확인하시기 바랍니다.

🚧

디지털 서명 형태로 삽입됩니다

진본확인도장은 PDF에 디지털 서명 형태로 삽입됩니다. 디지털 서명을 올바르게 처리하지 않는 일부 PDF 뷰어나 라이브러리에서는 도장이 정상적으로 표시되지 않을 수 있습니다. 사용 환경에 맞는 호환성을 사전에 확인하시기 바랍니다.


FAQ

진본확인도장이 삽입되지 않아요

다음 항목을 확인해 주세요:

  1. 워크스페이스 설정 확인: 모두싸인 로그인 → 설정 > 문서 → 진본증명도장 활성화 여부
  2. API 요청 확인: seal.integritySeal.enabledtrue로 설정되어 있는지 확인
  3. 문서 상태 확인: 문서가 COMPLETED 상태인지 확인 (서명/열람이 완료되어야 도장 삽입)
도장 위치를 변경할 수 있나요?

네, position 파라미터로 4가지 위치 중 선택할 수 있습니다: TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT

문서 발송 전에만 설정 가능하며, 발송 후에는 변경할 수 없습니다.

특정 PDF 뷰어에서 도장이 보이지 않아요

진본확인도장은 디지털 서명 형태로 삽입됩니다. 일부 PDF 뷰어나 라이브러리에서 디지털 서명을 지원하지 않거나 다르게 렌더링할 수 있습니다.

권장 뷰어: Adobe Acrobat Reader, 최신 브라우저 내장 PDF 뷰어

사용 환경의 호환성을 사전에 테스트하시기 바랍니다.

"간편인증(통합인증) 기능 추가"

서명 요청 및 임베디드 초안 생성 시 다양한 모바일 인증 수단을 선택적으로 제공할 수 있는 기능이 추가되었습니다.

📘

새로운 파라미터 추가: verification.mobileIdentification.allowOptions

이 파라미터를 통해 서명자에게 제공할 인증 수단을 직접 제어할 수 있습니다. 기존 API 요청은 수정 없이 계속 사용 가능하며, allowOptions를 별도로 설정하지 않으면 자동으로 ["SMS_OR_PASS"]가 기본값으로 적용됩니다.

주요 변경사항

기존에는 인증 수단이 고정되어 있었으나, 이제 allowOptions 파라미터를 통해 제공할 인증 방식을 선택할 수 있습니다.

요청 형식

{
  "verification": {
    "mobileIdentification": {
      "name": "김모두",
      "phoneNumber": "01012345678",
      "allowOptions": ["SIMPLE_AUTH", "SMS_OR_PASS"]
    }
  }
}

파라미터 상세

verification.mobileIdentification

필드타입필수 여부설명
nameString필수서명자의 실명
phoneNumberString필수서명자의 휴대폰 번호 (하이픈 없이 입력)
allowOptionsArray선택[신규] 제공할 인증 수단 목록
미설정 시 ["SMS_OR_PASS"] 기본값 적용

allowOptions 설정 값

"allowOptions": ["SIMPLE_AUTH"]

제공되는 인증 수단:

  • 카카오톡 인증
  • 네이버 인증
  • 토스 인증
  • 금융권 인증
  • 기타 간편인증 서비스

적용 가능한 API

이 기능은 다음 엔드포인트에서 사용할 수 있습니다:

API엔드포인트비고
서명 요청POST /documents새로운 서명 요청 문서 생성
템플릿으로 서명 요청POST /documents/request-with-template템플릿 기반 서명 요청
임베디드 초안 생성POST /embedded-drafts임베디드 환경 초안 생성
템플릿으로 임베디드 초안 생성POST /embedded-drafts/create-with-template템플릿 기반 임베디드 초안
템플릿 생성POST /templates재사용 가능한 표준서식(템플릿) 생성

브랜드 옵션 추가: 서명 요청 및 임베디드 초안 생성

서명 요청 및 임베디드 초안 생성 API에서 브랜드 선택 옵션을 지원합니다. 이제 API 호출 시 brandId 파라미터를 통해 특정 브랜드를 지정할 수 있습니다.

주요 변경 사항

요청 본문(Request Body)에 brandId 필드를 추가하여 원하는 브랜드를 지정할 수 있습니다.

{
  "brandId": "brandId_sample"
   ...,
}

브랜드 ID 획득 경로

앱 서비스 맞춤 브랜딩에 각 브랜드별 상세 페이지에서 ID를 확인할 수 있습니다.

  1. 앱 서비스 접속
  2. 설정 > 맞춤 브랜딩 메뉴 선택
  3. 각 브랜드 상세 페이지에서 ID 확인
🚧

현재 OpenAPI로 브랜드 목록을 제공하고 있지는 않습니다.


적용 API 목록

이번 업데이트는 다음 4개의 API 엔드포인트에 적용됩니다:

엔드포인트: 서명 요청 (POST /documents)

문서를 생성하고 서명 요청을 전송할 때 브랜드를 지정할 수 있습니다.

POST /documents
Content-Type: application/json

{
    "file": {
      "fileId": "fileId",
      "token": "token"
  },
  "participants": [...],
  "brandId": "01KAAJ7MYW5V0P724K9E6MM7FJAE"
}

🥳 임베디드 서명 요청 시 파일 병합 지원

임베디드 서명 요청 시 파일 병합 후 서명 요청 할 수 있도록 프로세스가 개선 되었습니다. 이와 관련 해 기존 2개의 API가 수정 되고 하나의 신규 API가 추가 되었습니다.


[수정] 파일 업로드 APItype 속성에 document 추가 지원

해당 수정으로 병합 할 파일을 미리 업로드 할 수 있습니다. (유효기간 2시간) PDF 파일은 최대 10MB, 그 외 확장자는 최대 5MB 까지 지원 합니다.

📘

업로드 시 PDF 파일을 권장합니다. (그 외 파일은 내부적으로 PDF 변환 시 시간이 오래 걸립니다.)


[신규] 문서 파일 병합 API 추가

파일 업로드 API 를 통해 업로드 한 파일 정보(fileId, token)를 기반으로 PDF 파일을 병합 합니다. 최소 2개, 최대 10개 까지 병합할 수 있으며, 병합 된 파일의 총 용량은 10MB 를 초과할 수 없습니다. 병합 후 병합 된 파일의 정보(fileId, token)를 응답 합니다.


[수정] 임베디드 초안 생성 APIfile 속성에 FILE_REF 방식 추가 제공

기존에는 BASE64 방식만 지원 했으나, FILE_REF 방식을 추가로 지원 합니다. FILE_REF방식은 아래 두 프로세스를 통해 업로드한 파일로 임베디드 초안이 생성 가능 합니다.

  1. 파일 업로드 API 를 통해 업로드 한 문서 타입 파일 정보
  2. 문서 파일 병합 API 를 통해 업로드 된 파일 정보

감사 추적 인증서 언어 옵션 제공

서명 요청 및 임베디드 초안 생성 시, 감사 추적 인증서(Audit Trail) 의 언어를 선택할 수 있습니다. 설정하지 않으면 기본값은 한국어(ko) 로 적용됩니다.


🧩 옵션 개요

감사 추적 인증서(auditTrail) 객체 내에 locales 속성을 추가하여 출력 언어를 지정합니다.

{
	...,
	"auditTrail" : {
		"locales": ["ko", "en"]
	}
}

🌐 지원 언어 옵션

아래의 언어를 제공하며, locales 에 값을 입력하시면 됩니다. 미 설정 시, 한국어를 기본 값으로 제공합니다.

  • 한국어 : [”ko”]
  • 영어 : [”en”]
  • 한국어 + 영어 합본 : [”ko”, "en”]

적용 API 목록

  • 서명 요청 (POST /documents)
  • 템플릿으로 서명 요청 (POST /documents/request-with-template)
  • 임베디드 초안 생성 (POST /embedded-drafts)
  • 템플릿으로 임베디드 초안 생성 (POST /embedded-drafts/create-with-template)
🚧

auditTrail.locales 설정은 문서 생성 시점에만 지정할 수 있습니다. 문서가 생성된 이후에는 변경이 불가능하므로 주의하여 설정해주세요.


➕ 템플릿 생성 시 드롭다운 필드 등 일부 필드 지원 추가

템플릿 생성하기 API에서 드롭다운 필드 등 일부 필드를 지정하실 수 있도록 기능이 추가됩니다.

추가된 필드 타입

서명자 입력란, 서명자 입력란 구분에 따라 추가된 타입이 다릅니다. 아래를 클릭하여 각 구분별로 추가된 타입을 확인하실 수 있습니다.

  • 드롭다운 필드 (DROPDOWN)

    ❗️

    드롭다운 필드의 사이즈가 지정된 옵션들을 렌더링 할 수 없을 정도로 작은 경우, 의도하지 않은 동작이 발생될 수 있습니다.

    • Width가 적은 경우 지정한 Width를 초과하여 기입될 수 있습니다.
    • 따라서 충분히 넓은 Width를 지정해주세요.
  • 이름 필드 (NAME)

적용 API


📚 문서 업로드 시 HWPX 확장자 지원

서명 요청 시 HWPX 확장자의 파일을 업로드 하실 수 있도록 지원됩니다.

✍️ 사인 그리기만 허용 설정 추가

  • 서명 필드에 allowedGenerationMethods 속성에서 SIGN_DRAWING 값을 지정하면, 사인 입력 시 ‘그리기만’ 허용하는 방식으로 설정할 수 있습니다.

  • 이 설정은 사인 전용 필드뿐 아니라 사인/도장 겸용 필드에서도 아래와 같이 활용할 수 있습니다.

    • 필드 유형사용 가능 allowedGenerationMethods
      사인SIGN_DRAWING
      도장STAMP_IMAGE
      사인/도장SIGN_DRAWING , STAMP_IMAGE 모두 지원

영향 대상 API 엔드포인트

✨ 템플릿 및 서명 요청 시 참조자(Carbon Copy) 필드 지원

이번 업데이트에서는 템플릿 생성 시 참조자(Carbon Copy)를 사전 등록하고, 서명 요청 시 참조자 정보를 템플릿과 병합하여 전송할 수 있도록 개선되었습니다.

1. 템플릿 생성 API (POST /templates)

  • carbonCopies 필드 신규 추가
  • 템플릿 생성 시 참조자(contact, locale) 정보를 사전 등록 가능
  • 응답에도 carbonCopies 정보 포함됨
{
  "carbonCopies": [
    {
      "contact": "[email protected]",
      "locale": "ko"
    }
  ]

2. 템플릿 기반 요청 및 서명 요청 API

  • 기존 API에 하위 호환 방식으로 locale 필드가 optional로 추가됨
  • API 요청 시 전달된 carbonCopies와 템플릿에 등록된 carbonCopies병합하여 사용

적용 API 목록

⚠️ 제한 사항

  1. carbonCopies 병합 후 총 인원이 30명을 초과할 경우 오류
  2. locale을 생략하면 기본값으로 “ko” (한국어) 가 적용됨

📝 템플릿으로 서명 요청 시 서명자의 일부 필드 제거 기능 추가

템플릿으로 서명 요청 API와 템플릿으로 임베디드 초안 생성 API에서 서명 요청 시 서명자의 일부 필드를 제거하여 전송할 수 있도록 participantMappings 하위에 fieldMappings 를 설정할 수 있도록 제공됩니다.

fieldMappings에 데이터 라벨, 제외 여부를 설정하실 수 있으며, 만약 데이터라벨을 그룹의 데이터라벨로 지정할 경우, 그룹에 속한 모든 필드가 제거되니 주의하여 사용해주십시오.

필드를 제거하여 요청할 수 없는 경우는 아래와 같습니다.

  1. 템플릿이 설정 고정 템플릿인 경우
  2. 설정한 데이터라벨이 자동 완성 필드의 그룹 ID인 경우
  3. 설정한 데이터라벨이 체크박스 그룹의 하위 체크박스인 경우

📌 설정 고정 템플릿 정보 추가

🚧

수정불가 템플릿은 템플릿의 설정을 요청자가 임의로 수정하여 서명 요청을 보낼 수 없도록 설정된 템플릿입니다.

모두싸인 웹사이트, 임베디드 템플릿 생성임베디드 템플릿 수정 기능에서 템플릿을 설정 고정 상태로 지정할 수 있습니다.

이에 맞추어 템플릿을 활용하여 서명 요청을 진행하는 아래 엔드포인트들에 대하여, 설정 고정 상태의 템플릿이라면 템플릿에 설정된 정보를 제외하거나 변경하여 서명 요청할 수 없도록 제한이 추가됩니다.

위 API들에 대해 설정 고정 상태의 템플릿에 설정된 정보를 일부 변경 (특정 참여자 제외, 템플릿에 설정된 필수 인증 수단 미설정 등) 하여 서명요청을 전송하려 하는 경우, 422 (UnprocessableEntityException) 오류를 반환합니다.

따라서, 위 API를 활용하시는 경우 템플릿 정보 가져오기 에서 반환된 설정 고정 여부를 확인하시어 예외 처리를 진행하시는 것을 권장합니다.

{
  "id": "{templateId}",
  ...
  "requesterEditable": false // 설정이 고정된 템플릿
}