프로젝트 API
모든 요청에 edicus-api-key 헤더가 필요합니다. 사용자별 자원은 edicus-uid도 함께 보냅니다.
프로젝트 정보
섹션 제목: “프로젝트 정보” GET
/api/projects/:prjid 개별 프로젝트 정보를 얻습니다. 헤더: edicus-api-key, edicus-uid.
{ "project_id": "-LiBngTbCFYNjcOVcxcY", "order_id": "1234", "ctime": "2019-06-25T04:04:51.011Z", "mtime": "2019-06-25T04:04:51.011Z", "ps_code": "50x90@NC", "status": "editing", "template_uri": "gcs://template/partners/sandbox/...", "title": "sample test", "cloned_from": "-KiBngTbFEGNjcOVcxfe"}order_id는 주문된 경우에만,cloned_from은 복제된 프로젝트에만 존재합니다.
프로젝트 목록
섹션 제목: “프로젝트 목록” GET
/api/projects 생성된 모든 프로젝트 목록을 얻습니다. 헤더: edicus-api-key, edicus-uid.
status 값은 다음과 같습니다.
| status | 타입 | 설명 |
|---|---|---|
editing | — | 편집 중 |
ordered | — | 주문됨 |
소유자 조회
섹션 제목: “소유자 조회” GET
/api/projects/:prjid/owner 프로젝트 소유자 id를 반환합니다. 헤더: edicus-api-key. 찾지 못하면 owner에 null.
{ "owner": "uid-of-customer" }썸네일 URL
섹션 제목: “썸네일 URL” GET
/api/projects/:prjid/preview_urls 프리뷰용 썸네일(jpg) 리스트를 얻습니다. 헤더: edicus-api-key.
{ "urls": ["https://...", "https://..."] }- 상품에 따라 url 갯수가 다릅니다. 썸네일 지원 범위(
all-page/front-page/none)는 Edicus Manager의 상품별 설정을 따릅니다.
다중 썸네일 URL
섹션 제목: “다중 썸네일 URL” POST
/api/projects/preview_urls 여러 project-id의 썸네일을 한 번에 얻습니다. 헤더: edicus-api-key. 최대 25개.
// Request{ "project-ids": ["ifheoxief", "..."] }// Response{ "urls": [ { "project_id": "ifheoxief", "urls": ["https://...", "https://..."] }, { "project_id": "gheosifhe", "error": "no preview urls" }] }한도를 초과하면 err로 응답합니다.
{ "err": { "code": "project-ids limit excess", "message": "can request up to 25" } }프로젝트 삭제
섹션 제목: “프로젝트 삭제” DELETE
/api/projects/:prjid 헤더: edicus-api-key, edicus-uid.
복제 가능 여부
섹션 제목: “복제 가능 여부” GET
/api/projects/:prjid/can_clone 헤더: edicus-api-key, edicus-uid.
{ "can_clone": true }// 복제 중{ "can_clone": false, "reason": "clone_in_progress", "acquired_at": 1717225200000 }// 그 외{ "can_clone": false, "reason": "no_template_uri" }프로젝트 복제 (동기)
섹션 제목: “프로젝트 복제 (동기)” POST
/api/projects/:prjid/clone 프로젝트를 복제합니다. 포토북처럼 이미지가 많으면 수십 초 이상 걸릴 수 있습니다.
| 헤더 | 타입 | 설명 |
|---|---|---|
edicus-api-key * | string | |
edicus-uid * | string | |
edicus-target-uid | string | (선택) 복제될 대상 user id. 없으면 edicus-uid와 동일 user에 복제 |
{ "project_id": "-LEnOT7xY0ZJgXAVfc0p" }- 복제 진행 중 동일 원본에 대한 재요청은 HTTP 409
clone_in_progress를 반환합니다(info.acquired_at포함). lock은 복제 완료 시 해제되며, 10분이 지난 stale lock은 다음 요청에서 덮어씁니다. - 복제된 프로젝트 title에는 “(복제됨)“이 추가됩니다.
프로젝트 복제 (비동기)
섹션 제목: “프로젝트 복제 (비동기)” POST
/api/projects/:prjid/clone_async 동기 복제와 동일하되, 새 project_id를 즉시 반환하고 서버는 백그라운드에서 복제합니다. 복제 중에는 status가 cloning이며 완료되면 editing으로 바뀝니다. 완료 시 callback_url을 POST로 호출합니다.
// Body (optional){ "callback_url": "https://..." }프로젝트 데이터
섹션 제목: “프로젝트 데이터” GET
/api/projects/:prjid/data doc=true일 때만 doc json을 포함합니다. 헤더: edicus-api-key(서버) 또는 edicus-id-token(브라우저), edicus-uid.
GET /api/projects/:prjid/data?doc=[true|false]