跳转到主要内容
为消费者签发 Session Token 以在您的门店中创建订单。这是 API Key 专属 端点。
POST /v1/actions/auth/issue-session-token
认证方式: API Key

工作原理

  1. 您的服务器使用 API Key 认证调用此端点
  2. 获取一个短效 Session Token
  3. 将 Token 传递给消费者的浏览器
  4. 消费者使用 Token(Authorization: Bearer <token>)创建订单和进行收银台交互
Session Token 限定于单个门店,自动过期。

请求体

字段类型必需说明
storeIdstring目标门店 ID(Short ID 格式 STO_xxx)。与 productId 至少传一个
productIdstring产品 ID(Short ID 格式 PROD_xxx)。提供时可省略 storeId,服务端自动从产品反查门店
buyerIdentitystring消费者身份标识(例如邮箱或内部用户 ID),用于订单归属。写入会话 JWT

请求示例

// 使用 storeId
const { token, expiresAt } = await client.auth.issueSessionToken({
  storeId: "STO_2aUyqjCzEIiEcYMKj7TZtw",
  buyerIdentity: "customer@example.com",
});

// 使用 productId(自动推导 storeId)
const { token, expiresAt } = await client.auth.issueSessionToken({
  productId: "PROD_7J3K5L8M2N4P6Q9R",
  buyerIdentity: "customer@example.com",
});

成功响应 (200)

{
  "data": {
    "token": "opaque-session-token...",
    "expiresAt": "2024-01-15T11:00:00.000Z"
  }
}

响应字段

字段类型说明
tokenstringSession Token
expiresAtstring过期时间(ISO 8601)

错误响应

重试策略:4xx 一律不要重试 — 修正请求后重发。5xx 指数退避重试(起步 5s,最多 3 次)。
状态码errors[0].message含义推荐处理
400Missing required field: buyerIdentitybuyerIdentity 缺失或为空修正请求体后重新提交
400Missing required field: provide storeId or productIdstoreIdproductId 都未提供至少提供其中一个后重新提交
400Expected format: STO_xxx, got "..."storeId Short ID 解码失败修正 storeId 格式后重新提交
400Expected format: PROD_xxx, got "..."productId Short ID 解码失败修正 productId 格式后重新提交
400Store is not active门店存在但状态非 active激活门店后重新提交
401Missing merchantId in request contextAPI Key 认证未解析出 merchant检查 API Key 请求头与签名
403Access denied: you do not have permission to this store商户不拥有该门店验证门店归属
404Store not found门店不存在或已删除验证 store ID
404Product not found产品不存在验证 product ID
500Internal server error服务端意外失败指数退避重试(起步 5s,最多 3 次)