明白,你想把自己的獨(dú)立商城和拼多多 API對(duì)接,實(shí)現(xiàn)商品獲取、訂單處理或推廣等功能。下面我?guī)湍闶崂硪粋€(gè)完整流程和具體實(shí)現(xiàn)方案。
一、接入前準(zhǔn)備
1. 注冊(cè)拼多多開放平臺(tái)賬號(hào)
- 官方地址:拼多多開放平臺(tái)
- 功能: 創(chuàng)建應(yīng)用(獨(dú)立商城接入需要應(yīng)用信息) 獲取 Client ID(Client Key) 和 Client Secret 設(shè)置 回調(diào) URL(用于授權(quán)與訂單回調(diào))
2. 申請(qǐng) API 權(quán)限
- 主要接口: 商品查詢:pdd.goods.search 商品詳情:pdd.goods.detail 訂單查詢:pdd.order.list.get 拼多多推廣接口:pdd.ddk.goods.search(拼多多多多客 API)
- 注意: 部分接口需要 授權(quán) token(用戶授權(quán)或商家授權(quán)) 訂單相關(guān)接口需綁定拼多多店鋪
3. 準(zhǔn)備技術(shù)條件
- 后端語(yǔ)言:Python / Java / PHP 等
- HTTP 請(qǐng)求庫(kù)(Python 推薦 requests 或官方 SDK)
- 數(shù)據(jù)庫(kù)用于存儲(chǔ)商品信息、訂單信息等
二、拼多多 API 接入流程
1. 獲取 Access Token(授權(quán))
- 用戶或商家授權(quán)你的應(yīng)用
- 拼多多返回 code
- 用 code 換取 access_token
import requests
CLIENT_ID = "你的ClientID"
CLIENT_SECRET = "你的ClientSecret"
CODE = "授權(quán)返回的code"
url = "https://open-api.pinduoduo.com/oauth/token"
data = {
"client_id": CLIENT_ID,
"client_secret": CLIENT_SECRET,
"grant_type": "authorization_code",
"code": CODE
}
resp = requests.post(url, data=data)
token_info = resp.json()
access_token = token_info['access_token']
2. 調(diào)用 API
拼多多接口大多是 POST 請(qǐng)求 + JSON 參數(shù),同時(shí)需要簽名:
import hashlib
import json
def sign_pdd(params, client_secret):
"""
拼多多 API 簽名
1. 所有參數(shù)按字母排序
2. 拼接 key=value
3. 前后加client_secret,MD5,轉(zhuǎn)大寫
"""
sorted_params = sorted(params.items())
query = client_secret + ''.join(f"{k}{v}" for k, v in sorted_params) + client_secret
return hashlib.md5(query.encode('utf-8')).hexdigest().upper()
# 示例:調(diào)用商品查詢接口
url = "https://gw-api.pinduoduo.com/api/router"
params = {
"type": "pdd.goods.search",
"client_id": CLIENT_ID,
"access_token": access_token,
"timestamp": str(int(time.time())),
"data_type": "JSON",
"page": 1,
"page_size": 10,
"keyword": "藍(lán)牙耳機(jī)"
}
params['sign'] = sign_pdd(params, CLIENT_SECRET)
resp = requests.post(url, data=params)
result = resp.json()
print(json.dumps(result, indent=2, ensure_ascii=False))
3. 處理返回?cái)?shù)據(jù)
- 返回商品列表或訂單列表
- 保存到你的商城數(shù)據(jù)庫(kù)
- 用于: 商品同步 拼多多訂單管理 推廣或分銷
三、商城對(duì)接策略
目標(biāo) | 對(duì)接方式 |
---|---|
商品同步 | 定時(shí)任務(wù)調(diào)用 pdd.goods.search → 入庫(kù)本地 |
商品詳情 | 前端訪問本地商品表,如果沒有,再實(shí)時(shí)調(diào)用 pdd.goods.detail |
訂單管理 | 調(diào)用 pdd.order.list.get → 同步到獨(dú)立商城后臺(tái) |
傭金/推廣 | 使用 pdd.ddk.goods.search + pdd.ddk.goods.detail 獲取傭金信息,生成推廣鏈接 |
四、注意事項(xiàng)
- 簽名與安全: client_secret 不能暴露在前端 后端統(tǒng)一處理簽名請(qǐng)求
- API 調(diào)用限制: 拼多多接口有頻率限制(每個(gè)接口每天/每分鐘有限制) 建議使用緩存和本地?cái)?shù)據(jù)庫(kù)降低重復(fù)請(qǐng)求
- Token 有效期: Access Token 一般有有效期,需定期刷新
- 訂單同步: 定時(shí)任務(wù)推薦 5-10 分鐘同步一次 或使用拼多多回調(diào)接口(Webhook)更實(shí)時(shí)