一、引言
在電商運營與開發的廣闊領域中,優惠券作為極具影響力的營銷利器,對于提升用戶購物意愿、促進商品銷售發揮著關鍵作用。淘寶平臺以其海量的商品資源和龐大的用戶群體,構建了一套豐富且復雜的優惠券體系。而淘寶商品詳情優惠券 API 接口的開放,猶如為開發者和商家打開了一扇通往精準營銷與高效用戶服務的大門。借助這一接口,能夠精準獲取與商品詳情緊密關聯的優惠券信息,滿足電商數據整合、個性化營銷活動策劃、用戶精細化運營等多方面的迫切需求,為打造更具競爭力的電商應用與服務奠定堅實基礎。供稿者:Taobaoapi2014
二、接口概述
(一)功能介紹
- 優惠券精準檢索:該接口允許開發者依據商品 ID,精準篩選出與特定商品相關的優惠券。無論是商品專屬優惠券,還是店鋪通用但適用于該商品的優惠券,都能一網打盡。例如,輸入一款熱門手機的商品 ID,接口可返回該手機在促銷活動中的滿減優惠券、贈品優惠券等,幫助用戶在購買商品時享受更多優惠。
- 優惠券詳情深度獲取:對于檢索到的優惠券,通過接口能獲取其詳細信息。包括優惠券面額,如滿 300 元減 50 元中的 50 元;使用門檻,即滿減條件中的消費金額限制;領取條件,如是否為新用戶專享、特定會員等級可領等;有效期,明確優惠券的可使用時間段;適用范圍,確定是僅適用于指定商品,還是整個店鋪的部分或全部商品;以及最重要的優惠券領取鏈接,方便用戶直接領取使用。
- 優惠券動態狀態監測:接口還具備監測優惠券實時狀態的功能??蓪崟r查詢某張優惠券是否已被用戶領取,以及剩余可領取數量。這對于電商平臺及時調整優惠券展示策略,避免向用戶展示已領完的優惠券,提升用戶體驗至關重要。
(二)數據輸入
- 商品 ID:這是調用該接口的核心參數。商品 ID 是淘寶平臺賦予每個商品的唯一標識,如同商品的 “身份證”。在淘寶商品鏈接中,通常清晰顯示商品 ID。
- 可選篩選參數:部分接口支持一些可選篩選參數,用于進一步細化優惠券檢索結果。例如,可設置優惠券面額范圍,篩選出特定價格區間內的優惠券,如只獲取面額在 20 元至 100 元之間的優惠券;還可指定優惠券類型,如普通滿減券、折扣券、贈品券等;或者按照有效期進行篩選,獲取在未來一周內即將生效或即將過期的優惠券,以滿足不同業務場景下的個性化需求。
(三)數據輸出
- 優惠券列表:當輸入商品 ID 及相關篩選參數后,接口返回的是一個 JSON 格式的優惠券列表。列表中的每個元素都是一個包含詳細優惠券信息的 JSON 對象,大致結構如下:
[ { "coupon_id": "123456789", "coupon_amount": 50, "min_order_amount": 300, "領取條件": "新用戶專享", "start_time": "2024 - 10 - 01 00:00:00", "end_time": "2024 - 10 - 15 23:59:59", "適用范圍": "指定商品:手機(商品ID:654321)", "領取鏈接": "https://xxx.taobao.com/coupon領取" }, { "coupon_id": "987654321", "coupon_amount": 100, "min_order_amount": 500, "領取條件": "店鋪V3會員及以上", "start_time": "2024 - 10 - 05 00:00:00", "end_time": "2024 - 10 - 20 23:59:59", "適用范圍": "店鋪內全品類商品", "領取鏈接": "https://yyy.taobao.com/coupon領取" }]
- 優惠券狀態信息:在查詢優惠券實時狀態時,接口返回一個簡潔的 JSON 對象,明確顯示優惠券的領取狀態。例如:{"coupon_id": "123456789", "is_claimed": true, "remaining_count": 100},表示該優惠券已被領取,且剩余可領取數量為 100 張;若is_claimed為false,則表明優惠券尚未被領取。
三、Python 請求示例
import requests
import hashlib
import time
import json
# # 封裝好的第三方數據商平臺接口,復制鏈接獲取測試。
demo url=http://c0b.cc/R4rbK2 wechat id:Taobaoapi2014
app_key = "your_app_key"
app_secret = "your_app_secret"
# 接口地址
url = "https://eco.taobao.com/router/rest"
# 商品ID
product_id = "654321"
# 生成簽名
timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
params = {
"app_key": app_key,
"method": "taobao.tbk.item.coupon.get",
"timestamp": timestamp,
"format": "json",
"v": "2.0",
"num_iid": product_id,
"coupon_start_fee": 20, # 篩選最小面額20元的優惠券
"coupon_end_fee": 100 # 篩選最大面額100元的優惠券
}
param_str = ""
for key in sorted(params.keys()):
param_str += key + str(params[key])
sign_str = app_secret + param_str + app_secret
sign = hashlib.md5(sign_str.encode('utf - 8')).hexdigest().upper()
params["sign"] = sign
# 發送請求
response = requests.get(url, params = params)
# 解析響應數據
if response.status_code == 200:
data = json.loads(response.text)
if "results" in data and "tbk_coupon" in data["results"]:
coupons = data["results"]["tbk_coupon"]
for coupon in coupons:
print("優惠券ID:", coupon["coupon_id"])
print("優惠券面額:", coupon["coupon_amount"])
print("使用門檻:", coupon["min_order_amount"])
print("-------------------")
else:
print("未獲取到優惠券信息,錯誤信息:", data["error_response"]["msg"])
else:
print("請求失敗,狀態碼:", response.status_code)