📃 열람 요청 기능 추가

❗️

열람 요청 주의사항 안내

  1. 열람 문서는 계약의 효력을 가지지 않습니다. 계약의 효력과 무관한 통지서, 고지서, 확인서, 내역서와 같은 단순 열람 문서를 전송하시는데에 활용하실 수 있습니다.
  2. 열람용 템플릿의 역할은 일반 템플릿과 다르게 "열람자" 로 고정되어 설정됩니다.
    문서 발송 시 참고 부탁드립니다.
  3. 열람 문서는 기본 설정값으로, 열람자가 문서에 접근할 경우 열람 완료 상태로 자동으로 전환됩니다.
    1. 이를 원치 않으신다면, 열람용 템플릿의 "상세 열람 후 완료 클릭" 설정을 활성화하여 열람자가 문서 내용을 모두 확인 후 수동으로 열람 완료로 전환되도록 설정할 수 있습니다.

열람 문서와 서명 요청과의 서로 다른 차이점, 제한 사항들은 고객센터 > 문서 열람 요청 방법에서 자세히 확인하실 수 있습니다.

📤 열람 요청 문서 전송 기능 추가

아래 API들에 대하여 열람 요청 템플릿을 통해 열람 문서를 전송할 수 있습니다.

자세한 내용은 템플릿으로 열람 요청하기를 참고 부탁드립니다.

👀 열람자에 대한 참여자 응답값 추가

문서 상세 조회와 같이 참여자의 정보를 반환하는 API에 대하여 열람자 (type = VIEWER)에 대한 응답값이 추가됩니다.

{
  "type": "VIEWER",
  ...
  "manuallyViewing": true // 상세 열람 여부, 열람자인 경우에만 반환됩니다.
}

이용하시는 API Reference를 참고 부탁드립니다.


🌐 Webhook 이벤트 변경사항

열람 문서의 이벤트도 기존 이벤트와 같이 통합되어 발송됩니다.
상세한 내용은 Webhook event 를 참고 부탁드립니다.

🏷️ 라벨 수정 / 삭제 API 추가

서명 요청 시 문서 분류를 위해 적용하는 라벨을 수정하고 삭제할 수 있도록

라벨 수정 API라벨 삭제 API 가 추가되었습니다

📘

기존 폴더 기능이 라벨로 대체

기존에 사용하던 폴더 기능이 라벨로 대체 되며 폴더 관련 속성들은 일정 기간이 지난 후 제거 됩니다.
라벨 기능이 궁금하시면 "라벨을 만들어 분류하기" 를 참고해주세요


🔖 문서에 라벨 추가 / 문서에서 라벨 제거 API 추가

문서에 설정된 라벨을 제거하거나, 다른 라벨을 추가할 수 있도록 문서에 라벨 추가 API문서에서 라벨 제거 API 가 업데이트되었습니다.

지금까지 서명 요청 시 라벨을 설정할 수 있지만, 서명 요청 후 설정된 라벨을 제거하거나 추가할 수 있는 API가 없어 라벨을 통한 문서 관리에 어려움이 있었습니다.

추가되는 API를 활용해 문서에 라벨을 설정 및 관리할 수 있도록 개선하여 효율적인 문서 관리가 될 수 있도록 기대합니다 🙏

한 문서 당 적용할 수 있는 라벨의 개수는 최대 30개로 제한됩니다.

📂 문서 리스트 조회시 작성 중 상태, 문서 요청일 필터링 추가

  • 문서 리스트 조회 API 필터의 statusDRAFT로 작성 중 상태인 문서만 검색할 수 있습니다.
  • 문서 리스트 조회 API 필터의 startedAt을 통해 문서 요청일 기준으로 조건에 해당하는 문서를 검색할 수 있습니다.
📘

filter로 검색하기

filter로 검색하기가 어떤 기능인지 궁금하신 분은 filter로 검색하기를 확인해 보세요.

🏷️ 라벨 생성 / 목록 조회 API 추가

서명 요청 시 문서를 분류하기 위해 적용하는 라벨을 생성하고 라벨의 목록을 조회할 수 있도록

라벨 생성 API라벨 목록 조회 API 가 추가되었습니다

📘

기존 폴더 기능이 라벨로 대체

기존에 사용하던 폴더 기능이 라벨로 대체 되며 폴더 관련 속성들은 일정 기간이 지난 후 제거 됩니다.
라벨 기능이 궁금하시면 "라벨을 만들어 분류하기" 를 참고해주세요

✅ 보안 링크 서명자의 "서명 내용 수정 요청" 기능 지원 및 참조자 인원수 증가

1. 보안 링크 서명자의 "서명 내용 수정 요청" 기능 지원

v1.26.0 에 추가된 서명 내용 수정 요청 API는 보안 링크 서명자를 지원하지 않았는데 이를 개선합니다. 기존에 "Secure link signing method is not supported" 에러 메세지로 422 응답이 반환됐던 부분이 제거됐습니다.


2. 참조자 최대 인원수 30명으로 증가

기존에 최대 10명까지 지원했던 참조자 최대 인원수가 30명까지 지원하도록 개선됐습니다.

아래는 영향을 받는 API 목록입니다.

✅ "서명 내용 수정 요청" 기능 지원

API 신규기능 "서명 내용 수정 요청"을 지원합니다.

기능설명

📘

서명 내용 수정 요청을 통하여 서명자의 입력란 수정

"서명 내용 수정 요청" 기능을 통하여 서명자의 입력란을 수정할 수 있습니다. 서명자가 계약문서에 잘못 입력하거나 혹은 다시 입력하고 싶을 때 사용해보세요.

요청방법

  • POST /documents/:documentId/request-correction
  • path params: documentId, participantId
  • body params: message

관련 API 안내페이지

예외사항

🚧

서명 진행 중인 문서 상태만 사용 가능

모든 서명자가 서명을 완료하여 계약서가 완료되면 해당 기능을 사용할 수 없습니다.

예외메세지: Document status is not on going (status code: 422)

🚧

서명자가 서명을 하지 않은 경우

예외메시지: Signing is not found (status code: 422)

🚧

순서 없는 서명

예외메시지: The order of signer must not be duplicated (status code: 422)

🚧

서명 내용 수정 요청 기능이 지원되기 전에 생성된 문서

예외메시지: This document was created before the implementation of the correcting signing, thus, it is not available (status code: 422)

🚧

대면서명 서명방식

예외메시지: In person signing method is not supported (status code: 422)

🚧

보안링크 서명 서명방식

예외메시지: Secure link signing method is not supported (status code: 422)

🚧

문서의 참여자 정보를 잘못 입력

예외메시지: Participant is not found (status code: 422)

✅ 드롭다운 필드 "고급 입력란" 기능으로 요금제 편성

고급 입력란(드롭다운 필드) 기능이 추가되어 요금제 구성이 변경되었습니다. 고급 입력란 기능은 TeamPro, 맞춤형 및 연동형 요금제에 무상으로 제공하게 되었습니다.

기존에 API 를 사용하는 고객들은 TeamPro, 맞춤형 및 연동형 요금제 등급이기 때문에 고급 입력란(드롭다운) 필드를 계속적으로 이용하실 수 있습니다.

  • 단, 새롭게 Personal, Team 요금제를 통해서 가입하게 되는 고객님들은 고급 입력란(드롭다운) 기능 사용을 위해서는 TeamPro 이상의 요금제로 업그레이드를 해주시기 바랍니다.
🚧

Personal, Team 요금제의 경우 고급 입력란 사용 불가

Personal, Team 요금제의 경우 고급 입력란(드롭다운)을 사용할 수 없습니다. 고급 입력란 기능을 사용하기 위하여는 요금제를 Team Pro 이상 요금제로 업그레이드 하여 주시기 바랍니다.

해당 요금제 권한이 없을 경우 예외발생 (Http Status Code: 403)

✅ 요청자 입력 조회 "요청자 이름, 드롭다운" 추가

요청자 이름 및 드롭다운 입력란 DTO

// 요청자 이름 입력란
class NameRequesterInputResponseDto
{
  dataLabel: string;
  type: FieldType.NAME;
  value: string;
}

// 드롭다운 입력란
class DropdownRequesterInputResponseDto
{
  dataLabel: string;
  type: FieldType.DROPDOWN;
  value: string;
}

✅ 템플릿 정보 가져오기 "요청자 이름, 드롭다운" 추가

템플릿에서 요청자 이름 및 드롭다운 입력란 DTO

// 응답 요청자 이름 입력란
class NameRequesterInputInTemplateResponseDto
{
  dataLabel: string;
  type: FieldType.NAME;
  position: {
    x: number;
    y: number;
    page: number;
  };
  size: {
    width: number;
    height: number;
  } | null;
  textStyle: {
    size: number;
    font: string;
    align: string;
  };
  value: string;
}

// 드롭다운 입력란
class DropdownRequesterInputInTemplateResponseDto
{
  dataLabel: string;
  type: FieldType.DROPDOWN;
  required: boolean;
  size: {
    width: number;
    height: number;
  };
  position: {
    x: number;
    y: number;
    page: number;
  };
  textStyle: {
    size: number;
    font: string;
  };
  options: {
    value: string;
  }[];
}

📂 문서 리스트 조회 시 필터 조건 추가

문서 리스트 조회 API 필터에 라벨 ID(labelIds) 조건이 추가되었습니다.

📘

filter로 검색하기

filter로 검색하기가 어떤 기능인지 궁금하신 분은 filter로 검색하기를 확인해 보세요.


📂 템플릿 리스트 조회 API 응답 속성 추가

템플릿 리스트 조회 API 를 통해 라벨 리스트를 조회 할 수 있습니다.

📘

기존 폴더 기능이 라벨로 대체

기존에 사용하던 폴더 기능이 라벨로 대체 되며 폴더 관련 속성들은 일정 기간이 지난 후 제거 됩니다.
라벨 기능이 궁금하시면 "라벨을 만들어 분류하기" 를 참고해주세요

기존에는 템플릿에 설정한 라벨 리스트를 API 를 통해 확인할 수 있는 부분이 없었지만, 템플릿 리스트 조회에 해당 속성이 추가 되어 확인할 수 있도록 제공 됩니다. ( labels)

응답 유형은 아래와 같으며, id,name,description 항목이 제공 됩니다.

{
  "labels": [
    {
      "id": "01HSFWHB8T89Y4E92BJ3568VBR",
      "name": "라벨명"
      "description": null
    },
    {
      "id": "01HSFWJPNJ4ZMWY4ZX09EBBF68",
      "name": "라벨명2"
      "description": "설명을 적을 수 있습니다."
    }
  ]
}

🔖 요청 문서에 적용할 라벨 기능 지원

📘

요청 문서에 적용할 라벨 기능

템플릿에 요청 문서에 적용할 라벨 기능을 설정하고, 해당 템플릿을 이용하여 서명을 요청하면 자동으로 문서에 해당 라벨이 설정됩니다.

📌 기존에는 모두싸인 홈페이지에서 템플릿에 요청 문서에 적용할 라벨 을 설정하고, 템플릿으로 서명 요청 API를 통해 서명 요청을 진행해도, 해당 라벨이 적용되지 않았습니다. (홈페이지 전용 기능)

📌 앞으로는 모두싸인 홈페이지 또는 템플릿 생성 API에서 요청 문서에 적용할 라벨 설정하고, 템플릿으로 서명 요청 API를 통해 서명 요청을 진행하면, 자동으로 설정된 라벨들이 요청된 문서에도 적용됩니다.


🔖 템플릿 생성 시 요청 문서에 적용할 라벨 아이디 속성 추가

템플릿 생성 시 복수개(최대 5개)의 요청 문서에 적용할 라벨을 설정할 수 있습니다.

📌 🔖 요청 문서에 적용할 라벨 기능 지원 파트에서 설명된 것처럼 documentLabelIds를 설정하여 템플릿을 생성한 후, 템플릿으로 서명 요청 API를 통해 서명 요청을 진행하면, 자동으로 설정된 라벨들이 요청된 문서에도 적용됩니다.

📌 documentLabelIds는 복수개(최대 5개)의 라벨 설정이 가능 합니다.


🔖 템플릿 정보 가져오기 API 응답 속성 추가

템플릿 정보 가져오기 API 를 통해 요청 문서에 적용할 라벨 리스트를 조회 할 수 있습니다.

기존에는 템플릿에 설정된 요청 문서에 적용할 라벨리스트를 API 를 통해 확인할 수 있는 부분이 없었지만, 템플릿 정보 가져오기에 해당 속성이 추가 되어 확인할 수 있도록 제공 됩니다. ( documentLabels)

응답 유형은 아래와 같으며, id,name,description 항목이 제공 됩니다.

{
  "documentLabels": [
    {
      "id": "01HSFWHB8T89Y4E92BJ3568VBR",
      "name": "라벨명"
      "description": null
    },
    {
      "id": "01HSFWJPNJ4ZMWY4ZX09EBBF68",
      "name": "라벨명2"
      "description": "설명을 적을 수 있습니다."
    }
  ]
}

✅ [서명자] 서명한 날짜 필드 추가

서명한 날짜 필드(SIGNING_DATE) 추가

서명한 날짜 필드는 서명자가 서명한 날짜가 자동으로 기입되는 필드입니다.

다음의 API에서 서명한 날짜 필드가 추가되었습니다.

템플릿 정보 가져오기 API 응답 필드 타입 추가

템플릿 조회API 응답에 날짜, 서명한 날짜 필드 타입이 추가되었습니다.


type FieldType = {  
  TEXT = "TEXT",  
  CHECKBOX = "CHECKBOX",  
  SIGNATURE = "SIGNATURE",  
  IMAGE = "IMAGE",  
  DROPDOWN = "DROPDOWN",  
  NAME = "NAME",  
  COMPANY_NAME = "COMPANY_NAME",  
  ADDRESS = "ADDRESS",  
  DATE = "DATE", // 신규 추가  
  SIGNING_DATE = "SIGNING_DATE" // 신규 추가  
}

class DateFieldInTemplateResponseDto {  
  type: FieldType.DATE;  
  required: boolean;  
  size: {  
    width: number;  
    heigth: number;  
  };  
  position: {  
  	  x: number;  
	  y: number;  
	  page: number;  
	};  
  textStyle: {  
    size: number;  
    font: string;  
  };  
  dataLabel: string;  
  displayFormat: string;  
}

class SigningDateFieldInTemplateResponseDto {  
  type: FieldType.SIGNING_DATE;  
  required: boolean;  
  size: {  
    width: number;  
    heigth: number;  
  };  
  position: {  
  	  x: number;  
	  y: number;  
	  page: number;  
	};  
  textStyle: {  
    size: number;  
    font: string;  
  };  
  dataLabel: string;  
  displayFormat: string;  
}

✅ [서명자/서명 필드] 도장 이미지 업로드만 허용 속성

서명자 서명 필드에 도장 이미지 업로드만 허용하는 속성(allowedGenerationMethods)이 추가되었습니다.

해당 속성이 추가된 API는 아래와 같습니다.

템플릿 정보 가져오기 API를 통해 서명자 서명 필드 도장 이미지 업로드만 허용 속성을 조회할 수 있습니다.

템플릿 생성 시 설정한 서명자 서명 필드 도장 이미지 업로드만 허용 속성(allowedGenerationMethods)을 템플릿 정보 가져오기 API에서 확인할 수 있습니다.
응답 유형은 아래와 같습니다.

"fields": [  
  {  
    "type": "SIGNATURE",  
    "required": true,  
    "signatureTypes": [  
      "STAMP"  
    ],  
    // 신규 추가
    "allowedGenerationMethods": ["STAMP_IMAGE"],  
    "position": {  
      "x": 0.5,  
      "y": 0.5,  
      "page": 1  
    },  
    "dataLabel": "signature_dataLabel"  
  }  
]

✅ [서명자/텍스트 필드] 형식 추가

서명자 텍스트 필드에서 유효성을 검증할 수 있는 형식 속성(format)이 추가되었습니다.

해당 속성이 추가된 API는 아래와 같습니다.

템플릿 정보 가져오기 API를 통해 서명자 텍스트 필드 형식 속성을 조회할 수 있습니다.

템플릿 생성 시 설정한 서명자 텍스트 필드 형식 속성(format)을 템플릿 정보 가져오기 API에서 확인할 수 있습니다.
응답 유형은 아래와 같습니다.

"fields": [  
  { 
    "type": "TEXT",  
    "required": true,  
    "size": {
      "width": 0.3,
      "height": 0.3,
    }
    "position": {  
      "x": 0.5,  
      "y": 0.5,  
      "page": 1  
    },
  	"textStyle": {
  		"size": 12,
  		"font": "NOTO_SANS",
  		"align": "LEFT"
    },
    "dataLabel": "text_dataLabel",
    // 신규 추가
    "format": {
      "type": "PHONE_NUMBER" | "BANK_ACCOUNT_NUMBER" | "BIZ_NUMBER"
    }
  }  
]

✅ [날짜/ 서명한 날짜] 서명자 입력란 조회 API 필드 반환 설명 변경

날짜, 서명한 날짜 필드 반환값의 설명을 아래와 같이 추가하였습니다.

'서명자의 입력값\n ' +
  // 추가
'* 날짜, 서명한 날짜라면 ISO Date string (UTC Timezone)\n' +
'* 날짜, 서명한 날짜는 계약서 PDF에는 KST로 입력됨\n' +
  //
'* 입력항목이 텍스트, 드롭다운, 이름, 회사명 string\n' +
'* 입력항목이 사인/도장 또는 체크박스라면 true, false\n' +
'* 입력항목이 주소라면 AddressInputValue',

🧑‍💻 Webhook 재시도에 대한 정책 변경

기존 정책에서는 Webhook 응답 상태 코드가 200번대 아니거나, 응답에 10초 이상 소요되는 경우 실패로 판단하고 총 5회의 재시도 했습니다. 모니터링 결과 재시도 했을 때 성공 전환율 낮거나, 의도하지 않은 중복 작업을 발생시킬 가능성이 있으므로 일부 상황에 대해 재시도 하지 않도록 변경하고자 합니다. 자세한 내용은 Webhook event를 참고해 주세요.

🚧

Webhook 재시도 정책 변경

[AS-IS]

  • 응답이 2xx 가 아니거나 10초이상 소요되는 모든 요청에 대해 최대 5회 재시도

[TO-BE]

  • 401, 404, 10초 이상의 소요되는 요청(Timeout)을 제외한 응답에 대해 최대 5회 재시도