For the complete documentation index, see llms.txt. This page is also available as Markdown.

UserSync API 请求示例与响应

UserSync API 请求

示例

格式 JSON-RPC

http://www.jsonrpc.org/specification

// 
{
    "id": "6164695159717629913",
    "jsonrpc": "2.0",
    "method": "syncUser",
    "params": [
        {
            "isForTest": 1,
            "serviceProvider": "Coda",
            "purchaseOrigin": "TH",
            "user": {
                "userId": "111111",
                "zoneId": "101"
            },
            "signature": "4646fbd3363ab452f40187f8744cd321f71968ed01cdc19c416203832cddd76e"
        }
    ]
}
参数名称
类型
描述

id

字符串

唯一标识此次 API 调用的 ID。

jsonrpc

字符串

固定为 "2.0",符合 json-rpc 标准。

method

字符串

固定为 "syncUser"。

params.serviceProvider

字符串

支付服务提供商名称,默认值为 "Coda",合作伙伴可自定义。

params.isForTest

整数

是否为测试订单的标志:1 表示沙盒测试订单,0 表示真实订单。

params.signature

字符串

根据消息内容生成的签名,详见“签名计算”部分。

params.user.userId

字符串

用户在合作伙伴系统中的用户 ID 或玩家 ID。

params.user.zoneId

字符串

用户的区服 ID(服务器 ID),如无需要,默认值为 ""(空字符串)。

params.purchaseOrigin

字符串

用户发起购买时所在的国家/地区,使用 ISO 两位国家代码(例如 "US"、"SG")。 参考:https://www.iban.com/country-codes

签名计算(Signature Calculation)

所有请求中必须包含签名。请求的签名是对以下字段按正确顺序进行哈希计算的结果:

UserSync API 请求:

id + jsonrpc + method + serviceProvider + userId + zoneId + isForTest

Validate 和 Topup API 请求:

id + jsonrpc + method + serviceProvider + txnId + orderId + userId + zoneId + currency + amount + sku + quantity + paymentChannelId + isForTest (+ roleId)

UserSync API 响应

UserSync API 响应描述了合作伙伴对 UserSync API 请求的回应。

以下为有效及无效 UserSync API 响应的示例。

有效 UserSync API 响应

示例 1:

格式:JSON-RPC

示例 2:

如果发布者希望根据游戏内用户信息发送元数据以展示个性化 SKU 列表

参数名称
描述

id

与请求关联的消息 ID。

jsonrpc

固定为 "2.0",符合 JSON-RPC 标准。

result

表示成功的对象。

result.username

玩家用户名、昵称或其他可用来让用户确认充值账号的信息。例如:唯一玩家 ID 为 “123456789”,用户名可能是 “Terminator123”(不一定唯一)。

result.metadata

发行商可使用该字段补充信息,如用户所属国家、游戏等级、角色列表或角色信息等。(可选)

result.personalisedSkus

用户可见的个性化 SKU 列表。(可选)

result.personalisedSkus.skuId

SKU 的唯一标识符。(可选)

result.personalisedSkus.description

SKU 的名称或描述信息。(可选)

result.personalisedSkus.details

包含 SKU 详细信息的对象。(可选)

result.personalisedSkus.status

SKU 状态: 0 = INACTIVE(锁定/禁用) 1 = ACTIVE(可用) 2 = PURCHASED(已购买)

result.personalisedSkus.details.category

SKU 的分类或子类型。(可选)

result.personalisedSkus.details.price

需要在充值 API 中发送给发行商的价格。(可选)

result.personalisedSkus.details.currency

充值时发送给发行商的货币单位。(可选)

result.personalisedSkus.details.pendingPurchaseLimit

根据当前资格,用户可购买该 SKU 的最大数量。(可选)

result.personalisedSkus.details.validTill

SKU 可购买的截止时间,格式为 YYYY-MM-DD HH:MM:SS。(可选)

result.personalisedSkus.metadata.imageUrl

指向合作方 CDN 中某个 SKU 的图片链接。(可选)

无效 UserSync API 响应

格式:JSON-RPC

参数名称
描述

id

与该响应关联的消息 ID。

jsonrpc

固定为 "2.0",符合 JSON-RPC 标准。

error.code

表示错误原因的代码。

error.message

说明错误情况的消息内容。

最后更新于

这有帮助吗?