商品成本價格修改 #
建立提案 #
建立 商品成本價格修改提案單。可一次提交多筆商品(最多 1000 筆),送出後需經業務審核或簽約後自動過審,審核通過後由系統執行變價。
- 呼叫此 API 時,請在 Headers 中加入 api-version: 3。若使用
api-version: 1或api-version: 2,將回傳"Code": "UnsupportedApiVersion"的錯誤訊息。
Headers 範例
{
"api-token": "Supplier_XXXX",
"api-supplierid": "XXXX",
"content-type": "application/json",
"accept": "application/json",
"api-version": "3"
}
Endpoint URL: https://tw.scm.yahooapis.com/scmapi/api/Proposal/PriceCost/Create
HTTP Method: POST
Request Body #
Applicant #
提案人員。
資料型態: String
必填: 是
說明: 長度不可超過 50 個字
SubNo #
提案子站。
資料型態: Integer
必填: 是
說明: 需為供應商所屬且存在的子站
Items #
提案單細節。Items 的結構分別說明如下:
- GdId:賣場編號
- ProductId:商品編號
- NewProductCost:新成本價
- NewGdPrice:新售價
- NewGdSuggestPrice:新廠商建議價
資料型態: Object Array
必填: 是
說明: 每筆代表一個欲變價的商品,最多支援 1000 筆資料。
GdId #
賣場編號。
資料型態: Integer
必填: 是
ProductId #
商品編號。
資料型態: Integer
必填: 是
NewProductCost #
新成本價。
資料型態: Integer
必填: 是
說明: 限制範圍 1 ~ 10,000,000
NewGdPrice #
新售價。
資料型態: Integer
必填: 是
說明: 限制範圍 1 ~ 10,000,000,且不可小於新成本價
NewGdSuggestPrice #
新廠商建議價。
資料型態: Integer
必填: 是
說明: 限制範圍 1 ~ 10,000,000,且不可小於新售價
Request/Response Sample #
POST /scmapi/api/Proposal/PriceCost/Create
{
"Applicant": "測試者",
"SubNo": 2,
"Items": [
{
"GdId": 3371675,
"ProductId": 6506882,
"NewProductCost": 400,
"NewGdPrice": 555,
"NewGdSuggestPrice": 700
},
{
"GdId": 3390747,
"ProductId": 6583411,
"NewProductCost": 410,
"NewGdPrice": 555,
"NewGdSuggestPrice": 700
},
{
"GdId": 3390568,
"ProductId": 6582052,
"NewProductCost": 410,
"NewGdPrice": 555,
"NewGdSuggestPrice": 700
}
]
}
{
"Success": true,
"ResponseCode": "0",
"Message": "成功",
"Data": {
"ProposalId": 1534891
}
}
Response Elements #
若操作成功,API 會回傳 HTTP 200 response,並以 JSON 格式回傳結果。回傳內容採用統一格式:
Success #
是否成功。
資料型態: Boolean
ResponseCode #
執行結果代碼。其代碼與說明請參考「執行結果代碼表」。
資料型態: String
Message #
執行結果訊息。
資料型態: String
Data #
回傳資料。建立成功時包含 ProposalId,失敗時為 null。
資料型態: Object
ProposalId #
提案單編號。
資料型態: Integer
執行結果代碼表 #
| ResponseCode | 英文 | 中文 |
|---|---|---|
| 0 | Success | 成功 |
| 4001 | Invalid Parameter | 參數錯誤 |
| 4002 | Access Denied | 權限不足 |
| 4003 | Data Not Found | 資料不存在 |
| 4004 | Duplicate Request | 重複請求 |
| 5001 | Validation Failed | 檢核失敗 |
Errors #
當 Success 為 false 時,ResponseCode 會回傳對應的錯誤代碼,Message 會以 \r\n 串接所有檢核失敗訊息。各欄位檢核項目如下:
檢核項目
| 檢核欄位 | 檢核內容 | 錯誤代碼 | 錯誤訊息 |
|---|---|---|---|
| 請求重複 | 短時間內偵測到相同請求(60 秒內相同內容) | 4004 | 偵測到重複請求,請確認提案單內容是否正確 |
| 提案單細節 | 筆數不可超過 1000 筆 | 4001 | 提案單細節超過1000筆 |
| 提案人員 | 必填 | 4001 | 提案人員為必填 |
| 提案人員 | 長度不可超過 50 | 4001 | 提案人員長度不可超過50 |
| 提案子站 | 必填 | 4001 | 提案子站為必填 |
| 提案子站 | 檢查供應商子站是否存在 | 4003 | 提案子站查無資料 |
| 賣場編號 | 必填 | 4001 | 賣場編號為必填 |
| 賣場編號 | 檢查賣場編號是否存在(需檢查供應商編號) | 4003 | 賣場GdId不存在 |
| 賣場編號 | 重複資料 | 4001 | 賣場GdId資料重複 |
| 賣場編號 | 檢查商品是否同時存在 2 個(含)以上的賣場中 | 4001 | 賣場GdId內的商品已存在其他賣場 |
| 商品編號 | 必填 | 4001 | 商品編號為必填 |
| 商品編號 | 重複資料 | 4001 | 商品ProductId資料重複 |
| 商品編號 | 檢查商品編號與賣場編號是否符合 | 5001 | 商品ProductId與賣場資訊不符 |
| 新成本價 | 必填 | 4001 | 賣場GdId新成本價為必填 |
| 新成本價 | 限制範圍 1 ~ 10,000,000 | 4001 | 賣場GdId新成本價限制範圍1至10,000,000 |
| 新售價 | 必填 | 4001 | 賣場GdId新售價為必填 |
| 新售價 | 限制範圍 1 ~ 10,000,000 | 4001 | 賣場GdId新售價限制範圍1至10,000,000 |
| 新售價 | 不可小於新成本價 | 4001 | 賣場GdId新售價小於新成本價 |
| 新廠商建議價 | 必填 | 4001 | 賣場GdId新廠商建議價為必填 |
| 新廠商建議價 | 限制範圍 1 ~ 10,000,000 | 4001 | 賣場GdId新廠商建議價限制範圍1至10,000,000 |
| 新廠商建議價 | 不可小於新售價 | 4001 | 賣場GdId新廠商建議價小於新售價 |
| 驗證子站毛利率 | 低毛賣場,賣場毛利率 <= 0 | 5001 | 賣場GdId毛利率需大於等於0 |
| 驗證子站毛利率 | 非低毛賣場,賣場毛利率 < 子站毛利率 | 5001 | 賣場GdId低於子站毛利率 |
錯誤回傳範例 #
{
"Success": false,
"ResponseCode": "4001",
"Message": "參數錯誤:賣場編號10001不存在\r\n賣場編號10002不存在\r\n",
"Data": null
}