調用淘寶API時常見問題的解決方案

幾個在調用API時常見問題的解決方案 拋磚引玉,你們也能夠說說本身在開發中累積的解決常見問題的方案。謝謝!  場景一:在售商品庫存更新             使用的API:                      taobao.items.get                      taobao.items.search                      taobao.items.onsale.get                      taobao.items.inventory.get             業務邏輯細節:                      出現isv.invalid-parameter:gain-number-too-large(搜索商品超過10萬條)報錯,會形成一些流量浪費掉             解決方案:                      業務方面:因爲淘寶爲了不翻頁超過10萬條對服務器壓力過大,在搜索商品超過10萬條之後就沒法在淘寶頁面顯示。                      程序方面:程序前端使用page_no*page_size>=100000的判斷,在客戶端校驗,避免這些錯誤操做形成調用量浪費  場景二:添加優惠策略             使用的API:                      taobao.marketing.promotion.add             業務邏輯細節:                     在調用Promotion.Add添加優惠策略的時候,注意要防止對同一商品對同一標籤的人羣,設置多個優惠策略。(isv.promotion-repeat)             解決方案:                      商家可能會使用多個工具設置優惠策略,可能會出現不一樣應用設置了重複策略的狀況,不要進行重試,要提醒用戶刪除上個優惠策略。  場景三:櫥窗推薦類工具             使用的API:                     taobao.item.recommend.add             業務邏輯細節:                     出現isv.item-recommend-service-error:ERROR_MORE_THAN_ALLOWED_RECOMMEND_NUM 櫥窗已滿的錯誤             解決方案:                      在櫥窗上增長一個商品,採用的邏輯應該是:調用taobao.shop.remainshowcase.get 得到櫥窗數量,再去add。                      好比:調用get獲得返回值6,說明有6個空的櫥窗,而後調用6次add,向空的櫥窗中添加推薦商品。                      在遇到用戶使用多款應用致使,櫥窗在非正常狀況下變滿,應提示賣家,櫥窗已滿,不該該反覆重試。不推薦,先去add,返回錯誤後中止的調用邏輯。  場景四:自動發貨(修改訂單狀態)類工具             使用的API:                     taobao.logistics.offline.send             業務邏輯細節1:                     調用時40NULL缺乏參數的錯誤             解決方案:                      tid,out_id,company_code均爲必選參數,須要傳入。當物流公司是非官方合做公司時,company_code填寫「其餘」            業務邏輯細節2:                    B98錯誤發貨類型不正確。將貨到付款,在線物流等訂單,使用了線下物流發貨             解決方案:                     經過trade.fullinfo.get接口獲取到訂單的發貨類型,作判斷後,調用發貨接口  場景五:訂單查詢             使用的API:                     taobao.trade.fullinfo.get             業務邏輯細節1:                    出現isv.trade-not-exist訂單不存在錯誤,緣由通常是查詢了3個月前的訂單             解決方案:                     天天對數據庫進行更新,剔除掉時間超過3個月的訂單。或者在調用接口前對訂單modified進行校驗,剔除過時的並加上標籤,之後不對這些訂單進行查詢。            業務邏輯細節2:                   isv.invalid-permission錯誤,使用了錯誤的賣家Id去查詢訂單,通常出如今支持多店管理的進銷存應用中,從服務器中獲取訂單沒有區分不一樣的淘寶店鋪,在                   作下一步詳細信息查詢時,會出現權限錯誤。             解決方案:                     從服務器獲取不一樣店鋪的訂單時,要作好標籤,區分不一樣店鋪。在作後續操做時,按店鋪分開處理。  場景六:批量評價             使用的API:                      taobao.traderate.list.add             業務邏輯細節:                     出現isv.rate-service-error:-1020錯誤,超過15天的訂單已評價或已過評價有效期。沒有對訂單的評價時間作一個15天限制             解決方案:                      加一個15天的有效期限制,也就是隻對交易成功以後15天之內未評價的訂單進行評價  場景七:訂單增量查詢             使用的API:                      taobao.trades.sold.increment.get             業務邏輯細節:                     出現訂單查詢不到,漏單的問題             解決方案:                      注意點1:使用該接口查詢時,要根據modified字段來查詢,例如一筆訂單85433811901845  <end_time>2011-07-20 10:00:27</end_time>                      <modified>2011-07-20 10:17:30</modified><pay_time>2011-07-18 10:46:17</pay_time>  那麼查詢時查詢區間要包含modified:2011-07-20 10:17:30,                       便可以設置start_modified 2011-07-20 10:15:00  end_modified: 2011-07-20 10:45:00。2:只能查詢時間跨度爲一天的增量交易記錄:                       start_modified:2011-7-1 16:00:00 end_modified: 2011-7-2 15:59:59(注意不能寫成16:00:00)。  場景八:手機充值類業務             使用的API:                      taobao.trades.sold.increment.get                      taobao.logistics.offline.send             業務邏輯細節:                     出現isv.logistics-offline-service-error:B04錯誤,訂單狀態不對,多數爲訂單重複發貨。爲了保證不漏單,get的訂單獲取區間可能有所重複。                     當send接口出現一些延時時,重複區間的訂單可能獲取重複再次發貨,致使重複。             解決方案:                      調用get接口時,作一個延時,保證訂單已經徹底send後,再調用taobao.trades.sold.increment.get接口。  場景九:圖書發貨             使用的API:                      taobao.products.search                      taobao.item.get                      taobao.item.add                      taobao.item.delete             業務邏輯細節:                     在添加或修改圖書時會出現isv.item-add-service-error:CATEGORY_LIMIT_SPU_BOOK_NORMAL\isv.item-delete-service-error\isv.item-is-delete:                    invalid-numIid-or-iid錯誤,主要緣由是添加或是修改的圖書ISBN號沒有通過審覈,在淘寶產品庫中不存在。             解決方案:                      在添加或是修改圖書類商品時,首先要調用taobao.products.search接口查詢,圖書是否在產品庫中。在調用products.search接口時:輸入的q字                     段參數爲「ISBN號」 例如:"9787121105777"。status字段輸入參數分爲兩類:一、普通賣家輸入字段爲"3" ;二、商城賣家輸入字段爲"0,3"。
相關文章
相關標籤/搜索