S苏哈出行开发者文档

本应用授权与额度查询

首次提供版本:JavaScript 0.1.0-alpha.44,配套查询服务已部署。 alpha.43 没有 getAuthorization(),升级 JS 文件或 npm 包后使用。

调用方式

通过 load() 返回的 sdk 查询,无需再次传 Key。请求沿用初始化时的 Key、数据集和服务地址,只返回该已认证应用的授权信息。

// 前提:已加载 alpha.44,且服务端已部署配套查询接口。
try {
  const info = await sdk.getAuthorization();
  console.log(info.datasetId, info.sourceDatasetId, info.datasetVersion);
  console.log(info.rateLimit.remaining, info.rateLimit.resetsAt);
} catch (error) {
  // 记录错误码、请求 ID;不输出 Key 或令牌。
  console.error(error.code, error.requestId);
}

返回 Promise<AuthorizationInfo>。对应 GET /openapi/v1/authorization,SDK 自动处理认证和公共请求参数。不要轮询该接口代替业务请求失败处理,也不要把返回的剩余额度视为预留成功。

返回字段

字段 类型 含义
datasetId string 当前应用对外使用的数据集标识
sourceDatasetId string 实际绑定的底层图源标识
datasetVersion string 或 null 实际解析的数据版本;没有可用发布版本时可能为空
followsCurrent boolean 是否跟随服务端当前发布版本;false 表示授权固定版本
platform string 应用授权的平台
expiresAt number 或 null 授权到期时间,Unix 毫秒;null 表示未设置到期时间
capabilities string[] 已授予的能力,返回信息不产生额外授权
rateLimit.windowMillis number 请求计数窗口,目前为 60000 毫秒
rateLimit.limit / used / remaining number 当前窗口限额、已用与剩余请求数;查询本身也属于请求
rateLimit.resetsAt number 当前请求窗口重置时间,Unix 毫秒
dataBudget.bytes / byteLimit number 当前 10 分钟数据访问窗口已用字节 / 字节上限
dataBudget.regions / regionLimit number 当前 10 分钟数据访问窗口已用区域计数 / 区域上限
dataBudget.resetsAt number 数据访问窗口重置时间,Unix 毫秒;与请求窗口分别计算
qpsLimit / dailyRequestLimit null 当前不提供独立 QPS 或每日请求额度指标;null 不能解释为 0 或无限制
observedAt number 服务端生成本次观察结果的时间,Unix 毫秒

计数可能因其他并发请求变化;各上限以实际返回为准,不把默认配置写成所有客户的固定承诺。授权允许的数据集和能力仍以服务端校验为准。

失败处理

无效或过期 Key、数据集不匹配、Origin 未登记、额度用尽和网络失败仍通过 SDK 错误返回。遇到限流遵守 retryAfterMillis / Retry-After,勿无限重试。alpha.43 方法不存在或未部署服务返回 404,均不是该客户“无授权”的证明,应先核对发布版本。

本接口只查询当前应用;不包含其他客户信息、Key、管理员权限或平台业务数据。行政区数据、独立骑行和公交能力仍未提供,不能根据授权查询方法存在而推定这些能力已经实现。

初始化与授权 · 接口错误 · 发布状态