제품 및 API 안내
문서 생성
이 엔드포인트의 역할
한 번의 호출로 템플릿과 데이터를 완성된 파일로 만듭니다. 대기하는 동안 문서가 생성되고 응답에 다운로드 주소가 포함되므로 폴링할 필요가 없습니다. 긴 문서나 일괄 작업은 대기열 엔드포인트가 같은 작업을 백그라운드에서 처리합니다.
템플릿 코드와 데이터를 보내면 문서를 받습니다. 응답의 다운로드 URL은 기본 주소 기준 상대 URL이며 같은 API 키로 가져옵니다.
요청
curl -X POST https://api.pdfgine.com/api/v1/render \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateCode": "invoice",
"format": "pdf",
"locale": "ko",
"purpose": "production",
"data": {
"document": { "title": "INV-2026-001" }
}
}'
format 필드는 "pdf" 또는 "docx"를 받습니다. 기존 클라이언트의 숫자 값도 계속 지원하며 1은 PDF, 2는 DOCX입니다. 응답은 형식을 숫자로 반환합니다.
purpose가 production이면 한도를 사용합니다. 템플릿을 시험할 때는 editor-test를 보내세요. 이 출력은 한도를 사용하지 않으며 게시되지 않은 초안 수정본을 사용합니다.
요청부터 다운로드까지
위 호출의 응답과 파일을 가져오는 호출입니다. 상태 202는 요청이 수락되었으며 문서가 준비되었다는 뜻입니다.
응답
HTTP/1.1 202 Accepted
X-PDFgine-Pages: 1
X-PDFgine-Quota-Remaining: 4999
{
"documentId": "doc_a96063f5dcd5400286ce9b3be9b0595b",
"format": "pdf",
"templateCode": "invoice",
"templateVersion": 1,
"templateVersionSource": "published",
"downloadUrl": "/api/v1/documents/doc_a96063f5dcd5400286ce9b3be9b0595b/download/pdf",
"pageCount": 1,
"quotaRemaining": 4999,
"meteringBasis": "pdf-equivalent"
}
cURL
curl https://api.pdfgine.com/api/v1/documents/doc_a96063f5dcd5400286ce9b3be9b0595b/download/pdf \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-o invoice.pdf
자주 발생하는 문제
- 생성 응답은 200이 아닌 202입니다. 200 이외의 응답을 실패로 처리하는 클라이언트는 성공을 오류로 보고합니다.
- purpose는 두 가지를 결정합니다. production은 게시된 버전을 사용하고 한도를 소모하며 editor-test는 게시되지 않은 초안을 사용하고 한도를 소모하지 않습니다. production으로 테스트하면 템플릿을 시험하는 데 가장 많은 비용이 듭니다.
- 422는 서버 장애가 아닙니다. 본문의 errors에 템플릿이 요구한 모든 필드가 표시되므로 재시도가 아닌 전송 데이터 수정이 필요합니다.
- 402는 월 페이지 한도를 소진했다는 뜻입니다. X-PDFgine-Quota-Remaining 헤더로 소진 전에 잔여량을 확인할 수 있습니다.
- downloadUrl은 API 주소 기준 상대 URL입니다. 절대 URL로 저장하면 주소가 바뀌는 날 사용할 수 없게 됩니다. documentId를 저장하고 주소를 구성하세요.