0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

接入MIC(中国制造)接口的帮助

来源:jf_57394773 作者:jf_57394773 2026-02-03 14:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、接入前准备(必须完成)

1. 注册与认证(账号与资质)

访问 MIC 开放平台:https://open.made-in-china.com/

用企业账号注册 / 登录(个人账号权限受限,跨境 / 商品接口多为企业专属)

完成企业实名认证:营业执照、法人信息、对公账户核验(1–3 个工作日)

开通API 服务权限:在控制台「API 服务」→「申请开通」,选择你需要的能力包(商品搜索、商品详情、类目、榜单等)

2. 创建应用,获取核心凭证

进入「应用管理」→「创建应用」

应用名称:自定义(如 “MIC 商品数据工具”)

应用类型:自用型 / 第三方应用(自用即可)

回调 URL:OAuth 授权用,本地调试可填 http://localhost

审核通过后,在应用详情页获取三大核心凭证(务必妥善保管,严禁泄露)

app_key / client_id:应用唯一标识

app_secret / client_secret:签名密钥

access_token:接口调用令牌(通过 OAuth 获取,有效期通常 24 小时)

3. 申请接口权限

进入「权限管理」→「申请 API 权限」

搜索并勾选你需要的接口(以商品 / 类目 / 榜单为例):

商品类目:category.get(获取类目树)

商品搜索 / 榜单:product.search、product.topList

商品详情:product.get

提交审核,公开权限一般即时通过,高阶权限可能 1–2 个工作日。

二、核心技术流程:鉴权与签名(MIC 通用规则)

MIC 接口采用OAuth2.0 + MD5 签名双重校验,所有请求必须带合法签名与令牌。

1. 获取 access_token(授权流程)

(1)获取授权码 code

plaintext

GET https://open.made-in-china.com/oauth/authorize
?client_id=你的app_key
&redirect_uri=你的回调URL
&response_type=code
&state=随机字符串(防CSRF)

用户授权后,平台会重定向到你的redirect_uri并带回code。

(2)用 code 换取 access_token

plaintext

POST https://open.made-in-china.com/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=你的app_key
&client_secret=你的app_secret
&code=上一步获取的code
&redirect_uri=你的回调URL

返回示例(JSON):

json

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expires_in": 86400,
  "refresh_token": "xxx...",
  "token_type": "bearer"
}

2. 生成签名(MD5,必对)

签名规则(与 1688 类似,但参数拼接略有差异):

把所有非空请求参数(不含sign、不含文件)按参数名 ASCII 升序排列

按 key1=value1&key2=value2&... 拼接成字符串

首尾拼接 app_secret:app_secret + 参数字符串 + app_secret

MD5 加密,转大写,得到sign

示例(Python):

python

运行

import hashlib

def generate_mic_sign(params, app_secret):
    # 1. 按key升序排序
    sorted_items = sorted(params.items(), key=lambda x: x[0])
    # 2. 拼接 key=value&key=value...
    param_str = "&".join([f"{k}={v}" for k, v in sorted_items if v is not None])
    # 3. 首尾加secret
    sign_raw = app_secret + param_str + app_secret
    # 4. MD5大写
    sign = hashlib.md5(sign_raw.encode("utf-8")).hexdigest().upper()
    return sign

三、接口调用实战(以 “获取商品类目 + 类目榜单” 为例)

1. 通用请求规范

请求地址:https://api.made-in-china.com/rest/{version}/{interface}

版本:v1 或 v2(以文档为准,目前主流v2)

请求方式:GET(查询类)/POST(提交类)

必传公共参数(所有接口都要):

参数名 类型 必填 说明
app_key string 应用 ID
timestamp long 13 位毫秒时间戳
nonce string 随机字符串(防重放,如 UUID)
sign string MD5 签名(大写)
access_token string 授权令牌
format string 默认 json

2. 接口 1:获取商品类目树(category.get)

请求示例(Python)

python

运行

import requests
import time
import uuid

# 配置
APP_KEY = "你的app_key"
APP_SECRET = "你的app_secret"
ACCESS_TOKEN = "你的access_token"
API_URL = "https://api.made-in-china.com/rest/v2/category.get"

def get_mic_category_tree(parent_id=0):
    # 业务参数
    params = {
        "app_key": APP_KEY,
        "timestamp": int(time.time() * 1000),
        "nonce": str(uuid.uuid4()),
        "access_token": ACCESS_TOKEN,
        "parent_id": parent_id,  # 0=顶级类目
        "format": "json"
    }
    # 生成签名
    params["sign"] = generate_mic_sign(params, APP_SECRET)
    # 发送请求
    resp = requests.get(API_URL, params=params, timeout=10)
    return resp.json()

# 调用:获取顶级类目
if __name__ == "__main__":
    result = get_mic_category_tree(parent_id=0)
    print(result)

响应结构(关键字段)

json

{
  "code": 200,
  "message": "success",
  "data": {
    "categories": [
      {
        "category_id": "1001",
        "name": "Apparel",
        "level": 1,
        "is_leaf": false,
        "children": [...]
      }
    ]
  }
}

3. 接口 2:按类目获取商品榜单(product.topList)

业务参数(核心)

category_id:类目 ID(从上一步获取)

sort_type:排序类型(sales = 销量,price = 价格,newest = 新品)

page_no / page_size:分页

country:目标市场(可选,如 US、DE)

调用示例(关键代码)

python

运行

API_TOP_URL = "https://api.made-in-china.com/rest/v2/product.topList"

def get_category_top_products(category_id, sort_type="sales", page_no=1, page_size=20):
    params = {
        "app_key": APP_KEY,
        "timestamp": int(time.time() * 1000),
        "nonce": str(uuid.uuid4()),
        "access_token": ACCESS_TOKEN,
        "category_id": category_id,
        "sort_type": sort_type,
        "page_no": page_no,
        "page_size": page_size,
        "format": "json"
    }
    params["sign"] = generate_mic_sign(params, APP_SECRET)
    resp = requests.get(API_TOP_URL, params=params, timeout=10)
    return resp.json()

四、限流、异常与最佳实践

1. 限流规则(必须遵守)

国内 IP:QPS ≤ 10

海外 IP:QPS ≤ 5

单日调用限额:基础权限一般 5000–10000 次,企业版可提升

触发限流返回429 Too Many Requests,需做退避重试(1s→3s→5s,最多 3 次)

2. 常见错误码与处理

错误码 含义 处理方案
400 参数错误 / 签名错误 核对参数顺序、签名逻辑、时间戳
401 token 过期 / 无效 刷新 access_token 或重新授权
403 权限不足 检查接口权限是否开通
404 类目 / 商品不存在 核对 ID 有效性
429 限流 本地限流 + 退避重试
500 服务异常 缓存兜底,重试 1 次,失败告警

3. 生产优化建议

缓存类目数据:类目更新慢,本地缓存 24 小时,减少调用

令牌池 / 自动刷新:提前刷新access_token,避免过期中断

字段过滤:用fields参数只返回需要的字段,提升性能

日志与监控:记录请求耗时、成功率、错误码,便于排查

五、与 1688 接口的关键差异(避坑)

授权体系:MIC 强依赖access_token,1688 部分公开接口可仅用签名

参数拼接:MIC 用key=value&分隔,1688 是直接keyvalue无分隔符

限流粒度:MIC 按 IP 地域区分 QPS,1688 按应用维度

类目结构:MIC 类目 ID 为字符串,层级用level显式标注,更适合跨境场景

六、下一步行动

先在 MIC 开放平台完成企业认证 + 应用创建 + 权限申请

用 Postman 先调试category.get,拿到类目 ID

再调用product.topList,验证类目榜单数据

最后集成到你的系统,加上缓存、限流、异常兜底

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    9600

    浏览量

    157620
  • API
    API
    +关注

    关注

    2

    文章

    2476

    浏览量

    67020
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MIC33153评估板:高效开关稳压器的评估利器

    MIC33153评估板:高效开关稳压器的评估利器 在电子设计领域,一款性能出色的开关稳压器评估板对于工程师来说至关重要。今天我们就来深入了解一下MIC33153评估板,它能帮助我们评估
    的头像 发表于 04-07 16:45 375次阅读

    MIC2545A/2549A可编程电流限制高端开关:功能特性与应用解析

    低损耗直流电源开关和其他电源管理应用提供了出色的解决方案。本文将深入探讨这两款开关的特性、功能及应用,帮助电子工程师更好地了解和应用它们。 文件下载: MIC2549A-1YM-TR.pdf 一、产品
    的头像 发表于 03-26 11:45 1666次阅读

    深入解析 MIC2546/2547 双可编程电流限制开关

    深入解析 MIC2546/2547 双可编程电流限制开关 在电子设计领域,电源管理是一个至关重要的环节。今天,我们来详细探讨 Micrel 公司的 MIC2546/2547 双可编程电流限制开关
    的头像 发表于 03-25 17:10 426次阅读

    MIC2545A/2549A:可编程电流限制高端开关的卓越之选

    MIC2545A/2549A:可编程电流限制高端开关的卓越之选 在电子设计领域,对于高效、可靠的电源开关需求日益增长。Micrel公司的MIC2545A和MIC2549A可编程电流限制高端开关,凭借
    的头像 发表于 03-04 16:55 584次阅读

    探索Microchip MIC841/2比较器:特性、应用与设计要点

    探索Microchip MIC841/2比较器:特性、应用与设计要点 在电子设计领域,比较器是一种常见且重要的器件,它能对两个输入信号进行比较,并根据比较结果输出相应的电平信号。Microchip
    的头像 发表于 03-03 16:55 656次阅读

    MIC2026/MIC2076双路功率分配开关:设计应用与特性解析

    MIC2026/MIC2076双路功率分配开关:设计应用与特性解析 在电子设计领域,功率分配开关是保障电路稳定运行的关键组件之一。Microchip的MIC2026和MIC2076双路
    的头像 发表于 02-26 15:50 8671次阅读

    MIC2546/2547 双路可编程电流限制开关:设计应用的理想之选

    MIC2546/2547 双路可编程电流限制开关:设计应用的理想之选 作为电子工程师,在进行硬件设计开发时,电源开关的选择至关重要。今天,我们就来深入了解一款优秀的电源开关产品——MICREL
    的头像 发表于 02-09 10:15 233次阅读

    淘宝天猫店铺商品API接口全方位接入指南

    、价格优化、库存预警、营销决策等。 二、接入准备和核心参数 1.API 接入流程 : 请求地址(测试/正式环境):c0b.cc/R4rbK2 (前往体验接口测试,Taobaoap
    的头像 发表于 01-13 11:13 695次阅读

    哪些产品要做MIC认证呢?

    日本MIC认证(由日本总务省监管)主要针对无线通信类产品和连接公共电信网络的设备。下面用简单明了的方式告诉你——哪些产品必须做MIC认证、哪些不用。一、必须做MIC认证的产品1.含无线功能的产品
    的头像 发表于 10-30 16:49 1166次阅读
    哪些产品要做<b class='flag-5'>MIC</b>认证呢?

    当当接口开发避坑指南:3 大痛点 + 签名模板,0 失败接入商品详情接口

    本文详解当当商品详情接口接入难点与实战方案,涵盖认证签名、参数优先级、数据解析等核心问题,提供Python代码示例与缓存优化策略,助力开发者快速稳定调用接口,避开90%常见坑。
    的头像 发表于 10-23 13:31 375次阅读

    MIC21LV33评估板技术解析与应用指南

    Microchip Technology EV93M52A MIC21LV33评估板设计用于快速地演示MIC21LV33的功能和广泛用途。MIC21LV33是一款恒定导通时间、双相同步降压控制器
    的头像 发表于 10-14 14:30 1218次阅读
    ‌<b class='flag-5'>MIC</b>21LV33评估板技术解析与应用指南

    MIC21LV33评估板技术解析与应用指南

    Microchip Technology EV93M52A MIC21LV33评估板设计用于快速地演示MIC21LV33的功能和广泛用途。MIC21LV33是一款恒定导通时间、双相同步降压控制器
    的头像 发表于 10-14 11:51 811次阅读
    <b class='flag-5'>MIC</b>21LV33评估板技术解析与应用指南

    MIC24097评估板技术解析与应用指南

    Microchip Technology MIC24097评估板经过完全组装和测试,用于演示MIC24097的功能。MIC24097转换器采用出色的自适应导通时间控制架构。该板基于降压拓扑,当输入端配有5V至20V电压时,可提供
    的头像 发表于 09-29 11:43 876次阅读
    ‌<b class='flag-5'>MIC</b>24097评估板技术解析与应用指南

    数据中台可以接入哪些物联网云平台

    数据中台作为企业数字化转型的核心枢纽,能够通过标准化接口、协议适配及数据治理能力,接入多种类型的物联网云平台,实现设备数据采集、存储、分析及业务协同。以下是具体可接入的物联网云平台类型及典型代表
    的头像 发表于 08-19 15:22 935次阅读

    请问K210如何配置I2S读取MIC阵列数据?

    ( I2S_DEVICE_0 , rx_buf , 8, DMAC_CHANNEL3 ) 补充材料 你好,请使用Sipeed的MIC Array代码进行开发。 谢谢你的回答。MIC array 不能提供各个MIC
    发表于 08-05 07:26