> ## Documentation Index
> Fetch the complete documentation index at: https://make.edicus.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Customize 동작 설정

> System, Asset, Mobile Settings의 저장 키, 기본값, 편집기에서 적용되는 동작

**Customize > Config**에서 디비전 전체의 동작을 설정합니다. 디비전을 선택하고 값을 바꾼 뒤 **Update**를 누릅니다. 편집기를 다시 띄우면 반영됩니다.

## 배우는 것

* 사진 업로드, 종료 확인, 경고의 공통 설정
* 기본 리소스와 커스텀 리소스 API의 선택
* 기존 모바일 UI와 신규 모바일 UI에 적용되는 설정의 차이

<Note>
  2026년 10월 8일 코드 기준입니다. 데스크톱은 띄우기 옵션 `mobile`을 생략하거나 `false`로 띄운 편집기, 기존 모바일 UI는 `mobile: true`, 신규 모바일 UI는 `mobile: 'm2'`로 띄운 편집기입니다. 표의 기본값은 새 Customize 설정을 만들 때의 값입니다. 이전에 저장한 디비전에는 일부 키가 없을 수 있습니다. 데스크톱과 모바일은 같은 디비전을 읽지만 사용하는 항목은 다릅니다.
</Note>

## System Settings

키는 `config.system` 안에 저장됩니다.

| 화면 이름 | 저장 키 | 기본값 | 편집기 동작 |
| - | - | - | - |
| `back-action` | `back_action_type` | `default` | 브라우저 뒤로가기의 확인 방식을 고릅니다. 아래 값별 설명을 보세요 |
| `upload-api` | `upload_api_type` | `default` | 사진 업로드 방식을 고릅니다. 아래 값별 설명을 보세요 |
| `upload-limit` | `upload_limit_mb` | `30` | 값은 저장하지만 편집기에서 읽지 않습니다. 이 값으로 업로드 용량을 제한할 수 없습니다 |
| `upload-window` | `upload_window` | `5` | 데스크톱 사진 업로드의 동시 처리 수입니다. `4`, `5`, `6`, `8`, `10`에서 선택합니다 |
| `upload-win-mobile` | `upload_window_mobile` | `5` | 모바일 사진 업로드의 동시 처리 수입니다. 선택지는 데스크톱과 같습니다 |
| `check-empty-cell` | `check_empty_cell` | `false` | 빈 사진 칸이 있으면 장바구니 이동 전에 계속 편집할지 확인합니다. 사용자가 진행을 선택할 수 있습니다 |
| `check-empty-print` | `check_empty_print` | `false` | 사진인화에서 인화 수가 0인 상태로 저장하려 하면 확인 창을 띄웁니다. 취소하면 저장하지 않습니다 |
| `check-photo-option` | `check_photo_print_option` | `false` | 데스크톱 사진인화의 전체 옵션에 확인 안내를 붙입니다. 모바일에서는 주문 이동 전 이미지맞춤과 인화지맞춤 차이를 알립니다 |
| `alert-photo-adjust` | `alert_photo_adjust` | `false` | 밝기 보정 안내입니다. 데스크톱은 사진인화 옵션 옆 안내, 모바일은 보정을 켤 때 알림입니다 |
| `allow-0-multi-sticut` | `allow_zero_multi_sticut` | `false` | 멀티 스티커 문서 전체에 칼선이 하나도 없어도 장바구니 진행을 허용합니다 |
| `allow-ext-drop` | `allow_ext_drop` | `false` | 데스크톱 사진 목록과 인화 캔버스에 운영체제 파일을 끌어 놓아 업로드할 수 있게 합니다 |
| `allow-heic (test)` | `allow_heic` | `false` | `.heic` 사진을 업로드 대상으로 받습니다. 브라우저에서 썸네일을 만들지 않고 서버 처리 결과를 사용합니다 |
| `layout-is-design` | `layout_is_design` | `false` | 데스크톱 레이아웃 탭 이름을 디자인으로 바꿉니다. 리소스 종류나 적용 방식은 바꾸지 않습니다 |
| `show-filename` | `show_filename` | `false` | 데스크톱 사진 목록에 파일 이름을 표시합니다. 이름 정렬을 켜는 설정은 아닙니다 |
| `logo-exit` | `logo_exit` | `false` | 데스크톱 로고 클릭을 종료 확인 동작에 연결합니다 |
| `alert-spine` | `alert_spine` | `false` | 선택 개체가 책등 영역과 충돌하면 데스크톱과 모바일 캔버스에 경고합니다 |
| `no-text-on-spine` | `prevent_text_on_spine` | `false` | 책등이 있는 페이지에서 텍스트 추가와 개체 이동 등의 위치를 책등 밖으로 보정합니다. 일부 사진 배치에도 적용됩니다 |
| `tab-ui-click` | `tab_ui_click` | `false` | 카테고리·가져오기 등의 드롭다운을 마우스 올리기 대신 클릭으로 열게 합니다 |
| `skip-null-proj-alert` | `skip_null_project_alert` | `false` | 모바일에서 새 프로젝트를 변경 없이 종료할 때 저장 확인을 생략합니다. 이후 주문 이동과 저장 절차는 진행합니다 |
| `center-warning` | `center_warning` | `false` | 재단·안전 영역 등의 캔버스 경고 문구를 가운데에 표시합니다 |
| `upload-progress` | `upload_progress` | `false` | 업로드 중인 사진과 인화 항목에 진행률을 표시합니다 |
| `category-search` | `category_search` | `false` | 스티커 탭에 카테고리 태그 검색 UI를 표시합니다. 파트너 권한에 따라 이 항목이 보이지 않을 수 있습니다 |
| `can-skip-promo` | `can_skip_promo` | `false` | 기존·신규 모바일 UI의 시작 프로모션 창에 **하루 동안 보지 않기** 버튼을 표시합니다. 누르면 프로모션 URL 기준으로 브라우저에 기록하고 24시간 동안 창을 건너뜁니다. 영구히 숨기지는 않습니다 |
| `preview-mobile-2` | `preview_touch` | `false` | 모바일 기본 단일 미리보기를 터치 미리보기로 바꿉니다. 다중 미리보기는 바꾸지 않습니다 |
| `allow-spoid` | `allow_spoid` | `false` | 데스크톱 개체 메뉴에서 화면 색을 가져오는 스포이드를 사용할 수 있게 합니다 |

### 뒤로가기 값

| 값 | 동작 |
| - | - |
| `default` | 종료하면 편집 내용이 사라질 수 있음을 알립니다. 편집기로 돌아오거나 저장 없이 닫기를 선택합니다 |
| `save-or-not` | 저장 후 나가기와 저장 없이 나가기 중 선택합니다. 저장 후 나가기는 검증 뒤 `goto-cart`, 저장 없이 나가기는 `close`를 호스트에 보냅니다 |

확인 창을 취소하면 편집을 계속합니다. 상품별 종료 검증도 적용됩니다. 호스트는 [편집기 이벤트](/docs/sdk/events)의 `close`와 `goto-cart`를 처리해야 합니다.

### 업로드 값

| 값 | 동작 |
| - | - |
| `default` | 원본 사진을 업로드합니다. 목록 썸네일은 브라우저에서 만듭니다 |
| `middle` | 원본과 함께 EXIF 회전을 적용한 긴 변 800px 이내의 중간 이미지를 만들어 전송합니다. 가로나 세로가 8000px를 넘는 등 중간 이미지 생성이 생략되는 경우에는 기존 업로드 경로를 사용합니다 |

`upload-limit`의 선택지는 `10`, `20`, `30`, `40`, `50` MB와 `unlimit`(`0`)입니다. 현재 소비되지 않으므로 어떤 값도 브라우저의 용량 제한을 만들지 않습니다.

## Asset Settings

**Production**은 `config.asset`, **Development**는 `config.asset_dev`에 저장됩니다. 띄우기 `env_mode=dev`일 때 개발 설정, 그 외에는 운영 설정을 읽습니다. 정렬은 개발 환경에서도 운영 설정의 값을 사용합니다.

| 화면 이름 | 저장 키 | 기본값 | 동작 |
| - | - | - | - |
| `resource-manage` | `res_manage_type` | `default` | `default`는 에디쿠스 리소스 서버, `custom_api`는 파트너 리소스 API를 사용합니다 |
| `custom-api` | `res_custom_api` | 빈 문자열 | 커스텀 API 주소입니다. `custom_api`일 때 입력 칸이 열립니다 |
| `api-key` | `custom_api_key` | 빈 문자열 | 서버가 파트너 API에 인증 요청을 보낼 때 쓰는 키입니다. 실제 값은 문서나 프런트 코드에 넣지 않습니다 |
| `sticker-manage` | `sticker_manage_type` | `none` | 기본 리소스 사용 시 `none`은 분류 없는 목록, `category`는 상품의 스티커 그룹 카테고리를 사용합니다 |
| `sticker-order` | `sticker_order_type` | `default` | 기본 리소스의 스티커·디자인 조회 순서입니다. 운영 설정에만 있습니다 |
| `asset-order` | `asset_order_type` | `default` | 기본 리소스의 레이아웃·템플릿 조회 순서입니다. 이 키가 아예 없는 이전 설정에서는 템플릿 목록만 `sticker_order_type`을 따르고, 레이아웃 목록은 기본 순서로 표시합니다 |

### 정렬 값

| 값 | 기본 리소스에서의 순서 |
| - | - |
| `default`, `asc` | 리소스 ID 오름차순. 먼저 등록한 항목부터 표시합니다 |
| `desc` | 리소스 ID 내림차순. 나중에 등록한 항목부터 표시합니다 |
| `name-asc` | 리소스 제목 오름차순 |
| `name-desc` | 리소스 제목 내림차순 |

배경 목록에 `sticker-order`를 적용하는 코드는 활성화되어 있지 않습니다. 배경 정렬 설정으로 사용하지 마세요.

### 커스텀 API 사용 흐름

편집기는 파트너 API에서 카테고리와 템플릿·레이아웃·배경·스티커 목록을 받아 표시합니다. 에디쿠스 서버가 디비전의 `custom_api_key`로 파트너 API에 인증 요청을 보내고, 발급된 토큰을 편집기에 돌려줍니다. 리소스 요청에는 이 토큰이 들어갑니다. 토큰 만료 응답을 받으면 다시 인증하고 요청을 재시도합니다.

상품 설정의 `no-rsc-api`(`template_option.noCustomApi`)가 켜지면 해당 상품은 커스텀 API를 사용하지 않습니다. **Plugins**의 외부 도구와 **APIs**의 배경 제거 설정은 독립된 기능입니다. 스티커 그룹과 카테고리는 [스티커·패턴·디자인 관리](/docs/products/stickers)에서 만듭니다.

## Mobile Settings

키는 `config.mobile` 안에 저장됩니다. 아래에서 기존 모바일 UI는 띄우기 옵션 `mobile: true`, 신규 모바일 UI는 `mobile: 'm2'`로 띄운 편집기입니다. 데스크톱 UI는 이 묶음을 읽지 않습니다. 사진인화 상품은 두 모바일 UI가 같은 화면을 씁니다.

| 화면 이름 | 저장 키 | 기본값 | 적용 범위와 동작 |
| - | - | - | - |
| `ui-theme` | `ui_theme` | `default` | 기존 모바일 사진인화의 테마입니다. `default`는 어두운 헤더·목록, `white`는 밝은 헤더·목록입니다. 일반 템플릿 화면에는 같은 변화가 없으며 신규 모바일 UI 사진인화는 항상 밝은 테마입니다 |
| `close-title` | `close_title` | 빈 문자열 | 모바일 주문 이동 버튼 문구입니다. Info의 모바일 `exit_title`, 공통 `exit_title`, 이 값, 기본 번역 순으로 우선합니다 |
| `close-position` | `close_position` | `left` | 기존 모바일과 모바일 사진인화 종료 버튼을 `left` 또는 `right`에 배치합니다. 신규 모바일 UI 템플릿은 항상 오른쪽입니다 |
| `photo-tab` | `photo_tab` | `default` | 기존 모바일 템플릿 도구 막대에서 `with_add`는 사진 추가 버튼을 함께 표시합니다. `default`는 추가하지 않습니다 |
| `left-exit` | `left_exit` | `false` | 기존 모바일 템플릿에서 주문 이동 버튼을 오른쪽에 둘 때 왼쪽에 별도 나가기 버튼을 표시합니다 |
| `import-guide` | `import_guide` | `false` | 모바일 사진인화에 **다중 사진 선택 방법 안내**를 표시합니다. 클릭하면 호스트에 `request-help-message`를 보냅니다 |
| `fixed-tab` | `fixed_tab` | `false` | 모바일 도구 탭을 고정하여 최소화하지 않도록 합니다 |
| `bottom-gap` | `bottom_gap` | `false` | 기존 모바일 템플릿 화면의 하단 도구 영역 높이를 66px로 늘리고, 모바일 사진인화 화면에도 하단 여백을 둡니다. 신규 모바일 UI 템플릿 화면은 이 값을 읽지 않습니다 |
| `modal-crop` | `modal_crop` | `false` | 모바일 사진 칸 자르기를 캔버스 안 편집 대신 별도 창에서 진행합니다 |
| `save-ui` | `save_ui` | `false` | 기존 모바일 템플릿에서 상품의 `saveUI`도 켜지면 별도 저장 버튼을 표시합니다. 신규 모바일 UI 템플릿에는 이 버튼이 연결되어 있지 않습니다 |
| `accept-none` | `accept_none` | `false` | 모바일 파일 선택의 `accept`를 JPEG·PNG에서 `*/*`로 바꿉니다. 업로드 파일 형식 검증은 그대로 적용됩니다 |
| `handler-style` | `handler_style` | `default` | `invert`는 모바일 캔버스 선택 상자의 회전 핸들 배치를 뒤집습니다. `default`는 기본 배치입니다 |
| `m2-photo-tab-mode` | `photo_tab_mode` | `default` | 신규 모바일 UI에서 `show-apply`는 선택 사진 적용 버튼을 표시합니다. 멀티 스티커에는 표시하지 않습니다 |

**import-guide**는 안내 버튼만 만듭니다. 호스트에서 `request-help-message`를 받아 실제 안내 화면을 열어야 합니다. [편집기 이벤트](/docs/sdk/events)에 설명이 있습니다.

## 됐는지 확인

<Check>
  Edicus Manager의 **Resource** 화면에서 이 상품의 템플릿을 고릅니다. 템플릿 목록 위의 `{ divCode,lang,ui_locale,... }` 모양 버튼을 눌러 **platform**(desktop, mobile, mobile-v2)과 **DivCode**를 설정한 디비전으로 맞춥니다. **Demo**로 편집기를 띄워 바꾼 화면을 확인합니다. 사진 업로드와 저장, 종료까지 확인하려면 [테스트 주문과 렌더링](/docs/templates/test-render)의 **Test Order**를 씁니다.
</Check>

<Note>
  연동 담당자에게 확인을 맡길 항목입니다. Development 자산 설정은 띄우기 옵션 `env_mode: 'dev'`로 띄워야 읽힙니다. 뒤로가기와 종료 설정은 호스트가 `close`, `goto-cart` 이벤트를 처리해야 끝까지 확인할 수 있습니다.
</Note>

## 다음 단계

<Columns cols={2}>
  <Card title="파트너 공통 설정" icon="palette" href="/docs/products/style">문구, CSS, 플러그인과 디비전을 설정합니다.</Card>
  <Card title="스티커·패턴·디자인 관리" icon="shapes" href="/docs/products/stickers">편집기에 제공할 자산 그룹을 만듭니다.</Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.