一、接口概述
京東拍立淘接口基于圖像識別技術(shù),允許用戶通過上傳圖片或提供圖片URL,在京東商品庫中搜索相似商品,并返回包含商品名稱、價格、圖片鏈接、相似度評分等信息的JSON格式結(jié)果。其核心優(yōu)勢包括:
- 多模態(tài)輸入:支持本地圖片、URL或Base64編碼圖片。
- 精準(zhǔn)匹配:依托機(jī)器學(xué)習(xí)算法和大數(shù)據(jù)技術(shù),深度分析商品特征(如顏色、形狀、紋理)。
- 廣泛覆蓋:涵蓋京東海量商品庫,包括服飾、數(shù)碼、家居等多品類。
- 智能推薦:結(jié)合用戶行為數(shù)據(jù),提供個性化商品推薦。
二、接口調(diào)用流程
1. 注冊與認(rèn)證
- 訪問京東開放平臺:完成企業(yè)/個人賬號注冊。
- 創(chuàng)建應(yīng)用:在控制臺創(chuàng)建應(yīng)用,提交審核信息,獲取
App Key
和App Secret
。 - 申請權(quán)限:在開放平臺申請“京東圖片搜索拍立淘API”權(quán)限,審核通過后調(diào)用接口。
2. 圖片準(zhǔn)備
- 本地圖片:轉(zhuǎn)換為Base64編碼。
- 網(wǎng)絡(luò)圖片:確保URL可公開訪問,或通過京東上傳接口獲取唯一圖片ID。
3. 構(gòu)建請求
- 請求方式:HTTP POST/GET。
- 請求地址:示例URL(需替換為最新文檔地址): https://api.jd.com/routerjson?method=jd.union.open.goods.query
- 必傳參數(shù): app_key:應(yīng)用標(biāo)識。 360buy_param_json:包含圖片數(shù)據(jù)(如imgid、image_url或Base64編碼)。 timestamp:當(dāng)前時間戳。
- 可選參數(shù): category_id:商品分類ID(如手機(jī)通訊類目ID:12345)。 page_index/page_size:分頁控制。 sort:排序規(guī)則(如按相似度score降序)。
4. 生成簽名
- 簽名算法:使用App Secret對參數(shù)進(jìn)行排序并拼接,生成MD5簽名。 scss 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼python import hashlib def generate_sign(app_secret, params): sorted_params = sorted(params.items()) param_str = ''.join(f'{k}{v}' for k, v in sorted_params) + app_secret return hashlib.md5(param_str.encode()).hexdigest()
5. 發(fā)送請求
- Python示例: csharp 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼python import requests def jd_pailitao_search(app_key, app_secret, image_url): url = "https://api.jd.com/routerjson" params = { "method": "jd.union.open.goods.query", "app_key": app_key, "360buy_param_json": f'{{"goodsIdList":[{{"goodsId":"{image_url}"}}]}}', "timestamp": "當(dāng)前時間戳" } params["sign"] = generate_sign(app_secret, params) response = requests.get(url, params=params) return response.json()
6. 響應(yīng)處理
- 返回字段: status/code:請求狀態(tài)(如200表示成功)。 result.items:商品列表,包含product_id、product_name、price、score等。 stock:庫存狀態(tài)(如有貨)。
三、參數(shù)說明
參數(shù) | 必選 | 說明 |
---|---|---|
app_key | 是 | 應(yīng)用標(biāo)識,用于身份驗(yàn)證。 |
image_url | 是 | 圖片URL或Base64編碼數(shù)據(jù)。 |
category_id | 否 | 商品分類ID,限定搜索范圍。 |
page_index | 否 | 分頁頁碼(默認(rèn)1 )。 |
page_size | 否 | 每頁返回數(shù)量(默認(rèn)20 )。 |
sort | 否 | 排序規(guī)則(如score 按相似度降序)。 |
四、應(yīng)用場景
- 電商應(yīng)用:用戶上傳商品圖片,快速找到同款或相似商品。
- 智能導(dǎo)購:結(jié)合用戶歷史行為,推薦搭配商品。
- 商家工具:競品分析、價格監(jiān)控、庫存管理。
- 線下零售:實(shí)體店掃碼購,比價或查找線上優(yōu)惠。
- 版權(quán)保護(hù):設(shè)計師通過圖片搜索排查侵權(quán)商品。
五、注意事項
- 頻率限制:免費(fèi)版接口默認(rèn)QPS≤5,超出需升級套餐。
- 圖片質(zhì)量:建議圖片主體占比≥60%,避免模糊或遮擋。
- 簽名安全:禁止在前端生成簽名,防止App Secret泄露。
- 錯誤處理: 認(rèn)證失?。簷z查App Key和App Secret。 圖片無效:確認(rèn)URL可訪問或Base64編碼正確。 分類ID錯誤:參考京東開放平臺類目文檔。
- 數(shù)據(jù)緩存:對高頻搜索結(jié)果(如熱門商品)使用Redis緩存,減少實(shí)時調(diào)用。
六、示例代碼(Java)
java
import com.jd.open.api.sdk.DefaultJdClient;
import com.jd.open.api.sdk.JdClient;
import com.jd.open.api.sdk.request.JdSearchByImageRequest;
import com.jd.open.api.sdk.response.JdSearchByImageResponse;
public class JdPailitaoDemo {
public static void main(String[] args) {
String appKey = "YOUR_APP_KEY";
String appSecret = "YOUR_APP_SECRET";
String imageUrl = "https://example.com/image.jpg";
JdClient client = new DefaultJdClient(appKey, appSecret);
JdSearchByImageRequest req = new JdSearchByImageRequest();
req.setImageUrl(imageUrl);
req.setCategoryId("0"); // 全品類搜索
try {
JdSearchByImageResponse rsp = client.execute(req);
System.out.println(rsp.getResult());
} catch (Exception e) {
e.printStackTrace();
}
}
}
通過以上指南,開發(fā)者可快速集成京東拍立淘接口,實(shí)現(xiàn)以圖搜商品功能,提升用戶體驗(yàn)和商業(yè)效率。