1. 参数约定

为了程序测试方便,所有接口,就算出错,不论出什么错,在result字段也要回id字段。所以在处理代码的开头就把result里的id放置好。

index.php也要尽力把id字段放回到$result里。

1.1. 请求参数

地球号接口的字段有一套的规则,规定了一系列固定参数。地球号接口参数分为四部分:用户业务参数,网关常量参数,SDK参数,令牌参数。业务参数是用户在调用API请求时发送的业务参数。网关参数是请求在经过网关时,网关自动添加的参数。主要用来辅助权限控制。SDK参数是API请求调用时,SDK自动添加的参数。这些参数对统计,分析,定位

[!note|label:为什么AG所有可选参数必须配置默认?] 为了FC的index能够方便的检查各种请求的参数,FC要求所有AG的可选参数必须配置默认,因为如果不配置默认,参数就不会头传到FC。所以FC所有参数必须配置默认参数。


[!note] 注意命名规则,XduaApiZoneAstate的命名是个简称,表示XduaApiAssertZoneState,因为太冗长,所以简化成Astate。

字段 位置 类型 样例 说明
用户业务参数
XduaApiVersion head string API版本。用户自行填充,或者封装在SDK里。如果不指定,网关自动填充成1.0.0
XduaClientDev head string 请求设备的序列号.例如"mac:1e479fee578f"这样的字符串
XduaAcceptLang head string 客户端希望接受到的返回语言类型: zh=中文,en=英文0。默认使用中文
Authorization head string JWT令牌
网关配置常量
XduaApiEnable head string true "true"=接口使能/"Api Not Supported"=接口不支持(根本就没有这种接口)/"Api Not Implemented"=接口未实现 (还没有开发出来,未来会开发)
XduaApiAstates head string 1,3 按照app,zone,corp,shop,user,token的顺序,以半角逗号,隔开,每个是个字符串,如13,13,035分别表示各个要求的状态。app必须处在的状态。以半角逗号,隔开,表示或者关系。*表示对这个状态不检查。
XduaApiColor head string X/R/G/B X/R/G/B/A/D,API要求的令牌颜色。API要求的令牌颜色。 XRGB允许司中颜色令牌与或者*允许所有颜色的令牌。
XduaApiTokenType head string A/U A/U。API要求的令牌类型.A代表app是应用令牌,U代表usr是用户令牌。
XduaApiAudience head string aHEVYhE1 API要求的令牌受牌方,例如,社区(zone)操作的API要求令牌的持有者(aud字段)必须是"aHEVYhE1"这个应用app_id
XduaApiSubject head string AnoNymuS/*/u/i API要求的令牌订阅者,地球号的所有算法服务,数据服务,登录服务,验码服务API要求令牌必须是匿名令牌。地球号的平台服务要求令牌不能是匿名令牌。 *表示所有人都可以访问,u(小写)表示所有登录的用户可以访问,i(小写)表示只有创建者自己可以访问.其次AnoNymuS表示匿名者可以访问,剩下如果还是8个字母,表示用户ID。只有这个ID才可以访问这个接口
XduaApiShop head string XdUaXduA API要求的令牌店铺必须是哪些店铺。
XduaApiRoles head string Root,God API允许访问者的角色列表,半角逗号隔开。有些系统服务要求必须是Root,God才可以操作。
XduaApiAction head string CreateZone 接口允许的动作列表,半角逗号隔开
XduaApiRule head string CreateZone 接口要求的权限,注意,接口可能不要求任何权限,像AddLogon就不需要任何权限。
XduaApiHttpSchema head string HTTP/HTTPS API要求访问的协议类型,因为网关传来的是大写,所以必须大写。
XduaApiResource head string login API要操作的地球号资源名称。API要操作的地球号资源名称。地球号里所有API都可以归类成对资源的操作,例如登录login就是一种资源。
XduaApiKparam head string by+/+ustr API接口关键参数提取模板。API接口关键参数提取模板。提取关键参数用来存放到日志表里。
网关自动填充参数
CaClientIp head string 客户端的IP
CaClientUa head string 客户端的UserAgent
CaDomain head string 客户端的域名
CaRequestHandleTime head string 请求经过网关时的Unix时间。如果后端需要对请求进行时间戳校验,可以在 API 定义中选择系统参数 “CaRequestHandleTime” ,值为网关收到请求的格林威治时间。
CaAppId head string API授权的应用ID。例如'6151834'
CaRequestId head string API请求的ID。例如6079D3AC-93F8-4297-8853-3CAAAA14044F
CaApiName head string API在网关控制台的名字。AddLogin
CaHttpSchema head string API的协议。必须是大写HTTP或者HTTPS
CaProxy head string 'AliCloudAPIGateway'
CaCloudMarketInstanceId head string 市场ID。这个参数不是必须的,在后端不做必须性检查。似乎,只有上了云市场才有这个参数
令牌参数 参考令牌格式
CaOpenId.aud head string 参考令牌格式
CaOpenId.iss head string 参考令牌格式
CaOpenId.iat head string 参考令牌格式
CaOpenId.sub head string 参考令牌格式
CaOpenId.exp head string 参考令牌格式
CaOpenId.jti head string 参考令牌格式
CaOpenId.nbf head string 参考令牌格式
CaOpenId.clr head string 参考令牌格式
CaOpenId.ipm head string 参考令牌格式
CaOpenId.dvm head string 参考令牌格式
CaOpenId.own head string 参考令牌格式
CaOpenId.tid head string 参考令牌格式
CaOpenId.typ head string 参考令牌格式
CaOpenId.tag head string 参考令牌格式
CaOpenId.api head string 参考令牌格式
CaOpenId.bug head string 参考令牌格式
CaOpenId.zone head string 参考令牌格式
CaOpenId.corp head string 参考令牌格式
CaOpenId.shop head string 参考令牌格式
CaOpenId.role head string 参考令牌格式
CaOpenId.rule head string 参考令牌格式

1.2. POST参数

在地球号设计里POST接口是创建资源用的,创建资源的字段有很多是公用的。这里列举一些公用的字段。这些字节的长度限制是全局有效的。

字段名 位置 类型 说明 描述
name body String 姓名 32个字节
avatar body String 头像 40个字节
brief body String 描述 64个字节

[!note|style:flat|label:avatar为什么要小于40字节?|iconVisibility:hidden] 因为md5码是32个字节,加上一个.号,后面可能的jpeg,webp后缀,40个字节足够了。除非各个接口有意指定这个接口的长度。

{
    "id":"创建资源的id"    
}

1.3. DELETE参数

在地球号设计里DELETE接口是删除资源用的,删除资源的ID字段是确定的。

字段名 位置 类型 说明 描述
id path String 资源ID 8字节资源ID
{
    "id":"删除资源的id"    
}

1.4. PUT参数

在地球号设计里PUT接口是修改资源用的,修改资源的ID字段是确定的,还有修改的内容放置在updates里

字段名 位置 类型 说明
id path String 资源ID
updates body Json String 字典表达的修改内容

返回格式

{
    "id":"修改的资源的ID",
    "updates":[
        {"field":"字段名","old":"旧值","new":"新值"}
    ]
}

1.5. GET参数

在地球号设计里GET接口是详情资源用的,详情资源的ID字段是确定的,这里要注意,详情需要的fields字段和query一样。

字段名 位置 类型 说明
id path String 资源ID
fields query String 详情需要的字符串
format query String 返回结果的格式。默认是"raw"。这是个隐藏字段,为未来而设。

[!note|style:flat|label:为什么查询返回里要有where字段?|iconVisibility:hidden] where字段必须是字典,返回where是为了让客户端更好的调试。

返回格式

{
    "id":"修改的资源的ID",
    "format":"raw",
    "data":{
        {"field":"value1"}
    }
}

results matching ""

    No results matching ""