驗證欲加入的賣場屬性商品

賣場屬性調整提案 #

驗證欲加入的賣場屬性商品 #

DryRun 賣場屬性調整提案單

Endpoint URL: https://tw.supplier.yahoo.com/api/spa/v1/proposal/updateListingModels
HTTP Method: POST

Request Parameters #

dryrun #

驗證屬性商品是否可加入賣場屬性商品。
資料型態: Boolean
必填: 是
有效值: 設定為 true 時,可將欲驗證的商品 SKU 放進 skuCandidates 進行驗證,確認是否能加入該賣場做為屬性商品

isGift #

驗證商品是否可加入賣場贈品,只有在 dryrun 設定為 true 時有效。
資料型態: Boolean
必填: 否
有效值: 設定為 true 時,可將欲驗證的商品 SKU 放進 skuCandidates 進行驗證,確認是否能加入該賣場做為贈品
預設值: false

isAdditionalPurchases #

驗證商品是否可加入賣場加價購,只有在 dryrun 設定為 true 時有效。
資料型態: Boolean
必填: 否
有效值: 設定為 true 時,可將欲驗證的商品 SKU 放進 skuCandidates 進行驗證,確認是否能加入該賣場做為加價購商品
預設值: false

Request Body #

listing #

賣場資訊。
資料型態: ProposalListing
必填: 是
欄位說明: 賣場 ID 為必填

skuCandidates #

DryRun 模式下輸入欲驗證的屬性商品,可填寫多筆 sku 做驗證。
資料型態: Integer[]
必填: 是

applicant #

提案人。
資料型態: String
必填: 是
長度限制: 最長 10 個字
格式: 繁/簡體中文

Request/Response Syntax #

  • 驗證屬性商品: POST /api/spa/v1/proposal/updateListingModels?dryrun=true
  • 驗證贈品商品: POST /api/spa/v1/proposal/updateListingModels?dryrun=true&isGift=true
  • 驗證加價購商品: POST /api/spa/v1/proposal/updateListingModels?dryrun=true&isAdditionalPurchases=true
{
  "applicant": string,
  "listing": {
    "id": number
  },
  "skuCandidates": [
    number,
    number
  ]
}
{
  "supplierId": string,
  "subStationId": string,
  "subStationName": string,
  "applicant": string,
  "expiredTs": string,
  "contactWindow": string,
  "createdTs": string,
  "creator": string,
  "modifiedTs": string,
  "modifier": string,
  "reviewStatus": string,
  "note": string,
  "listing": {
    "id": number,
    "origLayer": number
  },
  "allowedSkuList": [
    number
  ],
  "products": [
    {
      "id": number,
      "sku": number,
      "supplierId": number,
      "name": string,
      "cost": string,
      "partNo": string,
      "stock": number,
      "availableCount": number,
      "images": [
        {
          "url": string,
          "width": number,
          "height": number,
          "order": number
        }
      ],
      "parentSpec": {
        "name": string,
        "selectedValue": string
      },
      "spec": {
        "name": string,
        "selectedValue": string
      },
      "structuredData": {
        "attributes": [
          {
            "name": string,
            "values": [
              string
            ]
          }
        ],
        "struDataAttrClusterId": string
      },
      "isExpiringItem": boolean,
      "isInstallRequired": boolean,
      "isNeedRecycle": boolean,
      "minPackingCount": number,
      "taxable": boolean,
      "msrp": string,
      "brand": string,
      "length": number,
      "width": number,
      "height": number,
      "weight": number,
      "preserveDays": number,
      "catId": string,
      "catItemId": string,
      "isSoftGame": boolean,
      "gameContents": [
        string
      ],
      "shipType": {
        "id": number,
        "type": string
      }
    }
  ],
  "errors": [
    {
      "code": number,
      "invalidValue": string,
      "message": string
    }
  ]
}

Response Elements #

若操作成功,API 會回傳 HTTP 200 response,並以 JSON 格式完整回傳 UpdateListingModelProposal 物件。

supplierId #

供應商編號。
資料型態: Integer

listing #

賣場資訊。
資料型態: ProposalListing

subStationId #

提案當下的提案子站編號,e.g. sub1
資料型態: String

subStationName #

提案當下的提案子站名稱。
資料型態: String

applicant #

提案人。
資料型態: String

creator #

建檔者。
資料型態: String

allowedSkuList #

驗證成功被允許加入賣場的屬性商品。
資料型態: Integer[]

products #

允許加入賣場的屬性商品詳細資訊。
資料型態: Product[]

欄位說明
欄位名稱 資料型態 欄位說明
id Integer Product ID (SKU)
name String 商品名稱
partNo String 商品貨號
sku Integer 商品 ID
stock Integer 商品庫存
cost String 商品成本
images ProductImage[] 商品圖片
structuredData StructuredData 商品規格表
spec Attribute 單層屬性商品的屬性名稱與項目 / 雙層屬性商品的第 2 層屬性名稱與項目
parentSpec Attribute 雙層屬性商品的第 1 層屬性名稱與項目,單層及無屬性商品無此欄位。
isExpiringItem Boolean 是否為即期品
isInstallRequired Boolean 是否需要安裝
isNeedRecycle Boolean 是否屬於廢四機
minPackingCount Int32 最小包裝數
taxable Boolean 商品是否應稅
msrp String 廠商建議價
brand String 品牌
length Int32 包裝完成後的商品長度
width Int32 包裝完成後的商品寬度
height Int32 包裝完成後的商品高度
weight Int32 包裝完成後的商品重量
preserveDays Int32 商品保存期限
catId String 商品目前的分類父類 ID, e.g. cat1610
catItemId String 商品目前的分類子類 ID, e.g. catItem21704
isSoftGame Boolean 是否為遊戲軟體
gameContents String[] 遊戲情節內容,若 isSoftGame = false 則此欄位為空
shipType ShipType 配送方式
availableCount Int32 商品可售數量

errors #

欲驗證的屬性商品不允許加入賣場的錯誤訊息。
資料型態: ErrorDetail[]

Errors #

Bad Request #

輸入的參數不符合 API 定義的 Pattern。
HTTP Status Code: 400

Error Code Description
0 Invalid input
40000011 Invalid ISO-8601 format
40000010 Multiple bad parameters
40000013 The field is unchangeable
40000023 Constraint violation validate error
40009104 Cannot PUT the proposal which review status isn’t composing and draft
40009127 Invalid listing ID
40009147 Invalid listing type
40009148 The listing does not allow to adjust the model
40009149 The product ID is invalid
40009150 The sku’s supplier ID is different from the listing’s
40009151 The sku’s cost is different from the listing’s
40009152 The sku’s ship type is different from the listing’s
40009153 The sku’s outright purchase status is different from the listing’s
40009154 The sku’s attribute spec name is different from the listing’s
40009155 The sku’s attribute item spec name is different from the listing’s
40009156 The sku’s sub station ID is different from the listing’s
40009157 The sku’s structure attribute cluster ID is different from the listing’s
40009158 The gift sku does not allow to be added to the listing model
40009159 Invalid product conditions
40009160 The sku hasn’t entered the warehouse
40009161 Invalid product conditions
40009162 Invalid sku abstract status
40009163 The listing with delivery type preOrder and customized could not be adjusted the model
40009164 The sku does not allow added in the normal delivery listing
40009165 The sku does not allow added in the appointment delivery listing
40009166 The sku does not allow added in the express delivery listing
40009167 Duplicate sku ID in listing
40009168 Mismatch product and listing attribute layer
40009169 The sku ID not in listing models
40009170 Duplicate spec value in listing models
40009171 Duplicate item spec value in listing models
40009172 Least contain one spec in listing models
40009173 Least contain one item spec in listing models
40009174 Mismatch proposal and listing attribute layer
40009175 Invalid model quantity
40009176 Invalid model’s item quantity
40009177 Duplicate sku ID in proposal
40009178 Invalid product conditions
40009179 Invalid product conditions
40009180 The model’s attribute spec name is different from the listing’s
40009181 The model’s attribute item spec name is different from the listing’s
40009182 The structure data attribute cluster ID inconsistent in listing
40009183 The structure data attribute cluster ID inconsistent in proposal
40009185 Must retain one visible model in a listing or item in a model
40009201 There are inconsistent spec name in the proposal
40009202 Duplicate SKU with the main product of the listing
40009203 The SKU not in listing complimentaries
40009204 Invalid gift cost
40009205 Invalid gift category
40009206 Cannot validate gift and additional purchase simultaneously
40009207 Invalid gift select minimum quantity
40009208 Invalid gift specification selected value length
40009209 Invalid listing attribute count
40009210 Invalid additional purchase cost
40009211 Invalid additional purchase price
40009230 The sku’s tax type is different from the listing’s

Unauthorized #

身分認證不通過,請檢查您的 Cookiewssid
HTTP Status Code: 401

Error Code Description
40100001 Missing or bad authentication
40100002 Invalid cookie
40100003 Missing or bad authentication
40100004 Check wssid failed
40100006 Cookie has expired

Forbidden #

權限驗證不通過,請確認您有權操作更新賣場屬性調整提案,且為您所提案的賣場的擁有者。
HTTP Status Code: 403

Error Code Description
40304001 No permission

Unprocessable Entity #

提案單狀態驗證不通過,請確認提案單狀態。
HTTP Status Code: 422

Error Code Description
42209002 Invalid state flow of proposal review status

Internal Server Error #

API 端發生錯誤,若持續發生請洽您的業務窗口。
HTTP Status Code: 500

Examples #

驗證商品 6677907 與 6677110 是否可加入賣場 3408438
POST /api/spa/v1/proposal/updateListingModels?dryrun=true HTTP/1.1
HOST: tw.supplier.yahoo.com
Content-Type: application/json; charset=UTF-8
{
  "applicant": "applicant-name",
  "listing": {
    "id": 3408438
  },
  "skuCandidates": [
    6677907,
    6677110
  ]
}
  • 商品 6677907 為驗證成功並可以加入賣場的屬性商品,並且從 products 陣列可以查詢
    到此商品的詳細資訊。
  • 商品 6677110 為驗證失敗的屬性商品,從 errors 陣列可以查詢到驗證失敗的原因。
{
  "allowedSkuList": [
    6677907
  ],
  "applicant": "applicant-name",
  "contactWindow": "contactWindow-name",
  "creator": "creator-id",
  "errors": [
    {
      "code": 40009150,
      "invalidValue": "skuCandidates[1]: 6677110",
      "message": "[40009150] The sku's supplier ID is different from the listing's"
    },
    {
      "code": 40009151,
      "invalidValue": "skuCandidates[1]: 6677110",
      "message": "[40009151] The sku's cost is different from the listing's"
    },
    {
      "code": 40009152,
      "invalidValue": "skuCandidates[1]: 6677110",
      "message": "[40009152] The sku's ship type is different from the listing's"
    }
  ],
  "expiredTs": "2022-01-18T16:00:00Z",
  "listing": {
    "applyLowGpm": false,
    "id": 3408438,
    "isThresholdFreebie": false,
    "shareMediaBetweenModels": false,
    "syncProductImages": true,
    "origLayer": 2
  },
  "modifiedTs": "2022-01-04T06:39:17Z",
  "modifier": "modifier-id",
  "products": [
    {
      "cost": "80.00",
      "id": 6677907,
      "images": [
        {
          "height": 1000,
          "order": 1,
          "url": "https://s.yimg.com/zo/MerchandiseImages/ECC24EC118-SP-484183.jpg",
          "width": 1000
        },
        {
          "height": 400,
          "order": 1,
          "url": "https://s.yimg.com/zo/MerchandiseImages/3E57694544-SP-484183.jpg",
          "width": 400
        },
        {
          "height": 250,
          "order": 1,
          "url": "https://s.yimg.com/zo/MerchandiseImages/F4F663B8A8-SP-484183.jpg",
          "width": 250
        },
        {
          "height": 135,
          "order": 1,
          "url": "https://s.yimg.com/zo/MerchandiseImages/AB651ADB0A-SP-484183.jpg",
          "width": 135
        },
        {
          "height": 80,
          "order": 1,
          "url": "https://s.yimg.com/zo/MerchandiseImages/7B397A0C6C-SP-484183.jpg",
          "width": 80
        },
        {
          "height": 1000,
          "order": 2,
          "url": "https://s.yimg.com/zo/MerchandiseImages/3AE2CF332F-SP-484183.jpg",
          "width": 1000
        },
        {
          "height": 400,
          "order": 2,
          "url": "https://s.yimg.com/zo/MerchandiseImages/9645CDE9D5-SP-484183.jpg",
          "width": 400
        }
      ],
      "name": "雙層宅配賣場-米色系-693",
      "parentSpec": {
        "name": "顏色",
        "selectedValue": "米色系"
      },
      "sku": 6677907,
      "spec": {
        "name": "商品尺寸",
        "selectedValue": "693"
      },
      "stock": 10,
      "availableCount": 10,
      "structuredData": {
        "attributes": [
          {
            "name": "商品品牌",
            "values": [
              "5th STREET"
            ]
          },
          {
            "name": "顏色",
            "values": [
              "米色系"
            ]
          },
          {
            "name": "商品尺寸",
            "values": [
              "693"
            ]
          }
        ],
        "struDataAttrClusterId": "000003414671"
      },
      "isExpiringItem": false,
      "isInstallRequired": true,
      "isNeedRecycle": true,
      "minPackingCount": 1,
      "taxable": true,
      "msrp": "100.00",
      "brand": "品牌",
      "length": 55,
      "width": 66,
      "height": 77,
      "weight": 88,
      "preserveDays": 56,
      "catId": "cat430",
      "catItemId": "catItem10070",
      "isSoftGame": false,
      "shipType": {
        "id": 61,
        "type": "Express24HR"
      }
    }
  ],
  "reviewStatus": "draft",
  "skuCandidates": [
    6677907,
    6677110
  ],
  "subStationId": "sub10",
  "subStationName": "sub-station-name",
  "supplierId": 99999
}