출고상품 개요
출고상품은 입출고, 재고, 유통기한 등 관리 관점에서의 상품이며, 물류센터에서 출고의 기본이되는 최소 단위입니다.
판매-출고상품 연결
사방넷 풀필먼트에서 출고상품을 등록하면, 자동으로 판매상품이 등록되고 출고상품과 판매상품이 1:1로 연결됩니다.
출고상품 등록 API에서는 데이터필드 add_sales_product 값을 입력해, 판매상품 및 연결정보 동시등록 여부를 선택할 수 있습니다.
만약, 출고상품과 판매상품을 따로 관리하는 경우라면 0으로 입력하고, 일반적으로 같이 관리하는 경우라면 1로 입력해 판매상품을 동시등록합니다.
출고상품코드, 대표로케이션 옵션
출고상품코드 자체생성, 대표로케이션을 사용하는 경우라면 상품코드, 대표로케이션, 적정수량을 직접 입력할 수 있습니다.
출고상품수 카운트
API로 출고상품을 등록/삭제하는 경우, 외부 연동에 의해 일시적 오류를 방지하기 위해 출고상품수가 즉시 카운트되지 않습니다.
해당 상품수는 다음 달 유료 사용기간 첫째 날에 카운트되어 정상적으로 반영되오니 참고 바랍니다.
사방넷 풀필먼트 매뉴얼 : 상품의 구조 바로가기 ▶
지원 method
출고상품 기본 Object 구조
| 데이터필드 | 자료형 | 설명 | 
|---|---|---|
| shipping_product_id | integer | 출고상품ID  출고상품 등록에는 사용하지 않음  | 
                    
| product_code | string(20) | 상품코드   기본값: 자동생성  | 
                    
| supply_company_id | integer | 공급사 ID | 
| supplier_id | integer | 매입처 ID | 
| category_id | integer | 출고상품 구분 ID | 
| product_name | string(100) | 상품명
                             필수  | 
                    
| upc | string(50) | 대표바코드 | 
| add_barcode_list | childDataObject | add_barcode_object 구성 ▶   추가바코드 리스트  | 
                    
| manage_code1 | string(30) | 관리키워드1 | 
| manage_code2 | string(30) | 관리키워드2 | 
| manage_code3 | string(30) | 관리키워드3 | 
| product_desc | string(250) | 상품설명 | 
| single_width | integer | 낱개-가로(mm) | 
| single_length | integer | 낱개-세로(mm) | 
| single_height | integer | 낱개-높이(mm) | 
| single_weight | integer | 낱개-무게(g) | 
| box_width | integer | 카톤박스-가로(mm) | 
| box_length | integer | 카톤박스-세로(mm) | 
| box_height | integer | 카톤박스-높이(mm) | 
| box_weight | integer | 카톤박스-무게(g) | 
| single_eta | integer | 카톤박스-낱개입수 | 
| palet_count | integer | 팔레트 입수 | 
| use_expire_date | integer | 유통기한 사용여부  1.사용, 0.사용안함 (기본값 : 사용안함)  | 
                    
| use_make_date | integer | 제조일자 사용여부  1.사용, 0.사용안함 (기본값 : 사용안함)  | 
                    
| expire_date_by_make_date | integer | 제조일로부터 일수 | 
| warning_expire_date | integer | 임박재고 전환 기준일 | 
| restricted_expire_date | integer | 출고불가 기준일 | 
| edit_code | string(20) | 출고편집코드 | 
| max_quantity_per_box | integer | 최대합포장 수량 | 
| location_id | integer | 대표로케이션  - 출고상품코드 자체생성 옵션을 사용하는 경우에만 입력 가능  | 
                    
| location_quantity | integer | 적정수량  출고상품코드 자체생성 옵션을 사용하는 경우에만 입력 가능  | 
                    
| status | integer | 활성화 여부  1.활성화, 0.비활성화 (기본값 : 활성화)  | 
                    
| add_sales_product | integer | 판매상품 및 연결정보 동시 등록 여부  1.동시 등록, 0.출고상품만 등록 처리 --> 출고상품 등록에서만 사용  | 
                    
add_barcode_object 구조
| 데이터필드 | 자료형 | 설명 | 
|---|---|---|
| barcode | string(100) | 바코드  필수  | 
                    
| quantity | integer | 매칭 수량  필수  | 
                    
출고상품 등록(단일)
| Request URI | /v2/product/shipping_product | 
|---|---|
| Method | POST | 
| 권한 | 고객사, 물류사 | 
Request Param
| 데이터필드 | 자료형 | 설명 | 
|---|---|---|
| member_id | integer | 고객사 ID   물류사 권한인 경우 필수  | 
                        
| product_code | string(20) | 상품코드
                                 기본값: 자동생성  | 
                        
| supply_company_id | integer | 공급사 ID  공급사 참고  | 
                        
| supplier_id | integer | 매입처 ID  매입처 참고  | 
                        
| category_id | integer | 출고상품 구분 ID  출고상품 구분 참고  | 
                        
| product_name | string(100) | 상품명
                                 필수  | 
                        
| upc | string(50) | 대표바코드 | 
| add_barcode_list | childDataObject | add_barcode_object 구성 ▶   추가바코드 리스트  | 
                        
| manage_code1 | string(30) | 관리키워드1 | 
| manage_code2 | string(30) | 관리키워드2 | 
| manage_code3 | string(30) | 관리키워드3 | 
| product_desc | string(250) | 상품설명 | 
| single_width | integer | 낱개-가로(mm) | 
| single_length | integer | 낱개-세로(mm) | 
| single_height | integer | 낱개-높이(mm) | 
| single_weight | integer | 낱개-무게(g) | 
| box_width | integer | 카톤박스-가로(mm) | 
| box_length | integer | 카톤박스-세로(mm) | 
| box_height | integer | 카톤박스-높이(mm) | 
| box_weight | integer | 카톤박스-무게(g) | 
| single_eta | integer | 카톤박스-낱개입수 | 
| palet_count | integer | 팔레트 입수 | 
| use_expire_date | integer | 유통기한 사용여부  1.사용, 0.사용안함 (기본값 : 사용안함)  | 
                        
| use_make_date | integer | 제조일자 사용여부  1.사용, 0.사용안함 (기본값 : 사용안함)  | 
                        
| expire_date_by_make_date | integer | 제조일로부터 일수 | 
| warning_expire_date | integer | 임박재고 전환 기준일 | 
| restricted_expire_date | integer | 출고불가 기준일 | 
| edit_code | string(20) | 출고편집코드 | 
| max_quantity_per_box | integer | 최대합포장 수량 | 
| location_id | integer | 대표로케이션  - 출고상품코드 자체생성 옵션을 사용하는 경우에만 입력 가능  | 
                        
| location_quantity | integer | 적정수량  출고상품코드 자체생성 옵션을 사용하는 경우에만 입력 가능  | 
                        
| status | integer | 활성화 여부  1.활성화, 0.비활성화 (기본값 : 활성화)  | 
                        
| add_sales_product | integer | 판매상품 및 연결정보 동시 등록 여부  1.동시 등록, 0.출고상품만 등록 처리 --> 출고상품 등록에만 사용  | 
                        
Response Param
| 데이터필드 | 자료형 | 설명 | |
|---|---|---|---|
| code | string(4) | 응답코드 | |
| message | string(100) | 응답메시지 | |
| response | shipping_product_id | integer | 출고상품ID | 
| product_code | string(4) | 상품코드 | |
| sales_product_id | integer | 판매상품 ID | |
| sales_product_code | string(100) | 판매상품코드 | |
Request Sample
{
   "member_id": 70,
   "product_code":"009",
   "supply_company_id":23,
   "supplier_id":63,
   "category_id":71,
   "product_name":"새우볶음밥",
   "upc":"687848455111",
   "add_barcode_list":[
      {
         "barcode":"878444444",
         "quantity":1
      }
   ],
   "manage_code1":"냉장",
   "manage_code2":"볶음밥",
   "manage_code3":"베스트상품",
   "product_desc":"새우로 만든 볶음밥 200g",
   "single_height":20,
   "single_length":20,
   "single_weight":20,
   "single_width":20,
   "box_height":20,
   "box_length":20,
   "box_weight":20,
   "box_width":20,
   "single_eta":20,
   "palet_count":20,
   "use_expire_date":1,
   "expire_date_by_make_date":1,
   "restricted_expire_date":300,
   "use_make_date":1,
   "warning_expire_date":10,
   "edit_code":"상온",
   "max_quantity_per_box":10,
   "location_id":28,
   "location_quantity":100,
   "status":1,
   "add_sales_product":1
}
                Response Sample
{
  "code": "9999",
  "message": "ok",
  "response": {
    "shipping_product_id": 43826,
    "product_code": "T137",
    "sales_product_id": 54046,
    "sales_product_code": "T137_new"
  }
}
                출고상품 등록(벌크)
| Request URI | /v2/product/shipping_products | 
|---|---|
| Method | POST | 
| 권한 | 고객사, 물류사 | 
Request Param
| 데이터필드 | 자료형 | 설명 | 
|---|---|---|
| member_id | integer | 고객사 ID  물류사 권한인 경우 필수  | 
                    
| request_data_list | dataList | 출고상품 기본 Object 구성 ▶ | 
Response Param
| 데이터필드 | 자료형 | 설명 | ||
|---|---|---|---|---|
| code | string(4) | 응답코드 | ||
| message | string(100) | 응답메시지 | ||
| response | processed_data_list  (처리 완료 데이터 리스트)  | 
                        shipping_product_id | integer | 출고상품 ID | 
| product_code | string(100) | 출고상품코드 | ||
| sales_product_id | integer | 판매상품 ID | ||
| sales_product_code | string(100) | 판매상품코드 | ||
| processed_count | integer | 처리 갯수 | ||
Request Sample
{
   "member_id":70,
   "request_data_list":[
      {
         "product_code":"013",
         "supply_company_id":23,
         "supplier_id":63,
         "category_id":71,
         "product_name":"소고기볶음밥",
         "upc":"687848455111",
         "add_barcode_list":[
            {
               "barcode":"878444444",
               "quantity":1
            }
         ],
         "manage_code1":"냉장",
         "manage_code2":"",
         "manage_code3":"",
         "product_desc":"소고기로만든 볶음밥 200g",
         "single_height":20,
         "single_length":20,
         "single_weight":20,
         "single_width":20,
         "box_height":20,
         "box_length":20,
         "box_weight":20,
         "box_width":20,
         "single_eta":20,
         "palet_count":20,
         "use_expire_date":1,
         "expire_date_by_make_date":1,
         "restricted_expire_date":300,
         "use_make_date":1,
         "warning_expire_date":10,
         "edit_code":"상온",
         "max_quantity_per_box":10,
         "location_id":28,
         "location_quantity":100,
         "status":1,
         "add_sales_product":0
      },
      {
         "product_code":"014",
         "supply_company_id":23,
         "supplier_id":63,
         "category_id":71,
         "product_name":"kf94 마스크 대형",
         "upc":"687848455111",
         "add_barcode_list":[
            {
               "barcode":"878444444",
               "quantity":1
            }
         ],
         "manage_code1":"대형",
         "manage_code2":"생활용품",
         "manage_code3":"마스크",
         "product_desc":"방역/미세먼지 마스크 대형",
         "single_height":20,
         "single_length":20,
         "single_weight":20,
         "single_width":20,
         "box_height":20,
         "box_length":20,
         "box_weight":20,
         "box_width":20,
         "single_eta":20,
         "palet_count":20,
         "use_expire_date":1,
         "expire_date_by_make_date":1,
         "restricted_expire_date":300,
         "use_make_date":1,
         "warning_expire_date":10,
         "edit_code":"상온",
         "max_quantity_per_box":10,
         "location_id":28,
         "location_quantity":100,
         "status":1,
         "add_sales_product":1
      }
   ]
}
            Response Sample
{
  "code": "9999",
  "message": "ok",
  "response": {
    "processed_count": 2,
    "processed_data_list": [
      {
        "sales_product_code": "test-5",
        "sales_product_id": 54043,
        "product_code": "test-5",
        "shipping_product_id": 43823
      },
      {
        "sales_product_code": "test-6",
        "sales_product_id": 54044,
        "product_code": "test-6",
        "shipping_product_id": 43824
      }
    ]
  }
}
            출고상품 수정
| Request uri | /v2/product/shipping_product/{출고상품ID} | 
|---|---|
| Method | PUT | 
| 권한 | 고객사, 물류사 | 
| 비고 | 수정시는 모든 필드가 아닌 수정 대상 데이터필드만 입력 모든 필드가 아닌 수정 대상 데이터 필드만 입력 | 
Request Param
| 데이터필드 | 자료형 | 설명 | 
|---|---|---|
| member_id | integer | 고객사 ID   물류사 권한인 경우 필수  | 
                    
| product_code | string(20) | 상품코드
                             기본값: 자동생성  | 
                    
| supply_company_id | integer | 공급사 ID  공급사 참고  | 
                    
| supplier_id | integer | 매입처 ID  매입처 참고  | 
                    
| category_id | integer | 출고상품 구분 ID  출고상품 구분 참고  | 
                    
| product_name | string(100) | 상품명
                             필수  | 
                    
| upc | string(50) | 대표바코드 | 
| add_barcode_list | childDataObject | add_barcode_object 구성 ▶   추가바코드 리스트  | 
                    
| manage_code1 | string(30) | 관리키워드1 | 
| manage_code2 | string(30) | 관리키워드2 | 
| manage_code3 | string(30) | 관리키워드3 | 
| product_desc | string(250) | 상품설명 | 
| single_width | integer | 낱개-가로(mm) | 
| single_length | integer | 낱개-세로(mm) | 
| single_height | integer | 낱개-높이(mm) | 
| single_weight | integer | 낱개-무게(g) | 
| box_width | integer | 카톤박스-가로(mm) | 
| box_length | integer | 카톤박스-세로(mm) | 
| box_height | integer | 카톤박스-높이(mm) | 
| box_weight | integer | 카톤박스-무게(g) | 
| single_eta | integer | 카톤박스-낱개입수 | 
| palet_count | integer | 팔레트 입수 | 
| use_expire_date | integer | 유통기한 사용여부  1.사용, 0.사용안함 (기본값 : 사용안함)  | 
                    
| use_make_date | integer | 제조일자 사용여부  1.사용, 0.사용안함 (기본값 : 사용안함)  | 
                    
| expire_date_by_make_date | integer | 제조일로부터 일수 | 
| warning_expire_date | integer | 임박재고 전환 기준일 | 
| restricted_expire_date | integer | 출고불가 기준일 | 
| edit_code | string(20) | 출고편집코드 | 
| max_quantity_per_box | integer | 최대합포장 수량 | 
| location_id | integer | 대표로케이션  - 출고상품코드 자체생성 옵션을 사용하는 경우에만 입력 가능  | 
                    
| location_quantity | integer | 적정수량  출고상품코드 자체생성 옵션을 사용하는 경우에만 입력 가능  | 
                    
| status | integer | 활성화 여부  1.활성화, 0.비활성화 (기본값 : 활성화)  | 
                    
Response Param
| 데이터필드 | 자료형 | 설명 | 
|---|---|---|
| code | string(4) | 응답코드 | 
| message | string(100) | 응답메시지 | 
Request Sample
{
   "product_code":"010",
   "supply_company_id":23,
   "supplier_id":63,
   "category_id":71,
   "product_name":"마우스패드",
   "upc":"687848455111",
   "add_barcode_list":[
      {
         "barcode":"878444444",
         "quantity":1
      }
   ],
   "manage_code1":"마우스",
   "manage_code2":"컴퓨터용품",
   "manage_code3":"패드",
   "product_desc":"게이밍용 마우스 패드",
   "single_height":20,
   "single_length":20,
   "single_weight":20,
   "single_width":20,
   "box_height":20,
   "box_length":20,
   "box_weight":20,
   "box_width":20,
   "single_eta":20,
   "palet_count":20,
   "use_expire_date":1,
   "expire_date_by_make_date":1,
   "restricted_expire_date":300,
   "use_make_date":1,
   "warning_expire_date":10,
   "edit_code":"상온",
   "max_quantity_per_box":10,
   "location_id":28,
   "location_quantity":100,
   "status":1
}
            Response Sample
{
    "code": "9999",
    "message": "ok"
}
            출고상품 조회(단일)
| Request URI | /v2/product/shipping_product/{출고상품ID} | 
|---|---|
| Method | GET | 
| 권한 | 고객사, 물류사 | 
Response Param
| 데이터필드 | 자료형 | 설명 | 
|---|---|---|
| code | string(4) | 응답코드 | 
| message | string(100) | 응답메시지 | 
| response | dataObject | 출고상품 기본 Object 구성 ▶ | 
Request Sample
/v2/product/shipping_products/43778
            Response Sample
{
    "code": "9999",
    "message": "ok",
    "response": {
        "shipping_product_id": 43778,
        "member_id": 70,
        "product_code": "006",
        "supply_company_id": "24",
        "supplier_id": "63",
        "category_id": "71",
        "product_name": "소고기라면",
        "upc": "687848455111",
        "add_barcode_list": [
            {
                "quantity": "1",
                "barcode": "878444444"
            }
        ],
        "manage_code1": "소고기",
        "manage_code2": "맛있는",
        "manage_code3": "라면",
        "product_desc": "남녀노소 모두가 좋아하는 라면",
        "single_width": "20",
        "single_length": "20",
        "single_height": "20",
        "single_weight": "20",
        "box_width": "20",
        "box_length": "20",
        "box_height": "20",
        "box_weight": "20",
        "single_eta": "20",
        "palet_count": "20",
        "use_expire_date": "1",
        "use_make_date": "1",
        "expire_date_by_make_date": "1",
        "warning_expire_date": "10",
        "restricted_expire_date": "300",
        "edit_code": "상온",
        "max_quantity_per_box": "10",
        "location_id": "28",
        "location_quantity": "100",
        "status": "1",
        "add_sales_product": "1"
    }
}
            출고상품 조회(벌크)
| Request URI | /v2/product/shipping_products | 
|---|---|
| Method | GET | 
| 권한 | 고객사, 물류사 | 
Request Param
| 데이터필드 | 자료형 | 설명 | 
|---|---|---|
| member_id | integer | 고객사 ID  물류사 권한인 경우 필수  | 
                    
| product_code | string(20) | 출고상품코드 | 
| product_name | string(100) | 상품명  일부 검색어로 검색 가능(최소 2자 이상)  | 
                    
| category_id | integer | 출고상품 구분 ID | 
| status | integer(1) | 활성화 여부  1.활성화, 0.비활성화  | 
                    
| page | integer | 페이지번호 | 
Response Param
| 데이터필드 | 자료형 | 설명 | |
|---|---|---|---|
| code | string(4) | 응답코드 | |
| message | string(100) | 응답메시지 | |
| response | total_count | integer | 전체 갯수 | 
| total_page | integer | 전체 페이지 수 | |
| current_page | integer | 현재 페이지 번호 | |
| data_list | dataList | 출고상품 기본 Object 구성 ▶ | |
Request Sample
/v2/product/shipping_products?product_code=006&product_name=소고기라면&category_id=71&status=1&page=1
            Response Sample
{
  "code": "9999",
  "message": "ok",
  "response": {
    "data_list": [
      {
        "shipping_product_id": 43778,
        "member_id": 70,
        "product_code": "006",
        "supply_company_id": "24",
        "supplier_id": "63",
        "category_id": "71",
        "product_name": "소고기라면",
        "upc": "687848455111",
        "add_barcode_list": [
          {
            "quantity": "1",
            "barcode": "878444444"
          }
        ],
        "manage_code1": "소고기",
        "manage_code2": "맛있는",
        "manage_code3": "라면",
        "product_desc": "남녀노서 모두 좋아하는 라면",
        "single_width": "20",
        "single_length": "20",
        "single_height": "20",
        "single_weight": "20",
        "box_width": "20",
        "box_length": "20",
        "box_height": "20",
        "box_weight": "20",
        "single_eta": "20",
        "palet_count": "20",
        "use_expire_date": "1",
        "use_make_date": "1",
        "expire_date_by_make_date": "1",
        "warning_expire_date": "10",
        "restricted_expire_date": "300",
        "edit_code": "상온",
        "max_quantity_per_box": "10",
        "location_id": "28",
        "location_quantity": "100",
        "status": "1",
        "add_sales_product": "1"
      }
    ],
    "total_count": 1,
    "total_page": 1,
    "current_page": 1
  }
}