카페24 자사몰, 스마트스토어, 오픈마켓에서 같은 상품을 팔고 외부 창고에서 출고한다면, 주문 수집 화면을 하나로 모으는 것만으로는 품절 판매를 막기 어렵습니다. 한 채널에서 팔린 수량이 다른 채널에 반영되기 전까지, 같은 재고를 두 번 팔 수 있기 때문입니다.
쇼핑몰 주문 재고 API 연동 개발의 첫 결정은 연결할 판매처 수가 아니라 어느 시스템의 재고 숫자를 정답으로 볼지입니다. 창고관리 도구, ERP, 통합관리 솔루션, 자사몰 관리자 중 하나를 재고 원장, 즉 최종 기준 장부로 정해야 합니다. 나머지 시스템은 그 기준을 받아 판매 가능 수량을 보여주는 역할로 정리하는 편이 운영하기 쉽습니다.
재고 원장은 한 화면이 아니라 수량을 고치는 권한이다
재고 원장을 정한다는 말은 “이 화면의 숫자가 가장 최신”이라고 선언하는 데서 끝나지 않습니다. 입고, 주문 접수, 결제 실패, 취소, 반품 재입고가 생길 때 어느 시스템이 수량을 바꾸고, 다른 시스템은 언제 따라갈지를 정하는 일입니다. 판매처 관리자와 창고 시스템이 모두 재고를 직접 수정하면, 차이가 생겼을 때 어느 숫자를 되돌릴지 판단하기 어려워집니다.
예를 들어 외부 창고의 실물 수량을 기준으로 삼는다면, 자사몰과 오픈마켓은 창고가 계산한 판매 가능 수량을 받아야 합니다. 반대로 자사몰 관리자가 기준이라면 창고 출고와 반품 결과가 자사몰로 돌아와 수량을 바로잡아야 합니다. 어느 쪽이 맞는지는 도구의 이름보다 누가 입고와 출고를 실제로 처리하는지에 달려 있습니다.
여러 창고를 쓰면 상품 코드만 맞춰서는 부족합니다. 같은 티셔츠라도 A창고에 10개, B창고에 5개가 있는지 구분해야 합니다. 세트상품도 마찬가지입니다. 세트 한 개가 팔릴 때 구성품 재고를 어떻게 줄일지 정하지 않으면, 세트 화면에는 재고가 있어 보여도 구성품 하나가 먼저 소진될 수 있습니다.
주문 흐름을 그린 뒤 연결 범위를 정한다
정상 주문만 놓고 보면 주문 수집, 재고 차감, 송장 등록의 세 단계로 보입니다. 그러나 운영에서 문제를 만드는 것은 예외입니다. 고객이 결제 전에 주문을 만들었을 때 재고를 잠시 잡아둘지, 부분 취소가 되면 어떤 품목만 되돌릴지, 출고 뒤 교환 요청이 들어오면 재고를 언제 다시 판매 가능으로 바꿀지 합의해야 합니다.
특히 판매처마다 “주문 1건”의 묶는 방식이 다를 수 있습니다. 한 주문 안의 여러 상품이 각각 처리되거나, 배송과 품목 상태가 따로 움직일 수 있습니다. 따라서 연동 서버는 주문 번호만 저장하는 수준을 넘어, 판매처 주문 번호와 품목 번호, 내부 상품 코드, 출고 상태를 연결해 두어야 추적할 수 있습니다.
개발 착수 전에는 아래 산출물부터 만드는 편이 좋습니다.
- 재고 원장과 판매처별 재고 갱신 방향을 표시한 간단한 흐름도
- 상품 코드, 옵션 코드, 세트 구성품, 사은품의 대응표
- 주문 접수부터 취소·교환·반품까지 수량이 바뀌는 시점 목록
- 판매처 수량과 원장 수량이 다를 때 우선할 숫자와 조치 방법
- 운영자가 주문 누락과 재고 차이를 확인할 화면 또는 알림 기준
이 자료는 길게 쓴 기획서일 필요가 없습니다. 최근 발생한 품절 판매나 취소 누락 사례 하나를 놓고 “그 시점에 어느 숫자가 바뀌었어야 했는가”를 따라가면 됩니다. 이 흐름에서 답이 나오지 않는 구간이 맞춤 개발 또는 기존 솔루션 설정이 필요한 구간입니다.
검증과 운영은 실패한 연결을 전제로 설계한다
API는 판매처와 시스템 사이에서 데이터를 주고받는 연결 방식입니다. 다만 연결 요청이 항상 한 번에 성공한다고 가정하면 위험합니다. 인증이 만료되거나 호출 제한에 걸릴 수 있고, 판매처의 변경 알림이 늦거나 일부 상태를 전달하지 않는 경우도 있습니다. “실시간 연동”이라는 표현만으로 주문 누락이 사라지지는 않습니다.
따라서 주문을 받는 기능에는 같은 주문이 두 번 들어와도 한 번만 처리하는 장치가 필요합니다. 재고 갱신이 실패하면 재시도할 수 있어야 하고, 재시도에도 실패한 건은 운영자가 찾아볼 수 있어야 합니다. 또한 하루에 한 번이라도 기준 재고와 판매처 재고를 비교해 차이를 표시하는 대사 과정이 있어야, 조용히 누적된 오류를 발견할 수 있습니다.
업체와 상담할 때는 “어떤 판매처를 연동해 봤는가”보다 운영 장면을 물어보는 편이 낫습니다. 우리 재고의 정답 화면은 어디인지, 부분 취소와 교환 때 어떤 순서로 상태와 수량을 바꾸는지, 갱신 실패는 어느 화면에서 발견하고 누가 재처리하는지 확인해야 합니다. 그 답이 견적과 개발 범위에 포함되지 않는다면, 연동 뒤에도 운영자가 엑셀로 수량을 맞추게 될 가능성이 큽니다.
처음에는 판매처 하나와 대표 상품 몇 개를 골라 주문, 취소, 부분 취소, 재고 부족 상황을 끝까지 시험해 보십시오. 이 작은 흐름에서 재고 원장과 복구 방법이 작동하면 판매처와 상품 범위를 늘릴 기준이 생깁니다. 연결 개수를 늘리는 일은 그다음입니다.