편집기 공통 옵션
createProject, openProject, recycleProject가 공통으로 받습니다. parent_element와 token을 빼면 모두 선택입니다.
선택 옵션은 값이 있을 때만 URL에 들어갑니다. false, 0, 빈 문자열처럼 falsy인 값도 넣지 않습니다. 예를 들어 no_update: false는 생략한 것과 같습니다.
그 밖의 공통 옵션
아래 옵션도CommonLaunchOptions에 있습니다. SDK는 값을 그대로 URL 쿼리에 싣습니다.
타입에 적힌 값 말고 다른 문자열도 받습니다.
edit_lock도 문자열에 값이 들어 있는지로 판단하므로 'edit-group,edit-page'처럼 함께 넣습니다.
cal_date 형식
year-month 또는 year-month-this-prev-next 형태입니다.
지연 파라미터
URL에 싣지 않고, 띄우는 시점에 저장했다가 편집기가 요청하면 답하는 옵션입니다. 값이 크거나 URL에 넣기 곤란한 것들입니다. 다른 옵션과 같은 객체에 넣으면 됩니다.
지연 파라미터가 있으면 편집기가 그 값을 요청할 때까지 기다리라는
wait_* 플래그가 URL에 붙습니다. 대부분 원래 옵션 이름을 따릅니다(private_css → wait_private_css).
SDK는 어느 세션에서든 편집기가 요청한 이름에 답합니다. 다만 URL에 붙는 플래그는 띄우는 메서드마다 다릅니다.
그래서 편집기 계열에
data_row를 주거나 TnView에 ddp_block을 줘도 플래그가 붙지 않습니다.
options 키
편집기 계열이 읽는options의 키입니다. 각 키의 필드는 설명 페이지에 있습니다. 표에 없는 키는 공개 연동 대상이 아닙니다.
같은 이름의 키를 사이즈 edicus options에도 둘 수 있습니다. 둘 다 있으면 아래 합치는 방식을 따릅니다. “키 단위”는 객체의 맨 위 키끼리 합치고 겹치는 키는 띄우기 옵션이 이긴다는 뜻입니다. 안쪽 객체는 합치지 않고 통째로 바뀝니다.
options.sizing
createProject의 options로 템플릿의 페이지 사이즈를 바꿀 수 있습니다.
대지 크기는 재단 점 크기입니다.
option_string
option_string은 상품 설정 일부를 이 프로젝트에 한해 바꾸는 문자열입니다. options와 같은 지연 파라미터라 URL에 싣지 않고, 편집기가 요청할 때 SDK가 보냅니다.
형식
키=값쌍을&로 잇습니다. 값은 첫=뒤부터 다음=앞까지이므로 값에=와&를 넣을 수 없습니다.- 편집기는 퍼센트 인코딩을 풀지 않고 값을 그대로 씁니다.
promo,sizing,single_strict_palette는 값 안에항목:값을;로 이은 묶음을 받습니다. 예:promo=url:<인코딩한 주소>;width:300;height:400- 묶음 값 안의 항목 값에는
:와;를 쓸 수 없습니다. 예외는 이름이url인 항목으로, 어느 묶음에 있든 편집기가 퍼센트 인코딩을 풀어 씁니다. 주소는encodeURIComponent로 인코딩해 넣습니다. - 접두사가 붙은 키는 한 객체로 모입니다.
prodinfo_<저장 키>는 상품 설정 값,sizing_<키>와sizing*modify_<키>는 크기 설정,composition_<키>는 조판 그룹,sticut_<키>,sticut*stand_<키>,sticut*multi_sticut_stand_<키>는 스티컷 설정,paging*growth_<키>,paging*spine_<키>,paging*config_<키>는 페이징 규칙의 같은 키를 바꿉니다.
값 변환
편집기는 정해 둔 키만 숫자나 불리언으로 바꾸고, 나머지는 문자열 그대로 씁니다.
불리언은 정확히
true일 때만 참입니다. 1이나 TRUE는 거짓입니다. 방향별 테두리 border_left_mm, border_top_mm, border_right_mm, border_bottom_mm은 변환 대상이 아니어서 문자열 그대로 들어갑니다.
적용 시점과 저장
- 편집기는 상품 설정과 사이즈의 product override를 읽은 뒤
option_string을 적용합니다. 다른 층과의 우선순위는 상품 설정 한눈에 보기에 있습니다. - 새 프로젝트를 만들 때 받은
option_string은 프로젝트 문서에 저장됩니다. - 저장된 프로젝트를 다시 열 때는 문서에 저장된
option_string을 쓰고, 이번에 넘긴 값은 무시합니다. 문서에 저장된 값이 없을 때만 이번 값을 씁니다. pscode와template_uri키를 주면createProject의ps_code,template_uri대신 이 값으로 프로젝트를 만듭니다.ui_style,num_page,cal_date키는 같은 이름의 띄우기 옵션을 대신합니다.
예시
키별 설명
TnView와 Preview 공통 옵션
parent_element와 token은 필수입니다. 편집기 공통 옵션은 받지 않습니다.
TnView의 세 메서드는
rotate?: boolean과 show3d?: boolean도 받습니다. 둘 다 명시적으로 지정했을 때만 URL에 실립니다.
openTnview는 project_id가 필수이고 ps_code가 선택입니다. createTnview와 showTnview는 ps_code와 template_uri가 필수입니다.
Preview는 project_id와 partner와 uid가 추가로 필수입니다. ps_code는 선택이고, mode?: string(기본값 'default')을 받습니다.
experimental 메서드
v2 표면에 있던 메서드 일부가 v2와 같은 동작으로 구현돼 있습니다. 옵션 타입이 느슨하고(ExperimentalLaunchOptions), 안정 계약으로 보장하지 않습니다. 새 연동에는 정식 메서드를 쓰세요.
SDK가 확인하는 필수 옵션은 parent_element와 token뿐입니다. 메서드가 실제로 쓰는 다른 값(ps_code, project_id 등)이 빠져도 예외를 던지지 않고, v2처럼 URL에 undefined라는 글자가 그대로 들어갈 수 있습니다.
ExperimentalSession은 이벤트와 커맨드에 타입이 없는 세션입니다. 주고받는 메시지를 Record<string, unknown>으로만 다룹니다.
다음 단계
편집기 띄우기
자주 쓰는 옵션만 다시 봅니다.
상품 설정 한눈에 보기
띄우기 옵션과 상품 설정 중 어느 값이 이기는지 봅니다.