Skip to main content
Edicus 연동을 시작하기 전에, 누가 누구와 무엇을 주고받는지 한 번 정리하고 갑니다. 이 그림을 잡아 두면 이후 문서가 훨씬 빨리 읽힙니다.

세 참여자

화살표 2번과 5번은 반드시 서버에서 갑니다. API 키가 브라우저로 내려가면 누구나 그 키로 남의 프로젝트를 조회하고 주문을 넣을 수 있습니다.
고객사 서버가 Edicus 서버를 부를 때 실패는 4xx와 5xx 상태 코드로 옵니다. body의 error.code로 원인을 구분합니다. 자세한 내용은 오류 처리에 있습니다.

편집기는 iframe입니다

편집기는 내 페이지에 설치되는 것이 아니라, Edicus가 호스팅하는 페이지를 내가 지정한 요소 안에 iframe으로 넣는 방식입니다. 그래서 다음이 따라옵니다.
  • 편집기와 내 페이지는 서로 다른 origin입니다. 직접 함수를 부를 수 없고 postMessage로만 대화합니다. 이 postMessage를 감싸 준 것이 SDK의 세션입니다.
  • iframe을 넣을 요소에 크기가 없으면 편집기가 보이지 않습니다.
  • 브라우저 뒤로가기나 앞으로가기로 편집기 iframe이 다시 보여야 하는 경우, 편집기는 보이지 않도록 되어 있습니다. 페이지 전환을 직접 관리하셔야 합니다.

SDK는 브라우저 쪽에만 있습니다

서버용 JS SDK는 제공하지 않습니다. 서버 연동은 언어를 가리지 않도록 HTTP 엔드포인트를 직접 호출하는 방식입니다. 자세한 내용은 설치와 진입점과 Server API 호출하기에 있습니다.

세션 하나가 iframe 하나입니다

브라우저 쪽 SDK의 핵심 개념입니다. 띄우기 메서드를 한 번 부르면 세션이 하나 생기고, 그 세션이 iframe 하나를 담당합니다.
들어오는 메시지는 어느 iframe에서 왔는지로 구분해 해당 세션에만 전달됩니다. 편집기와 미리보기를 동시에 띄워도 메시지가 섞이지 않습니다.

편집기 화면에는 세 가지 모드가 있습니다

프로젝트의 일생

사용자가 편집한 결과물을 Edicus에서는 프로젝트라고 부릅니다.
  • editing에서는 사용자가 자유롭게 편집하고 저장합니다.
  • 잠정 주문을 넣으면 ordering이 됩니다. 편집 권한이 회수되지만 아직 취소할 수 있습니다.
  • 확정 주문을 넣으면 ordered가 되고 인쇄용 파일 렌더링이 시작됩니다. 이 뒤로는 취소할 수 없습니다.
자세한 내용은 주문 라이프사이클에 있습니다.

다음 단계

토큰과 API 키

두 자격 증명이 각각 무엇을 할 수 있는지 정리합니다.

설치와 진입점

세 개의 임포트 경로 중 무엇을 언제 쓰는지 봅니다.