商品信息修改
相關(guān)API
API名稱 | 描述 |
taobao.items.onsale.get | 獲取當(dāng)前會(huì)話用戶出售中的商品列表 |
taobao.items.inventory.get | 得到當(dāng)前會(huì)話用戶庫存中的商品列表 |
taobao.items.custom.get | 根據(jù)商家編碼取商品 |
taobao.skus.custom.get | 根據(jù)sku的商家編碼取商品sku |
taobao.increment.items.get | 獲取商品變更通知信息 |
taobao.item.update | 更新商品信息 |
taobao.item.sku.update | 更新SKU信息 |
taobao.item.update.delisting | 商品下架 |
taobao.item.update.listing | 一口價(jià)商品上架 |
邏輯與規(guī)則
全量下載:
通過taobao.items.onsale.get(獲取店鋪出售中商品信息)和 taobao.items.inventory.get(獲取店鋪倉(cāng)庫中商品信息)可獲取店鋪中所有商品,API 支持根據(jù)賣家昵稱、類目、關(guān)鍵字等字段來搜索商品。
針對(duì)商品的下載:
對(duì)于已有統(tǒng)一管理商品數(shù)據(jù)(例如條形碼)的賣家,可以通過商家編碼(供賣家自定義輸入的編碼)與淘寶商品/sku做對(duì)應(yīng)關(guān)系。
如下圖:
對(duì)于有sku的商品,通過taobao.skus.custom.get(根據(jù)sku的商家編碼取商品sku)獲取sku;無sku的商品,通過taobao.items.custom.get(根據(jù)商家編碼取商品)獲取商品。
更新數(shù)量:
當(dāng)商品包含sku時(shí),更新商品總量無效,始終等于各sku數(shù)量之和。
由于架上商品不能為0,要將無sku的商品數(shù)量或者有sku商品的最后一個(gè)sku數(shù)量更新為0時(shí),需要對(duì)商品先進(jìn)行下架操作,可以通過taobao.item.update.delisting(商品下架)
更新價(jià)格:
帶sku的商品,有一口價(jià)和sku價(jià)格兩個(gè)價(jià)格,如下圖紅框標(biāo)識(shí):
基本規(guī)則:商品一口價(jià)必須介于有效sku的價(jià)格區(qū)間內(nèi)。
有效sku:數(shù)量大于0的稱為有效sku.
以taobao.item.sku.update的調(diào)用為例:
有效sku = 0時(shí),更新sku的價(jià)格不受限制,除必填參數(shù)外,還需傳入的參數(shù)為:price(sku價(jià)格)
有效sku = 1時(shí),商品價(jià)格必須等于sku價(jià)格,這種情況,淘寶系統(tǒng)會(huì)自動(dòng)更新商品價(jià)格,除必填參數(shù)外,還需傳入的參數(shù)為:price(sku價(jià)格)
有效sku>=2時(shí),商品價(jià)格介于有效sku之間,除必填參數(shù)外,還需傳入的參數(shù)為:price(sku價(jià)格), item_price(商品價(jià)格),否則將會(huì)返回“價(jià)格不在區(qū)間內(nèi)的異常”
新增銷售屬性:
在淘寶頁面發(fā)布或者編輯商品時(shí),會(huì)根據(jù)商品的銷售屬性自動(dòng)組合出完整的sku,如圖:
當(dāng)首次入庫時(shí)只有三個(gè)sku :a,b,c,如果通過淘寶頁面發(fā)布商品, 則系統(tǒng)會(huì)自動(dòng)保存四個(gè)sku填充矩陣,如:d 數(shù)量默認(rèn)為0,價(jià)格等于商品價(jià)格。
但是在本地系統(tǒng)中,可能只保存了a、b、c三個(gè)sku,再次入庫d時(shí),會(huì)判斷為新入庫而執(zhí)行sku新增的操作,這樣API將返回錯(cuò)誤,重復(fù)添加sku屬性
針對(duì)這種情況,暫給出三種解決方案
方案一:
采用與淘寶相同的邏輯,在入庫時(shí)只要有存在的銷售屬性自動(dòng)完成矩陣。
方案二:
使用API發(fā)布或者修改商品不會(huì)出現(xiàn)上述問題,但是在淘寶頁面編輯商品后,依然會(huì)填充矩陣。
方案三:
新增sku前先對(duì)比淘寶上商品的sku數(shù)據(jù),如果存在此sku則修改,不存在則添加。
增量更新:
方案一:
使用 消息服務(wù) 的方式,由淘寶主動(dòng)推送商品庫存、價(jià)格等變更消息,應(yīng)用程序接收到消息后,調(diào)用api做庫存或價(jià)格等更新
方案二:
每條商品信息有一個(gè)修改時(shí)間字段modified,通過接口taobao.items.onsale.get和taobao.items.inventory.get指定時(shí)間段(start_modified,end_modified),可以獲取此時(shí)間段內(nèi)有信息更改過的商品列表
使用場(chǎng)景:
當(dāng)在淘寶店鋪編輯商品信息之后,以此方法獲取被修改的商品信息,同步到本地,保持商品數(shù)據(jù)的一致,類似于增量API的功能。正常的商品交易過程導(dǎo)致的商品數(shù)量變化也會(huì)更新此修改時(shí)間。
FAQ
- 關(guān)于此文檔暫時(shí)還沒有FAQ