재고 검색 구현
재고를 검색하여 상점에서 판매할 상품의 실시간 가용성을 판별할 수 있습니다. 또한 재고가 있는 위치와 다른 재고 상태의 재고 분할도 볼 수 있습니다. 위치에서 재고를 추가하거나 제거할 수도 있습니다.
솔루션
재고 검색 플로우를 구현하는 데 사용되는 API, 서비스 및 기타 컴포넌트를 이해합니다.
포틀릿 스캔
translateBarCode 및 searchCatalogIndex API가 호출됩니다.- 상품을 스캔하는 경우 재고 정보 페이지가 표시됩니다.
- 일련 번호를 스캔하는 경우 일련 번호 세부사항 페이지가 표시됩니다.
- 일치하는 바코드를 찾을 수 없으면
searchCatalogIndexAPI가 호출되고 제품 목록 페이지가 표시됩니다.
고급 검색
- 재고 상태는
SIM GET API - {tenantId}/v1/inventory/inventory-statuses를 호출하여 얻습니다. - 위치 유형은
SIM GET API - {tenantId}/v1/stores/{storeId}/location-types를 호출하여 얻을 수 있습니다. - 위치는
SIM GET API - {tenantId}/v1/stores/{storeId}/locations를 호출하여 얻을 수 있습니다.위치 유형을 선택하면 선택한 위치 유형에 따라 위치가 필터링됩니다.
제품을 검색할 때 SIM GET API -
{tenantId}/v1/stores/{storeId}/inventory:summary?productId={productId}&inventoryStatus={inventoryStatus}&locationId={locationId}&locationType={locationType} 가 호출되고 제품 목록 페이지가 표시됩니다.
로케이션을 선택하면 선택한 로케이션에 있는 재고가 표시됩니다. 위치 유형을 선택하면 선택한 위치 유형의 재고가 표시됩니다.
제품 목록 페이지
상품 목록 페이지에서 검색 필드를 편집하거나 검색 기준을 삭제하여 검색을 수정할 수 있습니다. 상품 설명 링크를 클릭하면 재고 세부사항 페이지가 표시됩니다.
재고 정보 페이지
재고 세부사항 페이지에서 각 위치의 재고 가용성을 표시하기 위해 SIM
GET API -
{tenantId}/v1/stores/{storeId}/inventory/products/{productId}/summary?group_by=locationId&unitOfMeasure={uom} 가 호출됩니다.
동일한 사용자 정의 매시업에서 설명 및 변형과 같은 제품 상세내역을 페치하기 위해 getCompleteItemList API가 호출됩니다. 재고 상태 원형 차트를 표시하기 위해 SIM GET API -
{tenantId}/v1/stores/{storeId}/inventory/products/{productId}/summary?group_by=inventoryStatus&unitOfMeasure={uom} 가 호출됩니다.
재고 세부사항 페이지에서 제품 단위 옆에 있는 위치에 대한 펼치기 아이콘을 클릭하면 SIM GET API -
{tenantId}/v1/stores/{storeId}/inventory?productId={productId}&locationId={locationId} 가 호출됩니다. 위치에서 사용 가능한 제품 클래스 및 재고 상태의 조합에 대한 총 단위 수를 볼 수 있습니다.
재고 세부사항 페이지는 재고 추가 및 재고 제거 옵션으로 구성됩니다. 재고 추가 조치는 "재고 추가" 자원 권한으로 제어됩니다. 마찬가지로 재고 제거 조치는 "재고 제거" 자원 권한으로 제어됩니다. 인벤토리 추가를 클릭하면 인벤토리 추가 페이지가 열립니다. 인벤토리 제거를 클릭하면 인벤토리 제거 페이지가 열립니다.
재고 추가 또는 제거
인벤토리 추가 또는 제거 페이지에서 제품 세부사항을 페치하기 위해 getCompleteItemList API가 호출됩니다. 재고 상태는 SIM GET API -
{tenantId}/v1/inventory/inventory-statuses를 호출하여 얻을 수 있습니다. 제품 클래스를 검색하기 위해 getCommonCodeList API가 호출됩니다. 이유 코드는 고정 값 (SALE, RECEIVING, COUNT, RECLASSIFICATION, RETURN) 으로 구성됩니다.
위치 스캔이 필수인 경우 위치 필드는 스캔 필드입니다. 그렇지 않으면 드롭 다운 목록입니다. 위치를 스캔하는 경우 위치 세부사항을 페치하기 위해 BarcodeType=Location 가 있는 translateBarcode API가 호출됩니다. 그렇지 않으면 SIM GET API - {tenantId}/v1/stores/{storeId}/locations를 호출하여 위치를 확보합니다.
일련화된 제품의 경우 일련 번호를 스캔할 때 translateBarcode API가 호출됩니다. 완료 단추를 클릭하면 재고를 추가하기 위해 SIM POST
API{tenantId}/v1/stores/{storeId}/locations/{locationId}/inventory:add 가 호출됩니다. 업데이트된 재고 그림을 표시하는 재고 정보 페이지가 열립니다.
재고 제거 페이지에서 위치를 스캔하거나 선택할 때 해당 위치의 재고는 SIM API -
{tenantId}/v1/stores/{storeId}/inventory?productId={productId}&locationId={locationId}&uom={uom}를 호출하여 페치됩니다. 사용자가 제거할 자원 명세를 지정하고 완료 단추를 클릭하면 자원 명세를 추가하기 위해 SIM POST API -
{tenantId}/v1/stores/{storeId}/locations/{locationId}/inventory:remove 가 호출됩니다. 업데이트된 재고 그림을 표시하는 재고 정보 페이지가 열립니다.
일련 번호 세부사항 페이지
재고 찾아보기 포틀렛에서 일련 번호를 스캔하면 일련 번호 세부사항 페이지가 열립니다. 모든 직렬 속성을 페치하기 위해 SIM GET API - {tenantId}/v1stores/{storeId}/inventory/serials/{serialNo} 가 호출됩니다. 제품 세부사항을 페치하기 위해 getCompleteItemList API가 호출됩니다. SKU 정보 보기 버튼을 누르면 재고 정보 페이지가 열립니다.