NOVA SELECT / PARTNER API
把星选接入你的商城
读取商品与库存,使用自己的星选钱包余额采购,再把实际交付结果发给你的买家。从注册到签名调用,按下面的步骤完成接入。
先开通自己的供货账户
- 注册并验证邮箱。打开会员中心,按页面要求填写邮箱、密码与验证码,阅读并同意站点协议。邮箱支持范围以注册页实时提示为准。
- 登录后提交 API 申请。进入“API 对接”页提交申请。供货权限由站长人工审核,注册成功不代表已获得供货权限。
- 审核通过后保存 Key / Secret。在自己的 API 页面生成 Secret,立即妥善保存完整值。页面平时只展示掩码;重新生成后,旧 Secret 立即失效,需要同时更新商城服务端配置。
- API 审核不收开通费,准备采购余额。在“钱包”页查看余额并按实际开放的方式充值。采购使用你的余额,不使用你买家在下游商城的支付信息。
- 先连通,再导入。用 ping 测试连接,再核对少量商品的 SKU、账户报价、库存、数量限制和买家表单。正式下单会进入真实采购流程。
API 供货与托管分站分别申请。把星选作为自己商城的货源,只需按本页申请供货 API;这不会自动开通代理分站,也不会自动通过审核。
先确认你的商城程序
| 商城程序 | 接入方式 | 当前状态 |
|---|---|---|
| 独角兽 / Dujiao-Next | 选择 dujiao-next 供货协议,填本站根地址及自己的 Key / Secret。 | 支持本文协议的版本可用;下单须发送稳定的 downstream_order_no。 |
| 异次元 / AcgFaka 3.8.5 | 选择原生异次元共享店铺,地址填 https://xingxuan.si/api/v1,使用自己的 app_id 与专用 app_key。 | 兼容本地自动卡密,每个 SKU 独立列为商品。人工、任务、映射采购和买家表单商品不进入该目录。查看具体配置与恢复规则。 |
| 旧独角数卡 / 其他同名程序 | 确认服务端是否支持 Dujiao-Next 1.0 与本文幂等规则。 | 名称相近不能保证接口兼容;无对应协议时需要适配。 |
本页描述的是你的商城向星选进货。星选后台能连接某个外部供货站,代表星选能向它进货,不代表它的商城程序已经能反向向星选采购。
独角兽这样配置
在你的 Dujiao-Next 后台新增上游连接,选择 dujiao-next,完成连接测试后导入商品。实际菜单名称可能随版本不同。
| 配置项 | 填写内容 |
|---|---|
| 供货站根地址 / Base URL | https://xingxuan.si。填写根域名,不重复附加 /api/v1/upstream。 |
| 协议 | dujiao-next / Dujiao-Next 1.0 |
| API Key / API Secret | 自己的会员中心 → API 对接页面提供的凭证;不要使用后台管理员密钥或渠道 Bot 密钥。 |
| 币种 / 可用余额 | 调用 POST /api/v1/upstream/ping 读取,以实际响应为准。 |
| 采购订单唯一号 | 使用自己商城持久保存的采购订单号,作为 downstream_order_no;同单重试保持原号。 |
若连接测试成功、创建订单却返回 invalid_order_key,先检查你的版本是否发送 downstream_order_no。旧客户端只提供 trace_id 不满足采购幂等要求。
请求头与签名
下文业务接口均使用三个签名请求头。Secret 在你的服务端参与签名,不作为参数直接发送;不使用会员登录 JWT 或 Bearer Token。
| 请求头 | 内容 |
|---|---|
Dujiao-Next-Api-Key | 本账户 API Key 原文。 |
Dujiao-Next-Timestamp | Unix 秒级时间戳;客户端与服务端偏差不超过 60 秒。 |
Dujiao-Next-Signature | HMAC-SHA256 结果的小写十六进制字符串。 |
body_md5 = lowercase_hex(MD5(实际发送的请求体字节))
sign_string = METHOD + "\n" + PATH + "\n" + TIMESTAMP + "\n" + body_md5
signature = lowercase_hex(HMAC_SHA256(API_SECRET, sign_string))
METHOD:大写,例如 GET、POST
PATH:/api/v1/upstream/products,不含域名、? 及查询参数
空请求体的 MD5:d41d8cd98f00b204e9800998ecf8427e
分隔符是实际换行,末尾没有额外换行JSON 的空格、字段顺序和 Unicode 编码都会影响签名。先序列化一次,再用同一份 UTF-8 字节签名并发送。空请求体与 {} 不相同;签名不要包含查询字符串。
读取商品、报价与库存
| 方法与完整路径 | 响应 / 用途 |
|---|---|
POST /api/v1/upstream/ping | ok / site_name / protocol_version / user_id / balance / currency / member_level |
GET /api/v1/upstream/categories | categories 数组;分类名称为多语言对象,parent_id 为上级分类。 |
GET /api/v1/upstream/products | items / total / page / page_size / includes_inactive |
GET /api/v1/upstream/products/:id | 指定商品,成功响应字段为 product;这里的 id 是商品 ID。 |
列表参数:page 从 1 开始;page_size 默认 50、最大 50;updated_after 使用 URL 编码后的 RFC3339 时间,如 2026-11-06T00:00:00+08:00;include_inactive=true 可同步下架状态,默认不包含。已下架商品详情仍可能返回 200,请检查 is_active。
| 关键字段 | 处理规则 |
|---|---|
id / skus[].id | 商品 ID 用于查询;采购必须使用 skus[].id 作为 sku_id。持久保存商品与 SKU 映射。 |
price_amount | 两位小数的金额字符串,API 审核通过后按高级供货价返回,无需分站套餐开通费;每个规格与100元分站档位共用供货价。另有 original_price / member_price 可供展示。实际下单会重新核对当前规格和供货价,采购款从本账户钱包支付。 |
min_purchase_quantity / max_purchase_quantity | 保留并验证数量限制;具体规格仍以本站订单校验为准。 |
skus[].stock_status / stock_quantity | 负数为 unlimited;0 为 out_of_stock;1–20 为 low_stock;20 以上为 in_stock。停用商品和 SKU 不能继续售卖。 |
title / description / content | 多语言对象;description 是可读纯文字,content 是富文本详情,需安全渲染。图片可能是相对路径。 |
fulfillment_type / manual_form_schema | 保留交付类型和买家表单定义。不要把全部商品当作无表单、立即交付的卡密。 |
商品库存是快照,映射到更上游的商品可能使用缓存库存。读取失败或返回 stock_unavailable 时,保留上次有效快照并稍后重试;不要把接口故障当成商品删除、价格为零或库存清零。库存快照不保证之后一定能买到。
当前买家表单限制:创建订单接口只对本站存储类型为 manual 的商品传递 manual_form_data。存储类型为 auto 或 upstream 的商品目前不会透传这些字段,可能无法采购依赖必填字段的商品。目录可能显示映射商品的原始交付类型,不能仅凭目录的 fulfillment_type 判断可用。限制解决前,请勿自动上架依赖这类字段的商品。
采购与防重复扣款
POST /api/v1/upstream/orders 创建真实采购单,系统尝试使用本账户钱包余额支付,可能立即扣款并触发交付。没有免扣款测试模式;连接测试使用 ping。
| JSON 字段 | 要求 |
|---|---|
sku_id | 必填,本站返回的有效 SKU ID。 |
quantity | 必填,整数 ≥ 1,还须满足商品数量限制。 |
downstream_order_no | 必填,你商城持久保存的采购唯一号。去除首尾空白后不能为空,最多 64 个 UTF-8 字节,不含控制字符。 |
manual_form_data | 可选 JSON 对象,仅上述支持范围内的商品可用;字段对应 manual_form_schema。 |
callback_url | 可选,公网 HTTP/HTTPS 地址,推荐 HTTPS;不能指向本机或内网。 |
trace_id | 可选,请求追踪号;不替代采购唯一号。 |
{
"sku_id": 900001,
"quantity": 1,
"downstream_order_no": "EXAMPLE-SHOP-ORDER-001",
"manual_form_data": {"account": "示例账号"},
"callback_url": "https://your-shop.example/api/v1/upstream/callback",
"trace_id": "attempt-1"
}- 幂等范围为 API 凭证 + downstream_order_no。同一业务重试保持原订单号、SKU、数量、买家表单与回调地址;只修改
trace_id不构成新采购。 - 同号修改采购内容返回
409 idempotency_conflict。更换订单号会被视为新业务,可能再次扣款。 - 超时、响应丢失或
503 payment_outcome_unknown时,先用响应中的order_id查原单。没拿到 ID,可用原号与原参数重试创建以恢复原单结果,不能换号重购。 - 支付未确认时不会返回
ok:true。补充余额不代表原单会自动再次尝试扣款;先核对原单和钱包流水。 ok:true表示该单已确认支付,仍需查交付;HTTP 200 也可能返回ok:false,必须同时检查业务字段。
以实际交付结果为准
GET /api/v1/upstream/orders/:id 使用本站数字 order_id 查询当前账户的订单,返回 status / amount / refunded_amount / currency / refund_records / procurement_status 等字段。
| 订单状态 | 处理方式 |
|---|---|
pending_payment | 尚未确认支付,不发货,不创建第二笔采购。 |
paid / fulfilling | 已支付,等待或正在履约;低频查单或等回调。 |
partially_delivered | 部分交付,继续核对后续结果,不标记整单已完成。 |
delivered / completed | 交付完成,同时核对 fulfillment。 |
partially_refunded / refunded | 结合本地 refunded_amount / refund_records 处理,避免重复退款。 |
canceled | 原单取消,不继续视为采购成功。 |
{
"ok": true,
"order_id": 900002,
"order_no": "EXAMPLE-ORDER-900002",
"status": "delivered",
"amount": "10.00",
"refunded_amount": "0.00",
"currency": "CNY",
"refund_records": [],
"fulfillment": {
"type": "auto",
"status": "delivered",
"payload": "EXAMPLE-DELIVERY-CONTENT",
"delivery_data": {},
"delivered_at": "2026-11-06T12:00:00+08:00"
}
}交付内容在 fulfillment.payload,可能是卡密、操作说明或任务结果;delivery_data 为附加结构。未交付时 fulfillment 可以不存在,不能当成“空卡密已发出”。任务类和人工处理商品尤其需要等待实际交付。
POST /api/v1/upstream/orders/:id/cancel 只取消符合条件的未付款订单。当前 API 没有主动申请已支付订单退款的独立入口;procurement_status 只是更上游采购状态,不代表你的账户已收到退款。
接收与验证订单回调
采购时可提供 callback_url。本站使用该 API 凭证的 Key / Secret,以 POST JSON 发送 order.status_changed 或 order.fulfilled 事件。先验签,再核对自己的采购号和本站订单 ID,按订单幂等更新。
回调签名 PATH 固定为 /api/v1/upstream/callback。即使你填写的接收 URL 使用其他路径,也按这个固定值验签;这是回调与普通业务请求的区别。使用收到的原始字节验签,检查秒级时间戳,允许偏差不超过 60 秒。
{
"event": "order.fulfilled",
"order_id": 900002,
"order_no": "EXAMPLE-ORDER-900002",
"downstream_order_no": "EXAMPLE-SHOP-ORDER-001",
"status": "delivered",
"fulfillment": {
"type": "auto",
"status": "delivered",
"payload": "EXAMPLE-DELIVERY-CONTENT",
"delivery_data": {}
},
"timestamp": 1793923200
}成功处理后返回 HTTP 200 与 JSON {"ok":true},仅返回文本 success 不算成功。失败最多共尝试 5 次,重试间隔为 30 / 60 / 120 / 300 秒;单次请求约 15 秒超时,不跟随重定向。接收地址应直接返回响应。
回调可能重复、乱序或晚于查单结果;不要因回调重放重复发货或退款。回调没有退款明细,收到状态变化后可再查原单核对金额和记录。没有回调也可以继续低频查单。
可复制的服务端示例
以下代码只在自己的服务端运行。将 XINGXUAN_API_KEY 与 XINGXUAN_API_SECRET 设置为私有环境变量;不要把密钥放进前台脚本、URL、日志或公开仓库。示例直接运行时仅调用 ping,不创建采购单。
import hashlib, hmac, json, os, time
from urllib import request, error, parse
BASE = "https://xingxuan.si"
class NoRedirect(request.HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
def signed_request(method, target, payload=None):
method = method.upper()
parts = parse.urlsplit(target)
if parts.scheme or parts.netloc or not parts.path.startswith("/api/v1/upstream/"):
raise ValueError("Expected a relative Xingxuan API path")
body = b"" if payload is None else json.dumps(
payload, ensure_ascii=False, separators=(",", ":")
).encode("utf-8")
timestamp = str(int(time.time()))
message = "\n".join([method, parts.path, timestamp, hashlib.md5(body).hexdigest()])
signature = hmac.new(
os.environ["XINGXUAN_API_SECRET"].encode("utf-8"),
message.encode("utf-8"), hashlib.sha256
).hexdigest()
return request.Request(BASE + target, data=body if body else None, method=method,
headers={"Content-Type": "application/json",
"User-Agent": "Xingxuan-Upstream-Client/1.0",
"Dujiao-Next-Api-Key": os.environ["XINGXUAN_API_KEY"],
"Dujiao-Next-Timestamp": timestamp,
"Dujiao-Next-Signature": signature})
def call(method, target, payload=None):
req = signed_request(method, target, payload)
try:
with request.build_opener(NoRedirect()).open(req, timeout=30) as response:
return response.status, json.loads(response.read())
except error.HTTPError as exc:
try:
data = json.loads(exc.read())
except (ValueError, UnicodeDecodeError):
data = {"ok": False, "error_code": "non_json_response"}
return exc.code, data
except error.URLError:
# A purchase may already exist. Keep its original order key.
return None, {"ok": False, "error_code": "transport_error"}
if __name__ == "__main__":
status, data = call("POST", "/api/v1/upstream/ping")
print(status, data)
function xingxuanSign(string $secret, string $method, string $path,
int $timestamp, string $body = ''): string {
$path = parse_url($path, PHP_URL_PATH);
$message = strtoupper($method) . "\n" . $path . "\n"
. $timestamp . "\n" . md5($body);
return hash_hmac('sha256', $message, $secret);
}
// $body = json_encode($payload,
// JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
// 将同一份 $body 作为 HTTP 请求体发送,不要再次 json_encode。
// 回调验签时传入固定路径 /api/v1/upstream/callback。
失败时保留原采购身份
| HTTP / error_code | 处理 |
|---|---|
401 · missing_auth_headers / invalid_timestamp / timestamp_expired / invalid_signature | 检查三个请求头、服务端时间、原始 body 字节与签名路径。修正后仍使用原业务订单号。 |
403 · invalid_api_key / user_disabled | 检查人工审核、凭证开关、账户状态及 Secret 是否重置。 |
400 · invalid_order_key / sku_unavailable / product_unavailable / bad_request | 检查采购唯一号、SKU、数量、表单与商品状态。表单支持限制见第 05 节。 |
402 · insufficient_balance | 核对余额和原单;不要通过换采购号重试来绕过原单状态。 |
409 · insufficient_stock / idempotency_conflict / legacy_order_exists / cancel_not_allowed | 按具体错误处理。幂等冲突要核对原请求;遗留订单已存在时按返回 ID 查询,不再创建。 |
503 · payment_outcome_unknown | 采购支付结果待核对。保存响应订单 ID 和原采购号,先查原单;不要新号重购。 |
503 · stock_unavailable;429;网络超时或 5xx | 退避重试。目录保留有效快照;采购保持原号与原参数,拿到订单 ID 后查询原单。 |
200 · ok:false / order_canceled | 原单已取消。HTTP 成功不等于业务成功,始终检查 ok / status / error_code。 |
记录采购唯一号、本站订单 ID、状态与错误码供核对即可。不要记录 Secret、完整认证头或买家的完整敏感表单;对接口失败使用间隔递增的重试,避免高频重复调用。
异次元 3.8.5 接入说明
按官方 lizhipay/acg-faka 3.8.5 稳定版核对,发布时间为 2026-10-28;版本核对日期为 2026-11-06。这里说明该版本所需的兼容范围,未将其他分支或第三方修改版当作官方版本。
兼容范围:本地自动卡密。本站提供异次元共享协议兼容入口,只列出本站本地库存、无买家表单的自动卡密;每个 SKU 会独立显示为一个商品。人工、映射到外部货源的商品、Muse/任务商品与带表单的商品均不在这个共享目录中。只有实际交付的卡密才会作为采购成功返回。
共享店铺配置
在异次元后台新增共享店铺,选择异次元原生共享协议(不要选择其他程序的 Open API 或 SharedStock 插件协议),填写:
| 异次元配置项 | 应填写的内容 |
|---|---|
| 店铺地址 | https://xingxuan.si/api/v1。这里必须保留 /api/v1;异次元会自动追加 /shared/... 路径。 |
| 商户 ID / app_id | 自己的会员中心 → API 对接页显示的异次元 app_id(数字凭证 ID),不是 API Key,也不是会员用户 ID。 |
| 商户密钥 / app_key | 生成 Secret 时页面显示的异次元专用 app_key,为 64 位小写十六进制。不要填写原生 128 位 Secret。 |
| 币种与汇率 | 本站币种以连接和报价响应为准;两端都使用人民币时选择 CNY,汇率为 1。不同币种须按自己的商城规则明确配置结算汇率。 |
先测试连接与余额,再读取共享目录,选择少量商品导入并设置自己的售价。空目录表示当前没有符合上述范围的商品,不能用普通商城目录补进不兼容的商品。
异次元 3.8.5 的商户密钥输入上限为 64 个字符,本站原生 Secret 为 128 位,所以两者分别提供。专用 app_key 的计算为:
app_key = lowercase_hex(SHA256(UTF8("xingxuan/acgfaka/v1\n" + NATIVE_SECRET)))
PHP:
$appKey = hash('sha256', "xingxuan/acgfaka/v1\n" . $nativeSecret);
Python:
app_key = hashlib.sha256(("xingxuan/acgfaka/v1\n" + native_secret).encode("utf-8")).hexdigest()
\n 表示一个实际换行(LF),不要写成两个字符的反斜杠和 n。专用 app_key 仍有采购和余额使用权限,按 Secret 同等保护。它使用同一账户的审核状态;重新生成原生 Secret 后,原生签名与旧的异次元 app_key 都立即失效,需要同时更新两个连接。
两套协议的对应关系
| 异次元 3.8.5 原生共享调用 | 本站已支持的对应能力 |
|---|---|
POST /shared/authentication/connect | 本站完整路径为 /api/v1/shared/authentication/connect,返回 code/msg/data 与 data.shopName / balance / currency_code。 |
POST /shared/commodity/items、item | 完整路径均加 /api/v1。列表为分类树,详情按 code 读取,商品编号为 nova-sku-数字SKU编号。 |
inventory / inventoryState / stock / valuation | 按本地 SKU 返回库存、数量限制与会员/阶梯报价;valuation 返回本次购买数量的总价,不是单价。活动优惠和最终结算仍以实际订单为准。 |
POST /shared/commodity/trade | 接收原版稳定的 request_no,转换为独立命名空间中的固定采购号,复用本站原生的持久幂等和钱包支付流程,不另建扣款系统。 |
响应 data.secret | 只有已实际交付的 fulfillment.payload 才是交付结果;已支付、等待处理或请求超时不能转换成成功卡密。 |
上述 8 个接口均为表单 POST,携带 app_id / app_key / sign;使用异次元的 MD5 参数签名,不混用原生 HMAC 请求头。签名规则为:移除 sign,按顶层参数名排序,移除值为空字符串的顶层参数,计算 md5(urldecode(http_build_query(params) + "&key=" + app_key))。app_key 自身也在被签名的参数中。原版程序会自动完成这些步骤。
item / stock / valuation 使用 code;inventory 使用 sharedCode;inventoryState / trade 使用 shared_code。数量字段为 num。商品已按 SKU 展开,race 为空、card_id 为 0、不再传额外 SKU 选择;不支持卡号预选或买家表单。接口错误也返回 JSON code/msg/data,必须检查 code,不能只看 HTTP 200。
交付方式决定适配方案
原版异次元收到共享采购的 secret 后直接将本地订单标记为已交付。本站兼容入口会在原生支付后等待本地卡密交付,最多再等待约 10 秒,给原版约 30 秒的 HTTP 请求时限留出处理和网络余量。返回 code:200 时,data.secret 才是真实已交付内容。
处理中、超时或连接中断时,停止自动重新采购。code:202 表示原单仍在处理,code:502 可能表示已标记交付但缺少有效卡密。保存 data.order_id / order_no 与原始 request_no,在会员中心核对或用原生查单接口查询;同一请求号重试只恢复原单,不再次扣款。不要新建另一个下游订单来试。
原版异次元可能在共享调用报错后回滚本地订单;买家再次购买会生成新的订单号,从而形成另一笔真实采购。本站无法把两个不同的请求号自动判断为同一业务。未知结果必须人工核对原单,不能把错误提示理解为“尚未扣款”。
原生共享调用不支持本站的异步状态回调。要经营人工、任务或其他延迟交付商品,下游需要支持 Dujiao-Next 的插件,持久保存采购号与订单 ID,处理查单、回调和退款;带买家字段的商品还须先满足第 05 节说明的表单支持范围。此类商品不属于本页异次元原生共享兼容范围。
官方协议核对来源
Muse AI 成品号专属邮箱接码 API 与白标对接
针对本站供应的 Muse AI 10亿 / 310亿成品账号(@outlook.com 原生直注邮箱),本站提供免密令牌接码页(https://xingxuan.si/a/{token})、纯 JSON 接码 API 以及代理商白标嵌入方案,同时支持提取 6 位 Meta 登录验证码与 8 位帐户恢复安全确认码。
独立接码对接工具箱:您也可以直接访问 https://xingxuan.si/api/v1/docs 使用在线批量接码域名替换器,或一键下载白标接码单页 whitelabel.html 部署到您自己的域名下。
方式 A:Nginx 反向代理白标绑定(推荐代理商使用)
在您自己的域名 Nginx 配置中加入以下两段反向代理,即可将卡密中的 https://xingxuan.si/a/xxxx 直接替换为 https://您的域名.com/a/xxxx,客户全程只看到您的域名:
location ^~ /a/ {
proxy_pass https://xingxuan.si/a/;
proxy_ssl_server_name on;
proxy_set_header Host xingxuan.si;
proxy_set_header X-Real-IP $remote_addr;
}
location ^~ /api/v1/code/ {
proxy_pass https://xingxuan.si/api/v1/code/;
proxy_ssl_server_name on;
proxy_set_header Host xingxuan.si;
proxy_set_header X-Real-IP $remote_addr;
}方式 B:纯 JSON 验证码读取接口(供自研前端或 TG 机器人调用)
| 接口项 | 说明 |
|---|---|
| 请求方式与路径 | GET https://xingxuan.si/api/v1/code/{token_or_email}(无需鉴权头,{token_or_email} 可传卡密接码链接末尾的专属加密 Token 或绑定邮箱) |
| 跨域支持 | 默认返回 Access-Control-Allow-Origin: *,前端网页或后端脚本均可直接调用 |
| 返回字段 | ok: true、email(脱敏或对应邮箱)、code(最新 6~8 位验证码)、subject(邮件标题)、receivedAt(收件时间 ISO 字符串) |
{
"ok": true,
"email": "ExampleUser123@outlook.com",
"code": "839201",
"subject": "Your Meta confirmation code is 839201",
"receivedAt": "2026-11-11T08:30:12Z"
}Muse AI 邀请码自动助力充值与实时查单 API
如果您从本站批发采购了 Muse AI 助力卡密(M1... 或 NV1-... 格式,每张或每份对应 +10 亿 Token,最高可叠满 30 次升至 310 亿满级母号),除了让客户前往 https://xingxuan.si/muse 自助兑换外,您也可以在自己的发卡网或机器人中直接调用以下公开 API 为客户提交充值并实时查询进度:
1. 提交卡密与邀请码内置直充
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
POST 地址 | https://xingxuan.si/api/muse-pool/public/redeem(Content-Type: application/json) | ||
inviteCode | string | 是 | 客户的 6 位大写字母+数字 Muse 邀请码(如 A1B2C3) |
voucherCode | string | 是 | 从本站采购的充值卡密(支持单张或多张以空格/换行分隔批量合并提交,如 M1XXXX NV1-YYYY) |
// POST https://xingxuan.si/api/muse-pool/public/redeem
// Request Body:
{
"inviteCode": "A1B2C3",
"voucherCode": "NV1-8F9A2B4C6D1E"
}
// Response (200 OK):
{
"ok": true,
"message": "兑换成功!已排入内置自动充值队列",
"order": {
"ticket": "2B113FF6",
"inviteCode": "A1B2C3",
"uses": 10,
"done": 0,
"status": "queued"
}
}2. 实时查询邀请码或卡密充值进度
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
GET 地址 | https://xingxuan.si/api/muse-pool/public/query?q={inviteCode_or_voucherCode} | ||
q | string | 是 | 客户的 6 位邀请码(A1B2C3)、工单号(ticket)或充值卡密 |
{
"ok": true,
"order": {
"ticket": "2B113FF6",
"inviteCode": "A1B2C3",
"uses": 30,
"done": 18,
"status": "running"
}
}