电商api实战解析:1688.item_get_company 获取公司档案信息

admin9个月前1688api440

一、接口定位

item_get_company 不是“商品级”接口,而是“供应商级”接口。
输入:1688 商品 offerId 或 companyId(二选一)
输出:公司档案 60+ 字段,包括工商信息、深度认证、工厂能力、贸易能力、在线表现 5 大板块。
典型用途:
  1. 选品 SaaS 一键生成“供应商体检报告”
  2. ERP 自动拦截“贸易型”或“个体工商户”供应商
  3. 财务系统拉取“开票类型、对公账号”做应付初始化

二、权限与调用地址

表格
复制
项目说明
官方方法名alibaba.icbu.company.get
网关https://gw.open.1688.com/openapi/param2/2/system.oauth2/company/get
权限代码com.alibaba.icbu.company.read
频率默认 1 QPS,企业最高 20 QPS
费用免费,但需企业开发者+深度认证权限包

三、签名算法(2025-12 仍沿用“旧版 TOP 签名”)

  1. 排除 sign 与空值
  2. key 按 ASCII 升序
  3. key + value 首尾拼接 AppSecret
  4. MD5 → 32 位大写
Python 函数(可直接复用):
Python
复制
from hashlib import md5def sign(p: dict, secret: str) -> str:
    p = {k: v for k, v in p.items() if v is not None}
    text = ''.join([f'{k}{v}' for k, v in sorted(p.items())]) + secret    return md5(text.encode()).hexdigest().upper()

四、最小可运行示例

场景:已知 1688 商品 ID,想 1 行代码拿到“公司 + 工厂 + 认证”全套档案。
Python
复制
import requests, time, jsonclass CompanyAPI:
    url = 'https://gw.open.1688.com/openapi/param2/2/system.oauth2/company/get'
    def __init__(self, app_key, app_secret, access_token):
        self.ak, self.sk, self.token = app_key, app_secret, access_token    def get_by_offer(self, offer_id: str):
        params = {
            'method': 'alibaba.icbu.company.get',
            'app_key': self.ak,
            'access_token': self.token,
            'format': 'json', 'v': '1.0',
            'timestamp': str(int(time.time() * 1000)),
            'offerId': offer_id,
            'fields': ('companyName,businessType,countryName,'
                       'province,city,address,contact,telephone,'
                       'mainProducts,employeeNum,factoryArea,'
                       'deepVerify,deepVerifyInfo,isoCert,'
                       'tradeCapacity,creditLevel,openTime')
        }
        params['sign'] = sign(params, self.sk)
        r = requests.post(self.url, data=params, timeout=10).json()
        if 'error_response' in r:
            raise RuntimeError(r['error_response']['msg'])
        return r['company_get_response']['company']# ----------- 调用 -----------cli = CompanyAPI('你的AppKey', '你的AppSecret', '你的AccessToken')info = cli.get_by_offer('64321098756')print(json.dumps(info, ensure_ascii=False, indent=2))

五、核心字段速查表(60 选 20)

表格
复制
字段类型示例值业务含义
companyNamestring深圳市某某科技有限公司工商注册名
businessTypestring生产企业枚举:生产企业/贸易企业/工贸一体/个体工商户
countryNamestring中国注册国家
province/citystring广东省/深圳市可用来做“产地”标签
addressstring宝安区福永街道桥头村…可地图打点
contactstring张经理公开联系人
telephonestring0755-2953****前台固话
mainProductslist["蓝牙耳机", "音箱"]关键词搜索权重高
employeeNumstring200-300人工厂规模粗筛
factoryAreaint5000单位:平方米
deepVerifybooltrue是否深度验厂
deepVerifyInfoobject{“verifyType”: “深度验厂”, “verifyUrl”: “https://…”}视频/报告链接
isoCertlist["ISO 9001", "BSCI"]体系证书
tradeCapacityobject{“exportPct”: 80, “mainMarkets”: [“北美”, “西欧”]}出口占比
creditLevelstringAAA诚信通等级
openTimestring2012-05-18开店时间,算“老店”

六、五大踩坑实录

  1. offerId 与 companyId 混用
    老版本只认 companyId,2025-12 起两者皆可;但若同时传,优先取 companyId,offerId 被忽略。
  2. deepVerify=true 但 deepVerifyInfo 为空
    说明“已下单验厂,但报告未回传”,隔 24h 再拉即可。
  3. address 带“*”号
    个人/个体户保护隐私,地址被脱敏,只能到“镇”级;如需完整地址,需用户授权“电子合同”接口。
  4. 字段缺失≠null
    1688 对未填写字段直接不返回,解析前务必 dict.get(key, default)。
  5. 图片外链 30 天失效
    deepVerifyInfo.verifyUrl 是阿里云临时签名,落库请立刻下载转存 OSS。

七、生产级落库设计(MySQL 片段)

sql
复制
CREATE TABLE supplier_company (
  id bigint PRIMARY KEY AUTO_INCREMENT,
  company_id varchar(32) UNIQUE COMMENT '1688 companyId',
  company_name varchar(100) NOT NULL,
  business_type varchar(20),
  province varchar(20),
  city varchar(20),
  address varchar(255),
  employee_num varchar(20),
  factory_area int COMMENT '平方米',
  deep_verify tinyint DEFAULT 0,
  iso_cert json,
  trade_capacity json,
  credit_level varchar(10),
  open_time date,
  updated_at timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
  • iso_cert、tradeCapacity 直接存 JSON,方便后台渲染标签。
  • 建联合索引 (province, city, businessType) 用于“产地+类型”筛选。

八、小结

item_get_company 是 1688 开放生态里“唯一能把供应商家底一次搬空”的接口。
记住 3 句话:
  1. 先拿 offerId 换 companyId,再拉档案,可省 50% 流量。
  2. 深度验厂、ISO、工厂面积 3 个字段组合,即可在选品阶段秒筛“真实工厂”。
  3. 地址、电话、验厂报告都是 30 天临时链接,落库立刻转存,否则全链 403。
把上面的 CompanyAPI 类复制到项目,再配一张 supplier_company 表,10 分钟就能上线“供应商体检报告”自动化。祝各位调试顺利,永不踩坑!

如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系。

相关文章

Python 获取 1688 关键词搜索商品与价格接口实战指南

1688(阿里巴巴旗下 B2B 批发平台)提供了丰富的 API 接口,允许开发者通过关键词检索商品信息、获取实时价格与库存数据。本文将深入讲解如何使用 Python 合规接入 1688 开放平台,实现...

Python 爬虫获取 1688 商品详情 API 接口实战指南

本文将详细介绍如何使用 Python 调用 1688 商品详情 API 接口,涵盖官方开放平台和第三方代理两种方案,包含完整的代码示例和最佳实践。一、方案概述1. 官方开放平台 API(推荐)1688...

Java 调用 1688 商品详情 API 接口完全指南(2026版)

一、接口概述与前置准备1.1 接口定位1688 商品详情 API 是阿里巴巴开放平台提供的核心数据接口,主要用于:基础信息获取:商品 ID、标题、类目、品牌、起订量(MOQ)价格体系查询:批发价、阶梯...

实战获取1688选品API接口:从数据采集到智能选品决策

1688作为阿里巴巴旗下的B2B批发平台,拥有海量的货源数据,是跨境电商卖家、国内电商运营者、供应链采购人员的核心选品渠道。本文将深入讲解如何通过1688开放平台API接口,实现从关键词搜索 → 商品...

1688.item_search_seller-搜索店铺列表 API 返回值说明

一、接口概述item_search_seller 是1688开放平台提供的店铺检索接口,允许开发者通过关键词、行业分类、地区等条件搜索1688平台上的店铺列表。该接口广泛应用于市场调研、竞品分析、供应...

1688详情接口在ERP系统中的价值与应用

一、1688详情接口能获取什么数据plain复制┌─────────────────────────────────────────┐ │     ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。