purpose: "portal",让已在您站点登录的顾客免邮箱验证进入您门店的客户门户。这是 API Key 专属 端点。
工作原理
- 您的服务器使用 API Key 认证调用此端点
- 获取一个短效 Session Token
- 将 Token 传递给 customer 的浏览器
- Customer 使用 Token(
Authorization: Bearer <token>)创建订单和进行收银台交互
客户门户模式
传purpose: "portal",为已在您站点登录的顾客获取客户门户链接。调用方式不变,以下规则不同:
要让顾客进入门户,把
#token=<token> 拼到 portalUrl 后面,并用 302 把顾客浏览器重定向到拼好的地址。SDK 辅助方法会替您拼好 —— 见让已登录顾客管理订单。
门户 token 绑定其环境。若您还用它调用 Customer Portal API,X-Environment 必须与 API Key 的环境一致;其他值返回 403 Environment mismatch。
不传 purpose 的请求行为与以前完全一致。
请求体
请求示例
成功响应 (200)
purpose: "portal" 时:
响应字段
错误响应
重试策略:4xx 一律不要重试 — 修正请求后重发。5xx 指数退避重试(起步 5s,最多 3 次)。
两个值得知道的坑
不要用同一个幂等键反复签发令牌。 重复调用时发送同一个X-Idempotency-Key 会命中平台的 24 小时幂等缓存 —— 拿回的是第一次的响应,里面的令牌早已过期。SDK 已不再自行生成键,因此这只会发生在你自己设置该请求头时(直连 REST,或两次传了同一个 idempotencyKey)。如果你会为同一买家反复签发令牌(令牌刷新端点、换方案链接生成器),每次用新的键,或干脆不传。
跳转前再签发。 令牌 15 分钟有效(滑动续期),而 checkout / 换方案会话默认有 24 小时。与会话同时签发、然后在队列或邮件里放着的令牌,等买家点开时早就死了。换方案链接的令牌放 URL fragment —— 见构造给买家打开的链接。