跳到主要内容

概览

以下是面向合作方的 Hub REST API,预期由合作方服务端发起调用。

API 端点

Hub API 的端点为:

https://hub-api.seayoo.com
提示

仅提供 HTTPS 端点,不提供 HTTP 端点。

API 规范

Content-Type

Hub API 的请求和响应,Content-Type 均使用 application/json,字符编码为 UTF-8

请求鉴权

所有 API 请求必须携带 Authorization header,使用 SEAYOO-HMAC-SHA256 签名算法进行身份认证。

详见 签名认证

HTTP Status Code

Hub API 将 HTTP Status Code 分为三类:

200

API 调用成功。Response Body 的结构对应每个 API 的 Response 部分。

4xx

对应问题根源在客户端侧的错误,通常不可重试(409 / 429 除外)。

Status CodeRetryableDescription
400 Bad RequestFalse请求不合法,例如请求格式不正确、缺少必需的字段等。
401 UnauthorizedFalse签名验证不通过。
403 ForbiddenFalse合作方已禁用或无权限访问该资源。
404 Not FoundFalse请求的资源不存在。
405 Method Not AllowedFalseHTTP 方法不正确。
409 ConflictTrue并发冲突,例如同一角色与奖励包上有其他发放请求正在处理中,可稍后重试。
429 Too Many RequestsTrue请求过于频繁,被限流。

5xx

对应问题根源在服务端侧的错误,通常可重试。

Status CodeRetryableDescription
500 Internal Server ErrorTrue服务端内部错误。
503 Service UnavailableTrue服务当前不可用。

ErrorResponse

API 调用失败时(非 HTTP 200),Response Body 返回统一的 JSON 结构:

PropertyTypeDescription
errorstring错误类型标识,可用于程序判断和日志记录。
messagestring错误的描述信息,便于排查问题。

示例:

{
"error": "binding_not_found",
"message": "No binding found for the specified partner user and game"
}

请求跟踪

所有 API 响应都会在 HTTP Header X-Trace-Id 中包含一个请求跟踪 ID,便于联调时定位问题。如遇到异常情况,请将此跟踪 ID 提供给世游技术对接人。