新启用的接口域名优化了自2015年至今的一些遗留问题,以及对其他各方面都进行了升级。如果您当前请求接口用的是老域名(api.tianapi.com),建议在下次项目迭代时更换到apis.tianapi.com新域名,并重新查看接口文档略调接口返回的公共参数(主要为newslist[]数组调整为result{}对象)。同时,老域名将延期维护到2025年10月,之后将根据实际情况作出调整并发布公告,建议关注“天行数据云服务”微信公众号。
早期平台内所有接口返回的JSON数据都是封装在newslist这个特殊数组中。本次优化对新域名下的JSON数据结构进行了调整,更加语义化。新老域名返回结果集(列表)时结构对比,点击图片放大查看:
新老域名返回结果项(单个)时结构对比:
新域名当接口返回的数据是结果项时可以直接result[key]方式调用,如果含有结果集时会嵌套在result对象下的list数组中。
新域名返回结果集时数据结构:
{ "code": 200, "msg": "success", "result": { "list": [ { "id": "0decc4d9b8cde282", "ctime": "2015-07-17", "title": "那个抱走王明涵的,你上微信吗?看完这个你会心软吗?", "description": "中国传统文化", "type": "学霸族" } ] } }
新域名单结果项时数据结构:
{ "code": 200, "msg": "success", "result": { "reply": "亲爱的主公你好,我叫小天!", "datatype": "text" } }
接口文档已全部更新为新域名示例,新老域名公共参数有较大差异,应用参数基本一致。
以PHP代码举例,新域名的调用方式:
社会新闻等API返回结果集时,将原来的遍历数组$data['newslist']替换成$data['result']['newslist']:
$data = json_decode($tianapi_data,true); //将json解析成php变量 foreach($data['result']['newslist'] as $list) { //遍历数组数据集,新域名列表在result对象下的newslist或list数组中 echo $list['title']; //输出新闻标题 }
天行机器人等API返回单结果项时,将原来的$data['newslist'][0]['reply']替换成$data['result']['reply']:
$data = json_decode($tianapi_data,true); //将json解析成php变量 echo $data['result']['reply']; //输出机器人回复,新域名单行数据集直接包含在result对象中
新旧域名的主要差异如下表:
旧域名api.tianapi.com | 新域名apis.tianapi.com | |
---|---|---|
接口返回的JSON数据结构 | 数据包含在newslist[]数组中,例如:{"newslist":[{"title":"标题"}]} | 数据包含在result{}对象中,例如:{"result":{"title":"标题"}},结果集则嵌套在result对象下的list[]数组中 |
是否支持2023年后上线的接口 | 不支持 | 支持 |
接入点(接口的功能集合)① | 兼容一个主接入点 | 全部接入点 |
接口功能升级或新增应用参数 | 不增加 | 增加 |
普通会员调用免费接口频率 | 2QPS | 10QPS |
维护周期 | 2025.10.01后(逐步停止维护)② | 永久 |
① 同一个接口的不同功能组通过不同接入点实现 ② 付费会员、计次类接口暂不受维护周期影响 |
其他提示:
以快递接口为例,老域名的接口URI主要有以下三种形式,均可使用:
1,https://api.tianapi.com/kuaidi/ 2,https://api.tianapi.com/txapi/kuaidi/index 3,https://api.tianapi.com/kuaidi/index
新域名的全部接口统一为以下URI形式:
1,https://apis.tianapi.com/kuaidi/index
新老域名只有返回数据的json结构公共参数部分略有调整,其他如出口IP等均无任何变化。
系统将会在维护周期结束前,通过微信服务号(天行数据云服务)、EMail等方式发送提醒。