91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

電商API接口實(shí)錄對(duì)接:1688混批價(jià)格函數(shù)處理

鄧林 ? 來源:jf_63013664 ? 作者:jf_63013664 ? 2025-08-22 10:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

?

在電商開發(fā)這行摸爬滾打快十年,對(duì)接過不少平臺(tái)的 API,但若說最讓人頭疼的,1688商品詳情API絕對(duì)能排進(jìn)前三。從批發(fā)場(chǎng)景特有的數(shù)據(jù)結(jié)構(gòu),到接口權(quán)限的嚴(yán)格管控,每一步都藏著 “驚喜”。今天就把這些年踩過的坑、攢下的實(shí)戰(zhàn)代碼分享出來,給同樣在 1688 開發(fā)路上掙扎的朋友搭個(gè)橋。

第一次對(duì)接 1688API 時(shí),光是申請(qǐng)權(quán)限就卡了整整五天。1688 作為批發(fā)平臺(tái),對(duì)開發(fā)者資質(zhì)審核格外嚴(yán)格,不僅要提供企業(yè)營業(yè)執(zhí)照,還要詳細(xì)說明用途 —— 是用于店鋪管理還是第三方工具開發(fā),甚至連預(yù)期調(diào)用量都要報(bào)備。好不容易拿到app_key和secret,簽名驗(yàn)證又給了我個(gè)下馬威。1688 的簽名算法要求把所有參數(shù)按 ASCII 排序,連時(shí)間戳格式都必須是yyyy-MM-dd HH:mm:ss,差個(gè)空格都會(huì)返回400錯(cuò)誤。那段時(shí)間對(duì)著文檔反復(fù)調(diào)試,終于寫出能用的簽名函數(shù):

python

運(yùn)行

import hashlib
import time
import urllib.parse

def generate_1688_sign(params, secret):
    # 按參數(shù)名ASCII排序
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    # 拼接成key=value&key=value格式
    query_str = "&".join([f"{k}={urllib.parse.quote(str(v), safe='')}" for k, v in sorted_params])
    # 首尾加上secret
    sign_str = f"{secret}{query_str}{secret}"
    # SHA1加密后轉(zhuǎn)大寫
    return hashlib.sha1(sign_str.encode()).hexdigest().upper()

# 使用示例
params = {
    "method": "alibaba.item.get",
    "app_key": "your_app_key",
    "item_id": "6123456789",
    "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
    "format": "json",
    "v": "1.0"
}
params["sign"] = generate_1688_sign(params, "your_secret")
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

解決了簽名問題,又被 1688 特有的 “批發(fā)屬性” 坑了一把。普通電商 API 返回的價(jià)格通常是單售價(jià),而 1688 會(huì)返回階梯價(jià)——1-10 件多少錢、10-50 件多少錢,甚至還有混批規(guī)則。有次給客戶做采購系統(tǒng),直接取了第一個(gè)價(jià)格字段,結(jié)果導(dǎo)致小批量采購時(shí)報(bào)價(jià)出錯(cuò),被運(yùn)營追著改了一下午。后來專門寫了個(gè)階梯價(jià)解析函數(shù):

python

運(yùn)行

def parse_wholesale_price(price_data):
    """解析1688階梯價(jià)格"""
    try:
        prices = []
        # 1688返回的price字段是字符串格式,需要轉(zhuǎn)換
        for range_price in price_data.get("price", "").split(";"):
            if "-" in range_price:
                quantity_range, price = range_price.split("-")
                min_qty, max_qty = quantity_range.split(":")
                prices.append({
                    "min_quantity": int(min_qty),
                    "max_quantity": int(max_qty),
                    "price": float(price)
                })
        # 按起訂量排序
        return sorted(prices, key=lambda x: x["min_quantity"])
    except Exception as e:
        print(f"價(jià)格解析錯(cuò)誤: {e}")
        return []

# 示例調(diào)用
raw_price = {"price": "1:10:99;10:50:89;50:0:79"}  # 1-10件99元,10-50件89元,50件以上79元
parsed_prices = parse_wholesale_price(raw_price)
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

python實(shí)例點(diǎn)擊獲取key和秘鑰

"description": {
					"fields": {
						"bigPromotionBanner": {
							"bannerJumpUrl": "https://shop7586850002vz1.1688.com/page/activity.htm?offerId=724783106302#promotion",
							"bannerUrl": "",
							"hasBigPromotion": false
						},
						"detailUrl": "https://itemcdn.tmall.com/1688offer/icoss2932620515500292f66bc2481d",
						"label": "詳情描述",
						"uiType": "od_product_description"
					},
					"id": "description",
					"meta": {
						"scriptFileName": "pcOfferDetailDscDetailViewcomposer"
					},
					"position": "body",
					"tag": "description",
					"type": "od_product_description"
				},
				"discountCoupon": {
					"fields": {
						"bgColor": "#ff0e31",
						"buttonName": "領(lǐng)券",
						"couponInfoList": [
							{
								"buttonName": "領(lǐng)券",
								"displayType": "coupon",
								"extraInfo": {
									"$ref": "$.result.data.discountCoupon.fields.promotionModel.promotionList[0].extraInfo"
								},
								"name": "優(yōu)惠券",
								"promotionItems": [
									{
										"actionName": "立即領(lǐng)取",
										"applied": false,
										"applyDisplayInfo": "僅限新客戶領(lǐng)取",
										"availablePeriod": "有效期:2025.08.02 00:00:00-2025.08.31 23:59:59",
										"canApply": true,
										"couponId": 7567749995,
										"couponType": 0,
										"couponTypeName": "店鋪新寶專屬",
										"detail": "滿2元減1元",
										"displayContent": "1",
										"extendDetail": "",
										"label": "滿2減1券",
										"onlySupportMobile": false,
										"sellerId": 2215803758622,
										"showDiscountFee": true,
										"startTime": "Sat Aug 02 00:00:00 CST 2025",
										"summary": "滿2元減1元"
									}
								],
								"summary": "滿2元減1元",
								"type": "COUPON",
								"uiType": "COUPON"
							}
						],
						"couponList": [
							{
								"couponContent": "滿2減1券",
								"couponType": "COUPON"
							}
						],
						"label": "折扣優(yōu)惠",
						"linkUrl": "https://cybert.m.1688.com/43ohz283.html?sceneName=chimera_16527",
						"offerId": 724783106302,
						"pageName": "Page_GetCoupon",
						"promotionModel": {
							"buttonName": "領(lǐng)券",
							"promotionList": [
								{
									"buttonName": "領(lǐng)券",
									"displayType": "coupon",
									"extraInfo": {
										"uiType": "COUPON"
									},
									"name": "優(yōu)惠券",
									"promotionItems": [
										{
											"actionName": "立即領(lǐng)取",
											"applied": false,
											"applyDisplayInfo": "僅限新客戶領(lǐng)取",
											"availablePeriod": "有效期:2025.08.02 00:00:00-2025.08.31 23:59:59",
											"canApply": true,
											"couponId": 7567749995,
											"couponType": 0,
											"couponTypeName": "店鋪新寶專屬",
											"detail": "滿2元減1元",
											"displayContent": "1",
											"extendDetail": "",
											"label": "滿2減1券",
											"onlySupportMobile": false,
											"sellerId": 2215803758622,
											"showDiscountFee": true,
											"startTime": "Sat Aug 02 00:00:00 CST 2025",
											"summary": "滿2元減1元"
										}
									],
									"summary": "滿2元減1元",
									"type": "COUPON",
									"uiType": "COUPON"
								}
							]
						},
						"style": {
							"arrowsImg": "https://img.alicdn.com/tfs/TB19FQtP4D1gK0jSZFsXXbldVXa-26-44.png",
							"textColor": "#FF4000"
						},
						"trackInfo": [],
						"uiType": "od_discount_coupon"
					},
					"id": "discountCoupon",
					"meta": {
						"scriptFileName": "pcOfferDetailDscPromotionViewcomposer"
					},
					"position": "body",
					"tag": "discountCoupon",
					"type": "od_discount_coupon"

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

1688 的庫存數(shù)據(jù)也很有特色,很多商家支持 “預(yù)售” 和 “現(xiàn)貨” 混合模式,API 返回的庫存字段會(huì)區(qū)分stock(現(xiàn)貨)和book_count(預(yù)售)。有次做庫存監(jiān)控系統(tǒng),只抓取了stock字段,導(dǎo)致預(yù)售商品顯示 “無貨”,被客戶投訴到老板那里。痛定思痛后,寫了個(gè)庫存整合函數(shù):

python

運(yùn)行

def parse_stock(stock_data):
    """整合1688現(xiàn)貨與預(yù)售庫存"""
    try:
        # 現(xiàn)貨庫存
        spot_stock = int(stock_data.get("stock", 0))
        # 預(yù)售庫存(部分商家可能不返回)
        pre_stock = int(stock_data.get("book_count", 0))
        # 總可售庫存
        total_stock = spot_stock + pre_stock
        return {
            "spot_stock": spot_stock,
            "pre_stock": pre_stock,
            "total_stock": total_stock,
            "is_pre_sale": pre_stock > 0
        }
    except Exception as e:
        print(f"庫存解析錯(cuò)誤: {e}")
        return {"total_stock": 0}
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

調(diào)用頻率限制也是個(gè)大麻煩。1688 對(duì)免費(fèi)開發(fā)者的限流很嚴(yán)格,每分鐘最多 20 次請(qǐng)求,超過就會(huì)觸發(fā)429錯(cuò)誤。有次做批量商品采集,沒控制好節(jié)奏,直接被封了 3 小時(shí)接口權(quán)限。后來用隊(duì)列加定時(shí)任務(wù)實(shí)現(xiàn)了平滑調(diào)用:

python

運(yùn)行

import time
from queue import Queue
from threading import Thread

class APICaller:
    def __init__(self, max_calls_per_minute=20):
        self.queue = Queue()
        self.max_calls = max_calls_per_minute
        self.running = False
        self.thread = Thread(target=self._process_queue)
        
    def start(self):
        self.running = True
        self.thread.start()
        
    def stop(self):
        self.running = False
        self.thread.join()
        
    def add_task(self, func, *args, **kwargs):
        self.queue.put((func, args, kwargs))
        
    def _process_queue(self):
        while self.running:
            if not self.queue.empty():
                func, args, kwargs = self.queue.get()
                try:
                    func(*args, **kwargs)
                finally:
                    self.queue.task_done()
                    # 控制頻率:每分鐘最多max_calls次
                    time.sleep(60 / self.max_calls)
            else:
                time.sleep(1)

# 使用示例
caller = APICaller(max_calls_per_minute=20)
caller.start()
# 添加100個(gè)任務(wù)
for item_id in range(100):
    caller.add_task(fetch_product_detail, item_id)
caller.queue.join()
caller.stop()
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

這些年和 1688API 打交道,最大的感悟就是:批發(fā)場(chǎng)景的特殊性決定了它的數(shù)據(jù)結(jié)構(gòu)比零售平臺(tái)復(fù)雜得多。從階梯價(jià)格到混合庫存,從起訂量到混批規(guī)則,每一個(gè)字段都藏著業(yè)務(wù)邏輯。

?審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9518

    瀏覽量

    157008
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2365

    瀏覽量

    66747
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    跨境 API 對(duì)接指南(亞馬遜 / 速賣通接口選型與調(diào)試)

    跨境對(duì)接亞馬遜、速賣通官方 API,核心是 合規(guī)獲取平臺(tái)數(shù)據(jù)、實(shí)現(xiàn)自動(dòng)化運(yùn)營 (如訂單處理、商品管理、庫存同步等),相比爬蟲更穩(wěn)定、無封
    的頭像 發(fā)表于 02-06 11:53 ?212次閱讀

    1688商品詳情API接口使用指南

    1688 商品詳情 API 接口系列是阿里巴巴 1688 開放平臺(tái)(1688 Open Platform)提供的核心 B2B
    的頭像 發(fā)表于 01-17 10:46 ?2426次閱讀

    1688品類API:熱門行業(yè)榜單,選品指南!

    ? 在領(lǐng)域,數(shù)據(jù)驅(qū)動(dòng)的選品決策至關(guān)重要。1688作為阿里巴巴旗下的批發(fā)平臺(tái),提供了豐富的品類API接口,幫助企業(yè)獲取實(shí)時(shí)市場(chǎng)數(shù)據(jù),優(yōu)化產(chǎn)
    的頭像 發(fā)表于 01-15 17:15 ?670次閱讀
    <b class='flag-5'>1688</b>品類<b class='flag-5'>API</b>:熱門行業(yè)榜單,選品指南!

    1688價(jià)格API:批量報(bào)價(jià)功能,談判優(yōu)勢(shì)!

    ? 在當(dāng)今快節(jié)奏的商業(yè)環(huán)境中,獲取準(zhǔn)確、及時(shí)的商品價(jià)格信息至關(guān)重要。1688價(jià)格API作為阿里巴巴平臺(tái)的核心接口之一,提供了強(qiáng)大的 批量報(bào)價(jià)
    的頭像 發(fā)表于 01-09 15:04 ?265次閱讀
    <b class='flag-5'>1688</b><b class='flag-5'>價(jià)格</b><b class='flag-5'>API</b>:批量報(bào)價(jià)功能,談判優(yōu)勢(shì)!

    1688價(jià)格API:批發(fā)價(jià)實(shí)時(shí)比對(duì),省錢利器!

    ? 在當(dāng)今競(jìng)爭(zhēng)激烈的市場(chǎng)中,找到最優(yōu)批發(fā)價(jià)是商家降低成本的關(guān)鍵。1688作為阿里巴巴旗下的批發(fā)平臺(tái),提供了強(qiáng)大的API服務(wù),允許開發(fā)者實(shí)時(shí)獲取和比對(duì)產(chǎn)品
    的頭像 發(fā)表于 01-06 15:15 ?881次閱讀
    <b class='flag-5'>1688</b><b class='flag-5'>價(jià)格</b><b class='flag-5'>API</b>:批發(fā)價(jià)實(shí)時(shí)比對(duì),省錢利器!

    1688店鋪所有商品API使用指南

    店鋪所有商品 API 的使用方法,幫助開發(fā)者快速實(shí)現(xiàn)接口對(duì)接。 一、摘要 1688 店鋪所有商品 API 是阿里巴巴開放平臺(tái)為開發(fā)者提供的
    的頭像 發(fā)表于 12-22 13:49 ?984次閱讀

    1688店鋪詳情API使用指南

    等級(jí)、主營品類等核心數(shù)據(jù)。該接口商數(shù)據(jù)分析、店鋪監(jiān)控、供應(yīng)鏈對(duì)接、導(dǎo)購平臺(tái)開發(fā)等場(chǎng)景提供了關(guān)鍵的數(shù)據(jù)支撐。本文將從 摘要、接口概述、Python 請(qǐng)求示例、結(jié)語 四個(gè)維度,詳細(xì)介紹
    的頭像 發(fā)表于 12-19 10:20 ?1445次閱讀

    1688商品快遞費(fèi)用API開發(fā)指南

    一、摘要 1688商品快遞費(fèi)用API是阿里巴巴1688平臺(tái)提供的標(biāo)準(zhǔn)接口,主要用于查詢商品的運(yùn)費(fèi)信息。該接口可以幫助開發(fā)者獲取指定商品的快遞
    的頭像 發(fā)表于 12-18 10:53 ?452次閱讀

    1688商品列表API接口指南

    一、摘要 本文檔旨在介紹如何通過 1688 開放平臺(tái)提供的 API 接口獲取商品列表信息。通過調(diào)用該接口,開發(fā)者可以實(shí)現(xiàn)對(duì) 1688 平臺(tái)上
    的頭像 發(fā)表于 12-15 14:44 ?1252次閱讀

    1688平臺(tái)獲取店鋪所有商品列表API接口技術(shù)詳解

    ? 在開發(fā)中,集成1688平臺(tái)的API是獲取店鋪商品數(shù)據(jù)的關(guān)鍵。1688是阿里巴巴旗下的B2B批發(fā)平臺(tái),其
    的頭像 發(fā)表于 11-11 14:04 ?517次閱讀
    <b class='flag-5'>1688</b>平臺(tái)獲取店鋪所有商品列表<b class='flag-5'>API</b><b class='flag-5'>接口</b>技術(shù)詳解

    如何通過API獲取1688平臺(tái)商品詳情

    ? ?在開發(fā)中,獲取商品詳情是常見的需求,尤其對(duì)于1688平臺(tái)(阿里巴巴旗下的批發(fā)采購平臺(tái))。通過API接口,開發(fā)者可以高效地集成商品數(shù)
    的頭像 發(fā)表于 11-11 14:00 ?1154次閱讀
    如何通過<b class='flag-5'>API</b>獲取<b class='flag-5'>1688</b>平臺(tái)商品詳情

    全網(wǎng)最全面介紹1688API接口指南

    ? 1688是阿里巴巴集團(tuán)旗下的B2B批發(fā)平臺(tái),為企業(yè)和個(gè)人提供海量商品資源。其API接口允許開發(fā)者將1688的功能集成到自有系統(tǒng)中,實(shí)現(xiàn)自動(dòng)化商品搜索、訂單管理、數(shù)據(jù)同步等。本指南將
    的頭像 發(fā)表于 10-29 15:22 ?1080次閱讀
    全網(wǎng)最全面介紹<b class='flag-5'>1688API</b><b class='flag-5'>接口</b>指南

    1688比價(jià)API接口:實(shí)現(xiàn)商品價(jià)格高效比較的技術(shù)指南

    ? ?在開發(fā)中,1688平臺(tái)作為阿里巴巴旗下的批發(fā)市場(chǎng),提供了豐富的商品數(shù)據(jù)。通過其比價(jià)API接口,開發(fā)者可以快速獲取不同供應(yīng)
    的頭像 發(fā)表于 10-21 15:36 ?823次閱讀
    <b class='flag-5'>1688</b>比價(jià)<b class='flag-5'>API</b><b class='flag-5'>接口</b>:實(shí)現(xiàn)商品<b class='flag-5'>價(jià)格</b>高效比較的技術(shù)指南

    1688量上貨API接口技術(shù)指南

    ? ?在運(yùn)營中,高效管理商品是提升效率的關(guān)鍵。1688平臺(tái)作為阿里巴巴旗下的B2B批發(fā)平臺(tái),提供了批量上貨API接口,允許開發(fā)者通過編程
    的頭像 發(fā)表于 10-21 15:19 ?532次閱讀
    <b class='flag-5'>1688</b><b class='flag-5'>批</b>量上貨<b class='flag-5'>API</b><b class='flag-5'>接口</b>技術(shù)指南

    探秘1688詳情API接口:解鎖無限應(yīng)用場(chǎng)景的技術(shù)密鑰

    如今這個(gè)數(shù)據(jù)為王的時(shí)代,從業(yè)者對(duì)于數(shù)據(jù)的渴望就像沙漠里的旅人渴望水源一樣。1688詳情API接口可以獲取商品的詳細(xì)信息,比如
    的頭像 發(fā)表于 09-29 14:49 ?469次閱讀