PacteryDevelopers

5분 만에 첫 서명 요청 보내기

테스트 키 하나면 5분 안에 첫 서명 요청을 보낼 수 있습니다.

시작 전 확인:

  • 베이스 URL은 현재 https://pactery.com/v1 입니다(정식 https://api.pactery.com/v1 은 매핑 준비 중).
  • API 키는 조직 관리자에게 요청하세요 — sk_test_ 는 개발용(사용량 차감·실발송 없음), sk_live_ 는 운영용입니다. 운영 키도 발송 시에는 차감되지 않고 상대방 서명 완료 시 사용량이 반영됩니다. 키는 Authorization: Bearer 헤더로 보냅니다.
  • 문서·서명자·필드 ID는 모두 UUID이고, 응답엔 object 필드가 함께 옵니다.
  • 아래 예제의 키와 문서 ID 자리만 본인 값으로 바꾸면 그대로 동작합니다.

1. 문서 생성

curl https://pactery.com/v1/documents \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "업무 위탁 계약서",
    "content": "<h1>업무 위탁 계약서</h1><p>본 계약은 ...</p>"
  }'

응답으로 doc_로 시작하는 문서 ID가 옵니다.

{ "id": "4859ccb5-1baf-41f6-...", "status": "draft", "title": "업무 위탁 계약서" }

2. 서명자 지정

curl https://pactery.com/v1/documents/4859ccb5-1baf-41f6-.../participants \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "홍길동",
    "phone": "01012345678",
    "role": "signer",
    "auth": "sms_pin"
  }'

3. 발송

curl https://pactery.com/v1/documents/4859ccb5-1baf-41f6-.../send \
  -H "Authorization: Bearer sk_test_..." \
  -X POST

문서 상태가 sent로 바뀌고 서명자에게 링크가 전달됩니다.

4. 상태 확인

curl https://pactery.com/v1/documents/4859ccb5-1baf-41f6-... \
  -H "Authorization: Bearer sk_test_..."

participants[].statussigned가 되고, 모두 끝나면 문서 statuscompleted가 됩니다. 폴링 대신 웹훅을 쓰면 완료 시점에 즉시 통지받습니다.

흔한 함정

  • 발송(send) 후에는 문서 수정·서명자/필드 변경이 막힙니다(409). 모든 준비를 draft에서 끝내고 마지막에 send 하세요.
  • 필드 좌표 x/y/width/height 는 페이지 대비 0100(%) 값입니다(01 아님).
  • file 내려받기: 업로드/서명완료 PDF는 그대로, 콘텐츠(HTML) 문서는 제목+본문으로 PDF를 즉석 생성해 받습니다(한글 폰트 임베드).
  • 서명자에게 SMS가 자동 발송되는 건 phone 이 있는 경우입니다.