주문 · 렌더링 API
주문 라이프사이클
섹션 제목: “주문 라이프사이클”editing ──▶ tentative(ordering) ──▶ definitive(ordered) ──▶ rendering ──▶ rendered │ 취소 가능 │ 취소 불가 └── cancel ──▶ editing- Tentative Order: 취소 가능한 주문. 렌더링되지 않음.
- Definitive Order: 확정 주문. 렌더링 가능 상태가 되며 취소 불가.
주문 가능 여부
섹션 제목: “주문 가능 여부” GET
/api/projects/:prjid/order/can_order 브라우저 강제 종료 등으로 저장이 안 된 경우 주문 가능 여부를 확인합니다. 헤더: edicus-api-key.
{ "can_order": true, "dec_rev": 3, "status": "editing"}status: editing / ordering / ordered / rendering / rendered.
가변(취소 가능) 주문
섹션 제목: “가변(취소 가능) 주문” POST
/api/projects/:prjid/order/tentative 헤더: edicus-api-key, edicus-uid.
| body | 타입 | 설명 |
|---|---|---|
order_for_test | boolean | 테스트 주문 여부(아래 참고) |
order_count * | number | 주문 수량 |
total_price * | number | 실 결제 금액 |
partner_order_id | string | (선택) 파트너사 주문 번호 |
order_name | string | (선택) 주문자 이름. 45자 이내 |
userdata_json | string | (선택) 렌더링 시 전달할 사용자 데이터. 1000자 이내 |
vdp_dataset | string | (선택) 가변 데이터. 포함 시 전용 API 사용 권장 |
{ "order_id": 100023, "status": "ordering" }- 편집 가능 상태가 아니거나(이미 주문됨)
projectId가 잘못되면err를 반환합니다. order_for_test: true는 렌더링 테스트용 주문으로, edicus-prepress의render-target이 development인 상태에서만 렌더링됩니다.
확정 주문
섹션 제목: “확정 주문” POST
/api/projects/:prjid/order/definitive Tentative Order 호출 이후에 호출해야 합니다. 렌더링 가능 상태가 되며 취소 불가. 헤더: edicus-api-key, edicus-uid.
{ "order_id": 100023, "status": "ordered" }주문 취소
섹션 제목: “주문 취소” POST
/api/orders/:order_id/cancel tentative 상태에서만 취소 가능합니다(definitive는 불가). 헤더: edicus-api-key, edicus-uid.
{ "order_id": "10021", "status": "canceled" }렌더링 상태 초기화
섹션 제목: “렌더링 상태 초기화” PUT
/api/orders/:order_id/status/reset_as_ordered 렌더링 상태를 ordered로 되돌립니다. Edicus Manager 주문확인 탭의 rerender와 동일하며, 렌더링 실패 시 재시도 구현에 사용합니다. 헤더: edicus-api-key.
내부용 엔드포인트
섹션 제목: “내부용 엔드포인트”다음 엔드포인트는 Edicus 내부(prepress) 연동용입니다.
주문 조회
섹션 제목: “주문 조회” POST
/api/order/query 주문 상품을 조회합니다. 헤더: edicus-api-key. body로 조회 조건 지정.
// 시간으로 조회{ "by_time": { "from": "2017-12-11", "to": "2017-12-12", "status": "rendered" } }// order id로 조회{ "by_order_id": { "order_id": "10009" } }// project id로 조회{ "by_project_id": { "project_id": "-KzvOwkOBG3ym3G9Mp6i" } }// partner order id로 조회{ "by_partner_order_id": { "partner_order_id": "Order-0001" } }렌더링 요청
섹션 제목: “렌더링 요청” POST
/api/order/request_for_render 렌더링 가능한 상태로 변경합니다. 헤더: edicus-api-key.
{ "prepress_id": "string", "last_requested_order_id": "string", "prod_codes": ["MB", "NC"] }렌더링 상태 변경
섹션 제목: “렌더링 상태 변경” PUT
/api/orders/:order_id/status/as/:status :status는 render-fail / rendered / ordered 중 하나. 헤더: edicus-api-key, body { prepress_id }.