成为开发者
数据开放 · 技术共享 · 标准接入

举金望开放平台 API 接入文档

为合作客户提供统一取链、订单明细、推广数据、结算对账等标准接口。首轮建议先跑通统一取链,确认返回有效链接后再进入数据接口联调。

1. 接入前必读

当前首轮正式开放:统一取链接口。成功标准:响应体 code=200,且 data.url 有有效链接。
AppSecret 是接口签名密钥,只能保存在客户服务端。不要写入前端页面、小程序端、App 客户端、浏览器代码或公开仓库。
项目地址/规则说明
文档地址https://openapi.jujin.online客户查看接入说明
API Base URLhttps://openapi.jujin.online/api接口调用前缀,不是普通网页
成功判断body.code = 200不要只按 HTTP 状态码判断
正式接口POST /api/v1/chain/get首轮联调先使用该接口

2. 开发者接入准备

客户首轮接入不需要自行注册后台账号,也不需要单独获取 token。举金望会完成应用创建、权限开通和联调参数分配,客户服务端按签名规则直接调用接口。

接入前需要准备什么

事项由谁处理说明
确认合作主体客户 + 举金望确认接入客户名称、业务场景、产品类型和联调负责人。
创建客户应用举金望举金望为客户创建独立应用,用于接口鉴权、权限隔离和调用审计。
分配 AppId举金望客户应用唯一标识,请放在请求 Header 的 x-app-id
分配 AppSecret举金望签名密钥,只能保存在客户服务端,不允许写入前端、小程序端或公开代码仓库。
分配 placement_code举金望客户授权推广位编码,只能使用举金望分配给当前客户的推广位。
开通接口权限举金望首轮默认开通统一取链权限。订单、推广数据、结算接口在第二阶段开放。
完成接口联调客户技术客户服务端按文档生成签名并调用统一取链接口。

客户会收到哪些联调参数

参数示例用途安全要求
AppIdapp_xxx客户应用标识,用于请求 Header。可发给客户技术负责人。
AppSecretsk_xxx签名密钥,用于生成 x-sign只允许服务端保存,不要发公开群。
placement_codeZFBPP10推广位编码,用于统一取链。仅限当前客户授权范围内使用。
productelm_redpacket产品类型,首轮示例为饿了么红包。以举金望实际分配为准。
activity_id675活动 ID。以举金望实际分配为准。
link_type1链接类型。以举金望实际分配为准。

为什么没有“获取 token”步骤

举金望开放平台当前采用服务端签名鉴权模式。客户不需要先调用“获取 token”接口,也不需要维护临时访问令牌。每次请求时,客户服务端使用 AppId、当前秒级时间戳和 AppSecret 生成签名,并通过 Header 提交。

x-sign = sha256(app_id + timestamp + app_secret)
这种方式可以减少客户接入步骤,避免临时令牌过期、刷新失败、前端泄露等问题。客户只需要保证 AppSecret 不泄露,并且所有接口请求都从服务端发起。

接口权限开通顺序

阶段接口状态说明
第一阶段统一取链开放联调先确认鉴权、签名、推广位和 data.url 返回正常。
第二阶段统一订单明细取链跑通后开放用于查询订单号、订单状态、佣金、结算状态等。
第二阶段推广数据取链跑通后开放用于查看点击、转化、订单和收入统计。
第二阶段结算对账正式合作后开放用于对账、结算周期和分成结果查看。

客户 0-1 接入顺序

  1. 打开文档页:https://openapi.jujin.online
  2. 确认 API Base URL:https://openapi.jujin.online/api
  3. 检查网关:GET https://openapi.jujin.online/api/health
  4. 获取举金望分配的 AppIdAppSecretplacement_code
  5. 客户服务端生成 x-timestampx-sign
  6. 调用首轮接口:POST https://openapi.jujin.online/api/v1/chain/get
  7. 确认返回 code=200data.url 非空。
  8. 统一取链稳定后,再进入订单明细、推广数据和结算接口联调。

3. 使用步骤

成为开发者

确认合作关系

获取密钥

获取 AppId / AppSecret

选择 API

首轮选择统一取链

调试 API

按示例完成联调

开发上线

稳定后进入正式接入

3. 10分钟跑通统一取链

  1. 向举金望获取 AppIdAppSecretplacement_code
  2. 确认接口地址:POST https://openapi.jujin.online/api/v1/chain/get
  3. 客户服务端生成秒级时间戳 x-timestamp
  4. sha256(app_id + timestamp + app_secret) 生成 x-sign
  5. 发送请求,返回 code=200data.url 有值即成功。

0-1 联调检查清单

顺序动作通过标准
1打开文档页可访问 https://openapi.jujin.online
2检查 API 网关GET /api/health 返回 code=200
3获取联调参数拿到 AppIdAppSecretplacement_code
4服务端生成签名x-sign = sha256(app_id + timestamp + app_secret)
5调用统一取链POST /api/v1/chain/get
6判断结果响应体 code=200data.url 非空
7进入下一阶段取链稳定后,再联调订单明细、推广数据和结算接口

4. 域名与接口地址

用途地址说明
API 文档https://openapi.jujin.online浏览器打开
API Base URLhttps://openapi.jujin.online/api接口前缀;直接打开 /api 返回 JSON 说明属于正常现象
健康检查GET /api/health检查网关可用性
统一取链POST /api/v1/chain/get首轮正式联调接口

5. 鉴权签名

Header必填示例说明
Content-Typeapplication/json固定值
x-app-idapp_xxx举金望分配
x-timestamp1782487116秒级时间戳
x-sign64位sha256签名结果,小写
x-sign = sha256(app_id + timestamp + app_secret)
参数名和 Header 名称请严格按文档填写。业务参数区分大小写;x-timestamp 必须使用秒级 Unix 时间戳,不要使用毫秒级时间戳。
签名字符串按 app_id + timestamp + app_secret 直接拼接,不加分隔符,不做 JSON 序列化。签名结果为 SHA256 小写 64 位十六进制字符串。

6. API 市场

统一取链 API 已开放

用于生成客户专属推广链接,支持通过 sub_id 做渠道、用户、广告位归因。

POST /api/v1/chain/get

统一订单明细 API 第二阶段

用于查询订单状态、归因标识、订单时间、预估收益等。

POST /api/v1/order/list

推广数据 API 第二阶段

用于查看点击、转化、订单、预估收入等统计数据。

开放前由技术支持确认权限

结算对账 API 第二阶段

用于查看结算周期、结算状态、分成结果与对账数据。

开放前由技术支持确认权限

7. 统一取链接口详情

请求地址

POST https://openapi.jujin.online/api/v1/chain/get

请求 Body

{
  "product": "elm_redpacket",
  "promotion_method": "H5",
  "placement_code": "ZFBPP10",
  "sub_id": "client_user_001",
  "activity_id": 675,
  "link_type": 1
}
字段必填示例说明
productelm_redpacket产品类型
promotion_methodH5推广方式
placement_codeZFBPP10客户授权推广位编码,必须为举金望分配给当前客户的可用推广位。
activity_id675活动 ID
link_type1链接类型

成功返回

{
  "code": 200,
  "message": "success",
  "data": {
    "product": "elm_redpacket",
    "promotion_method": "H5",
    "placement_code": "ZFBPP10",
    "url": "https://openapi.jujin.online/demo/promotion-link/xxx",
    "short_url": "",
    "deep_link": "",
    "mini_app_id": "",
    "mini_path": ""
  }
}
客户侧只需要读取 data.url。示例 URL 仅用于说明返回结构,真实跳转地址以接口实际返回为准。

8. 饿了么红包接入说明

配置项示例值说明
productelm_redpacket饿了么红包产品类型
promotion_methodH5H5 链接
activity_id675以举金望分配为准
link_type1以举金望分配为准
placement_codeZFBPP10以实际分配为准

推荐接入方式

  1. 客户前端把用户 ID、渠道 ID 或广告位 ID 传给客户服务端。
  2. 客户服务端把该标识写入 sub_id
  3. 客户服务端调用统一取链接口。
  4. 客户前端跳转或展示返回的 data.url

9. 统一订单明细接口(新)

接口状态:第二阶段联调接口。统一取链跑通后,由举金望技术支持按客户权限开放。

接口说明

用于查询客户通过举金望开放平台产生的订单明细,包括订单号、商品名称、订单状态、结算状态、付款金额、佣金金额、创建时间、付款时间、完成时间和客户自定义追踪标识。

项目说明
API 类型统一处理 API
接口版本v1.0
请求地址https://openapi.jujin.online/api/v1/order/list
请求方式POST
鉴权方式x-app-id / x-timestamp / x-sign
开放阶段第二阶段联调开放

请求 Header

Header必填说明
Content-Type固定为 application/json
x-app-id举金望分配的客户 AppId
x-timestamp当前秒级时间戳
x-sign签名结果,规则为 sha256(app_id + timestamp + app_secret)

请求 Body

{
  "product": "elm_redpacket",
  "activity_id": 675,
  "query_type": 1,
  "start_time": "2026-06-27 00:00:00",
  "end_time": "2026-06-27 23:59:59",
  "page": "",
  "page_size": 20
}

请求参数说明

字段类型必填说明
productstring产品类型,例如 elm_redpacket。不传时按客户权限查询。
activity_idinteger活动 ID,例如饿了么红包示例为 675。实际值以举金望分配为准。
query_typeinteger时间查询类型:1 创建时间,2 付款时间,3 完成时间。
start_timestring开始时间,格式:YYYY-MM-DD HH:mm:ss
end_timestring结束时间,格式:YYYY-MM-DD HH:mm:ss
pagestring分页标识。第一页可为空;查询下一页时传返回结果中的 next_page
page_sizeinteger每页条数,默认 20,最大 50。
建议每次查询时间范围不超过 24 小时。订单数据可能存在回传延迟,具体以接口返回为准。

返回字段说明

字段类型说明
codeinteger业务状态码,200 表示成功。
messagestring说明信息。
data.next_pagestring下一页标识,没有下一页时为空。
data.rowsarray订单列表。
order_nostring订单号。
goods_namestring商品名称。
order_numinteger订单数量。
activity_idinteger订单所属活动 ID。
order_statusinteger订单状态:1 待支付,2 已支付,3 已失效,4 已完成。
settle_stateinteger结算状态:0 待结算,1 已结算。
pay_amountstring付款金额。
commissionstring佣金金额。
tk_create_timestring订单创建时间。
tk_paid_timestring订单付款时间。
tk_finish_timestring订单完成时间。
sub_idstring客户自定义追踪标识。
original_order_nostring原始订单号,非必返。
ext_infostring扩展信息,非必返。

成功返回示例

{
  "code": 200,
  "message": "success",
  "data": {
    "next_page": "next_page_token",
    "rows": [
      {
        "order_no": "ORDER202606270001",
        "goods_name": "商品名称",
        "order_num": 1,
        "activity_id": 675,
        "order_status": 2,
        "settle_state": 0,
        "pay_amount": "28.90",
        "commission": "3.20",
        "tk_create_time": "2026-06-27 10:00:00",
        "tk_paid_time": "2026-06-27 10:02:00",
        "tk_finish_time": "",
        "sub_id": "client_user_001",
        "original_order_no": "",
        "ext_info": ""
      }
    ]
  }
}

订单状态说明

order_status含义
1待支付
2已支付
3已失效
4已完成

结算状态说明

settle_state含义
0待结算
1已结算

curl 示例

APP_ID="请填写举金望分配的AppId"
APP_SECRET="请填写举金望分配的AppSecret"
BASE_URL="https://openapi.jujin.online/api"
TIMESTAMP=$(date +%s)

SIGN=$(python3 -c "import hashlib;print(hashlib.sha256(('${APP_ID}'+'${TIMESTAMP}'+'${APP_SECRET}').encode('utf-8')).hexdigest().lower())")

curl -X POST "$BASE_URL/v1/order/list" \
  -H "Content-Type: application/json" \
  -H "x-app-id: $APP_ID" \
  -H "x-timestamp: $TIMESTAMP" \
  -H "x-sign: $SIGN" \
  -d '{
    "product":"elm_redpacket",
    "activity_id":675,
    "query_type":1,
    "start_time":"2026-06-27 00:00:00",
    "end_time":"2026-06-27 23:59:59",
    "page":"",
    "page_size":20
  }'
当前订单明细接口为第二阶段开放接口。客户首轮请先完成统一取链接口联调。

10. 推广数据接口

第二阶段联调接口。统一取链跑通后再开放。

用途:查看点击、转化、订单、预估收入等推广统计数据。

11. 结算对账接口

第二阶段联调接口。正式合作和数据归因稳定后开放。

用途:查看结算周期、结算状态、分成结果和对账数据。

12. 错误码说明

code含义排查建议
200成功读取 data.url
40001参数错误检查请求 Body 是否完整
40101AppId 不存在检查 x-app-id
40102签名校验失败检查 AppSecret、timestamp、签名公式
40103请求已过期校准服务器时间
40104应用未启用联系举金望确认应用状态
40301无权限或推广位越权检查 placement_code
50001服务异常联系举金望技术支持

13. 调试示例

curl 示例

APP_ID="请填写举金望分配的AppId"
APP_SECRET="请填写举金望分配的AppSecret"
BASE_URL="https://openapi.jujin.online/api"
TIMESTAMP=$(date +%s)

SIGN=$(python3 -c "import hashlib;print(hashlib.sha256(('${APP_ID}'+'${TIMESTAMP}'+'${APP_SECRET}').encode('utf-8')).hexdigest().lower())")

curl -X POST "$BASE_URL/v1/chain/get" \
  -H "Content-Type: application/json" \
  -H "x-app-id: $APP_ID" \
  -H "x-timestamp: $TIMESTAMP" \
  -H "x-sign: $SIGN" \
  -d '{"product":"elm_redpacket","promotion_method":"H5","placement_code":"ZFBPP10","sub_id":"client_user_001","activity_id":675,"link_type":1}'

Python 示例

import time, json, hashlib, requests

APP_ID = "请填写举金望分配的AppId"
APP_SECRET = "请填写举金望分配的AppSecret"
BASE_URL = "https://openapi.jujin.online/api"

timestamp = str(int(time.time()))
sign = hashlib.sha256((APP_ID + timestamp + APP_SECRET).encode("utf-8")).hexdigest().lower()

headers = {
    "Content-Type": "application/json",
    "x-app-id": APP_ID,
    "x-timestamp": timestamp,
    "x-sign": sign,
}

body = {
    "product": "elm_redpacket",
    "promotion_method": "H5",
    "placement_code": "ZFBPP10",
    "sub_id": "client_user_001",
    "activity_id": 675,
    "link_type": 1,
}

resp = requests.post(f"{BASE_URL}/v1/chain/get", headers=headers, json=body, timeout=20)
print(resp.status_code)
print(json.dumps(resp.json(), ensure_ascii=False, indent=2))

14. 常见问题

Q1:为什么打开 API Base URL 不是网页?

API Base URL 是接口调用前缀,不是文档页。文档页请访问 https://openapi.jujin.online

Q2:为什么签名失败?

检查 AppId、AppSecret、timestamp、签名公式、sha256 小写结果,以及 Header 中的 x-timestamp 是否与签名使用的 timestamp 完全一致。

Q3:为什么请求已过期?

客户服务器时间和标准时间差距过大。请校准服务器时间。

Q4:为什么推广位越权?

检查 placement_code 是否为举金望分配给当前客户的推广位编码。

Q5:AppSecret 可以放小程序端吗?

不能。AppSecret 只能保存在服务端。

Q6:成功后使用哪个字段?

使用 data.url

15. 技术支持

联调遇到问题,请提供:请求时间、AppId、placement_code、请求 Body、返回结果、错误码。请勿在公开群内发送 AppSecret。