1.1 注冊(cè)開發(fā)者賬號(hào)
- 訪問平臺(tái):前往1688開放平臺(tái)。
- 賬號(hào)要求: 個(gè)人開發(fā)者:綁定通過個(gè)人實(shí)名認(rèn)證的支付寶賬號(hào)。 企業(yè)開發(fā)者:綁定通過企業(yè)認(rèn)證的支付寶賬號(hào)。
- 注冊(cè)流程:使用阿里巴巴中國站賬號(hào)登錄,完成支付寶綁定及實(shí)名認(rèn)證。
1.2 創(chuàng)建應(yīng)用
- 步驟: 登錄開放平臺(tái)控制臺(tái),創(chuàng)建新應(yīng)用。 提交產(chǎn)品MRD(市場(chǎng)需求文檔)至郵箱[email protected]審核,審核通過后正式發(fā)布應(yīng)用。
- 獲取憑證:應(yīng)用審核通過后,獲得App Key和App Secret,用于后續(xù)API調(diào)用認(rèn)證。
二、API接口概覽
2.1 商品搜索API
- 接口名:alibaba.item.search
- 功能:通過關(guān)鍵詞、價(jià)格區(qū)間、銷量范圍、類目ID等條件篩選商品,返回商品標(biāo)題、價(jià)格、銷量、圖片等基本信息。
- 請(qǐng)求參數(shù): q:搜索關(guān)鍵詞(如“女裝”)。 page:頁碼(默認(rèn)1)。 pageSize:每頁商品數(shù)量(最大40)。 priceStart/priceEnd:價(jià)格區(qū)間。 categoryId:類目ID(通過類目搜索接口獲取)。 sort:排序方式(如price_asc按價(jià)格升序)。
2.2 商品詳情API
- 接口名:alibaba.cpsMedia.productInfo
- 功能:獲取商品的詳細(xì)信息,包括價(jià)格、庫存、詳情描述等。
- 注意: 需結(jié)合alibaba.cps.queryOfferDetailActivity接口獲取營(yíng)銷活動(dòng)信息,以確定最終價(jià)格和運(yùn)費(fèi)。 價(jià)格優(yōu)先級(jí):channelPrice(一件代發(fā)包郵價(jià))> promotionPrice(營(yíng)銷活動(dòng)價(jià))> consignPrice(分銷基準(zhǔn)價(jià))。
2.3 運(yùn)費(fèi)計(jì)算
- 邏輯: 若商品存在channelPrice,則為包郵商品,可通過channelPriceFreePostage和channelPriceExcludeAreaCodes判斷非包郵區(qū)域。 若無channelPrice但有promotionPrice,以營(yíng)銷活動(dòng)接口返回的包郵信息為準(zhǔn)。 若無以上兩者,則通過shippingInfo中的運(yùn)費(fèi)模板計(jì)算。
- 示例: 按重量計(jì)價(jià):chargeType=0,首重1000克費(fèi)用700分,續(xù)重1000克費(fèi)用250分,2公斤商品運(yùn)費(fèi)為9.5元。 按件計(jì)價(jià):chargeType=1,首件3件費(fèi)用700分,續(xù)件1件費(fèi)用250分,1件商品運(yùn)費(fèi)為7元。
三、調(diào)用流程
3.1 簽名生成
- 算法:使用App Secret對(duì)請(qǐng)求參數(shù)進(jìn)行MD5加密。
- 示例代碼(Python) : python 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼python import hashlib import urllib.parse def generate_sign(params, app_secret): sorted_params = sorted(params.items(), key=lambda x: x[0]) query_string = ''.join([f"{k}{v}" for k, v in sorted_params]) sign_str = app_secret + query_string + app_secret return hashlib.md5(sign_str.encode()).hexdigest().upper()
3.2 發(fā)送請(qǐng)求
- 方式:HTTP GET或POST。
- 示例代碼(Python) : csharp 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼python import requests import time app_key = "your_app_key" app_secret = "your_app_secret" params = { "method": "alibaba.item.search", "app_key": app_key, "timestamp": int(time.time()), "format": "json", "v": "2.0", "q": "女裝", "page": 1, "pageSize": 40 } params["sign"] = generate_sign(params, app_secret) response = requests.get("https://gw.open.1688.com/openapi/param2/1/portals.open/api/findItem", params=params) print(response.text)
四、響應(yīng)處理
4.1 解析JSON響應(yīng)
- 關(guān)鍵字段: totalResults:總記錄數(shù)。 items:商品數(shù)組,包含title、price、sales、picUrl等。
- 示例響應(yīng): json 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼json { "success": true, "result": { "totalResults": 12345, "items": [ { "title": "韓版仿兔毛圍巾", "price": "2.2", "sales": 1234, "picUrl": "https://img.1688.com/img/xxxxxx.jpg" } ] } }
4.2 錯(cuò)誤處理
- 常見錯(cuò)誤碼: 400:參數(shù)錯(cuò)誤。 403:權(quán)限不足。 500:服務(wù)器異常。
- 處理邏輯:檢查響應(yīng)中的code字段,若非200,根據(jù)message字段調(diào)整請(qǐng)求參數(shù)或聯(lián)系平臺(tái)。
五、注意事項(xiàng)
5.1 調(diào)用頻率限制
- 免費(fèi)版:通常每分鐘100次。
- 企業(yè)版:可申請(qǐng)?zhí)嵘漕~,需聯(lián)系平臺(tái)。
- 建議:合理間隔請(qǐng)求,避免觸發(fā)限流。
5.2 數(shù)據(jù)安全與合規(guī)
- 密鑰保管:嚴(yán)禁泄露App Secret,建議使用安全存儲(chǔ)。
- 合法使用:遵守平臺(tái)規(guī)則,不得用于非法用途(如爬取敏感信息)。
5.3 版本更新
- 關(guān)注文檔:定期查看1688開放文檔,及時(shí)適配新版本。
六、示例場(chǎng)景
6.1 批量抓取商品數(shù)據(jù)
- 步驟: 使用商品搜索API分頁抓取商品ID。 調(diào)用商品詳情API獲取詳細(xì)信息。 緩存數(shù)據(jù)以減少重復(fù)調(diào)用。
6.2 實(shí)時(shí)價(jià)格監(jiān)控
- 流程: 定時(shí)調(diào)用商品詳情API。 結(jié)合營(yíng)銷活動(dòng)API獲取最新價(jià)格。 觸發(fā)預(yù)警或自動(dòng)調(diào)整采購策略。
通過以上指南,開發(fā)者可高效接入1688商品API,實(shí)現(xiàn)商品數(shù)據(jù)的自動(dòng)化獲取與分析。