문서(Document)

**문서(Document)**는 서명의 대상이 되는 한 건의 계약/서면입니다. 본문(HTML) 또는 업로드한 PDF를 담습니다.

객체 구조

{
  "id": "4859ccb5-1baf-41f6-...",
  "object": "document",
  "title": "업무 위탁 계약서",
  "status": "sent",
  "author_name": "주식회사 팩터리",
  "document_type": "signing",
  "edit_locked_at": null,
  "participants": [ /* 서명자 배열 */ ],
  "fields": [ /* 서명 필드 배열 */ ],
  "created_at": "2026-06-05T09:30:00+09:00",
  "completed_at": null
}

생애주기

draft ──send──▶ sent ──(서명 진행)──▶ completed
                 │
                 ├─ 서명자 거절 ──▶ rejected
                 ├─ 만료 ──────────▶ expired
                 └─ 발신자 취소 ───▶ canceled
상태 의미
draft 작성 중. 필드·서명자 수정 가능, 미발송
sent 발송됨. 서명 진행 중
completed 모든 필수 서명 완료
rejected 서명자가 거절
expired 마감일 경과
canceled 발신자가 취소

공개 API로는 draft에서만 본문·필드·서명자를 바꿀 수 있습니다. edit_locked_at은 편집 잠금 시각인 읽기 전용 필드이며, 값이 있으면 작성 중에도 편집할 수 없습니다. 잠금은 Pactery의 문서 설정에서 작성자 또는 조직 관리자가 변경합니다.

document_type은 읽기 전용 문서 종류(general 또는 signing)입니다. 기존 문서와 공개 API로 만든 문서는 signing입니다. 일반 문서는 서명 발송을 할 수 없으며, Pactery 작성 화면에서 서명 문서로 전환한 뒤 요청합니다. 서명·공유를 시작한 문서는 일반 문서로 바꿀 수 없습니다. metadata._pactery_*는 시스템 예약값으로 직접 변경할 수 없습니다.

공유 링크로 여러 수신자가 각각 서명한 문서는 완료된 계약이 하나 이상 있으면 completed로 표시합니다. 이는 같은 링크의 추가 서명 접수를 닫는다는 뜻이 아닙니다. 새 버전의 초안이나 편집 잠금 여부와도 별개입니다. 공동 검토의 승인만으로는 서명 완료가 되지 않습니다.