API-V5 接口说明
1.通用接口标准
传输协议标准
- “灵川ADP大数据平台”提供在线的互联网服务,为开发者提供http/https接口,方便开发者与平台进行交互。
- 服务器提供http/https形式的访问接口,通过POST的方式,以JSON格式传递参数。
- 采用同步请求响应的模式提供返回数据。请求方将参数存放在规定的参数名中,发送给目标接口URL,接口的后端服务响应后会将结果返回给请求方。
数据格式标准
- 所有API接口统一采用 POST JSON 的请求方式
- 所有API接口返回内容统一采用 JSON 数据格式
- 文本编码统一为 utf-8
- 客户端请求
"Content-Type"需为"application/json" - 服务端返回
"Content-Type"均为"application/json"
访问接口标准
- 接口支持HTTP/HTTPS协议
- 接口仅支持POST方法进行调用
- 请求参数仅支持 JSON 格式的 BODY 内容
- 请求包含:公共参数 + 具体服务的特定参数
公共参数说明
- 公共参数的功能主要为身份认证,防止非法请求通过API访问系统功能
- 公共参数均在 HTTP HEADER 中,服务器通过 HEADER 中的信息进行身份认证
- 公共参数有如下几个:
| 参数名称 | 参数格式 | 参数描述 | 是否必需 | 备注 |
|---|---|---|---|---|
| hl_appkey | 字符串 | 用户appkey | 是 | 由灵川提供的用户身份识别码,参与认证签名计算 |
| hl_time | 字符串 | 当前时间 | 是 | 当前北京时间,参与认证签名计算,格式为 “yyyy-mm-dd HH:MM:SS” |
| hl_sign | 字符串 | 认证签名 | 是 | 安全加密认证的参数, 请查看下面的具体说明 |
- 注意:上面参数均为系统保留字,请不要在其他参数中使用上述名称
- 以上三个参数每个接口都要使用,
hl_sign认证签名的生成方法,请参考后面章节 - [非必需]建议发送http请求访问接口时,Headers中设置
"Accept-Encoding:gzip"
关于认证签名的生成
- 每次调用 API 接口时,需要提供一个
hl_sign 认证签名参数,用于认证此次请求的合法性 - 灵川会为每位客户提供一个 appkey 及与其对应的一组密钥(secret)
- 客户端发起请求前,需要利用这组密钥来生成
hl_sign的加密签名字符串,与请求一同提交给服务器
签名生成方法
- 客户端请求包括以下三部分:请求接口的 URL地址,公共参数(HEADER内),具体服务特定参数(JSON内)
- 灵川API v5 接口统一使用的地址前缀为
https://api.hylanda.com/v5/ - 下面以
https://api.hylanda.com/v5/xuanzhi/media/publish_count接口(炫知媒体发稿量)为例,介绍生成步骤: -
首先,假设您已经从灵川获得了appkey及secret,如下
appkey : 123456789012345467890 secret : HZUQs7gLxQ1nFT0rKdSu0YuilGkkMF2T -
确定要调用的接口URL路径(完整URL去除域名),例如上述接口URL路径为
/v5/xuanzhi/media/publish_count - 将当前时间格式化为字符串(北京时间精确到秒),作为
hl_time参数的值 -
将接口的 公共参数 及 POST-JSON字符串 罗列出来(不含
hl_sign),即 hl_appkey、hl_time、json 三者,例如如下形式(还是以炫知媒体发稿量接口为例):hl_appkey : 123456789012345467890 hl_time : 2021-12-01 16:55:48 json : {"date": "2021-11-06", "name": "新华网", "type": "standard_media_name"} -
将 “参数名” 和 “参数值” 使用 “&” 和 “=” 做字符串拼接(注意:要保持上面的顺序),像这样:
hl_appkey=xxxxxxx&hl_time=xxxxxxxx&json=xxxxxxxxx
请注意:上述字符串拼接好后,不需要再进行其他处理,输出一个码制为UTF-8的字符串即可
重要:json部分有空格换行也不要紧,原样拼入上述字符串即可,但一旦拼好了,拼入字符串的这部分json,必须和最终POST的json一模一样,不能在POST时再追加或删减任何字符,包括空格、换行等
上例中,拼接后的字符串如下:
hl_appkey=123456789012345467890&hl_time=2021-12-01 16:55:48&json={"date": "2021-11-06", "name": "新华网", "type": "standard_media_name"} -
在字符串前面拼接上URL路径,并加上 “?” 符号连接,像这样:
/v5/xuanzhi/media/publish_count?hl_appkey=123456789012345467890&hl_time=2021-12-01 16:55:48&json={"date": "2021-11-06", "name": "新华网", "type": "standard_media_name"} -
在字符串尾部直接拼接上密钥(secret),像这样:
/v5/xuanzhi/media/publish_count?hl_appkey=123456789012345467890&hl_time=2021-12-01 16:55:48&json={"date": "2021-11-06", "name": "新华网", "type": "standard_media_name"}HZUQs7gLxQ1nFT0rKdSu0YuilGkkMF2T(这里假设 “HZUQs7gLxQ1nFT0rKdSu0YuilGkkMF2T” 是您的密钥)
-
将上述整个字符串计算 MD5 值,作为
hl_sign参数的值,加入请求参数中(若MD5函数需要unicode转码,像python之类,使用 UTF-8 转码即可)temp_string = '/v5/xuanzhi/media/publish_count?hl_appkey=123456789012345467890&hl_time=2021-12-01 16:55:48&json={"date": "2021-11-06", "name": "新华网", "type": "standard_media_name"}HZUQs7gLxQ1nFT0rKdSu0YuilGkkMF2T' hl_sign=md5(temp_string) ----计算MD5得出: hl_sign=f2b1add46f07dfe07a8231195f581f76 ----请注意:此`hl_sign`值有效期为`hl_time`开始的300秒内 -
用POST JSON标准方式,输入公共参数和服务特定参数,发送给指定 API 接口即可:
POST https://api.hylanda.com/v5/xuanzhi/media/publish_count HEADERS: 'Content-Type: application/json' 'hl_appkey: 123456789012345467890' 'hl_time: 2021-12-01 16:55:48' 'hl_sign: f2b1add46f07dfe07a8231195f581f76' BODY: {"date": "2021-11-06", "name": "新华网", "type": "standard_media_name"}
请注意:无论任何情况下,请保护您的密钥(secret),不要在网络上明文传输,或发送给任何单位和个人,由此产生的损失将由泄密方承担。
通用返回信息
灵川API接口的返回信息体的基本JSON结构如下
{
"res":0, //返回码,正常一般返回0,非零为各种异常情况,有时特殊接口会使用特殊返回值
"msg":"服务返回信息",
"特定服务其他返回字段":""
}
通用错误返回信息说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 401 | { "res": 401, "msg": "data truncated (数据出错)" } |
传输的数据错误, 可能是通讯过程出现问题,尝试重试解决 |
| 401 | { "res": 401, "msg": "no JSON (未收到 POST JSON 数据)" } |
服务器没有收到接口参数数据, 请检查客户端参数 |
| 403 | { "res": 401, "msg": "validate clock failed (请求时间字段不存在或不合法)" } |
请检查hl_time参数,服务器仅响应 hl_time在最近300秒内的请求;也有可能是POST方式错误, 服务器没有接到 hl_time字段 |
| 403 | { "res": 403, "msg": "missing signature field (缺少认证所需签名字段)" } |
请检查hl_appkey,hl_time,hl_sign参数是否漏发,请补全后重试 |
| 403 | { "res": 403, "msg": "missing credential (未找到该用户的证书)" } |
请检查hl_appkey字段是否填错,系统没有找到对应用户的证书 |
| 403 | { "res": 403, "msg": "signature not same (签名校验失败)" } |
hl_sign签名校验失败,请检查 hl_sign的生成逻辑是否有误 |
| 200 | { "res": -1, "msg": "您没有调用此接口的权限" } |
授权信息无权访问此接口,请与相关人员确认您是否有权调用 |
调用接口的代码样例(python3)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Created by chy on 2020/12/29 18:04
"""
本代码仅供向客户演示灵川APIv5的调用方法
代码可以任意截取、复制到您的系统中
但本代码仅供演示调用方法,所用函数、库等并不一定是最优的,请使用此代码的开发人员根据自己系统的特点自行修改
"""
import datetime
import hashlib
import json
import requests
if __name__ == "__main__":
appkey = "这里填写你的appkey"
secret = "这里填写你的密钥"
# api_path 这里填写您要调用的api相对路径(不包含域名的部分) 这里只是个例子,请不要照搬
api_path = "/v5/xuanzhi/media/publish_count"
url = "https://api.hylanda.com"+api_path
headers = {
"Content-Type": "application/json",
"hl_appkey": appkey,
"hl_time": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}
data = {
# 这里填写您要调用的API的参数,参数名和参数值都请参考对应的接口说明里写,这里只是一个例子,请不要照搬
"date": "2021-11-06",
"name": "新华网",
"type": "standard_media_name"
}
#将json对象dumps成为字符串
str_data_json = json.dumps(data, ensure_ascii=False)
#拼接用来计算md5的字符串
str_temp = f"{api_path}?hl_appkey={headers['hl_appkey']}&hl_time={headers['hl_time']}&json={str_data_json}" + secret
#计算md5
m = hashlib.md5()
m.update(str_temp.encode("utf8"))
#将算好的md5放进headers中
headers["hl_sign"] = m.hexdigest()
#开始请求接口
resp = requests.post(url, str_data_json.encode("utf-8"), headers=headers, timeout=30)
print(resp.status_code)
if resp is not None:
print( resp.json())
调用接口的代码样例(JAVA)
"""
本代码仅供向客户演示灵川APIv5的调用方法
代码可以任意截取、复制到您的系统中
但本代码仅供演示调用方法,所用函数、库等并不一定是最优的,请使用此代码的开发人员根据自己系统的特点自行修改
"""
/**
* 计算sign值类
*/
import com.alibaba.fastjson.JSONObject;
import java.security.MessageDigest;
import java.util.Map;
import java.util.TreeMap;
public class ApiV5SignUtil {
public static String API_HOST = "https://api.hylanda.com";
public static String APPKEY = "这里填写你的appkey";
public static String SECRET = "这里填写你的密钥";
/**
* url为api除去域名的地址,如 /v5/xuanzhi/analysis/profile
*
*/
public static String getSign(String url, String hl_time, JSONObject param) {
String sign_str = url + "?hl_appkey=" + APPKEY + "&hl_time=" + hl_time + "&json=" + param + SECRET;
return MD5(sign_str).toLowerCase();
}
public final static String MD5(String s) {
char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
try {
byte[] btInput = s.getBytes("UTF-8");
// 获得MD5摘要算法的 MessageDigest 对象
MessageDigest mdInst = MessageDigest.getInstance("MD5");
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
return new String(str);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
/**
* 请求样例类
*/
import com.alibaba.fastjson.JSONObject;
import okhttp3.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* <dependency>
* <groupId>com.squareup.okhttp3</groupId>
* <artifactId>okhttp</artifactId>
* <version>4.9.0</version>
* </dependency>
*
*/
public class HttpUtil {
private static Logger logger = LoggerFactory.getLogger(HttpUtil.class);
private static OkHttpClient getClient() {
return new OkHttpClient.Builder().readTimeout(60, TimeUnit.SECONDS).build();
}
public static String postJsonV5(String sub_url, JSONObject params) {
RequestBody body = RequestBody.create(params.toJSONString(), MediaType.get("application/json; charset=utf-8"));
String hl_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String hl_sign = ApiV5SignUtil.getSign(sub_url, hl_time, params);
Request request = new Request.Builder()
.url(ApiV5SignUtil.API_HOST + sub_url)
.header("hl_appkey", ApiV5SignUtil.APPKEY)
.header("hl_time", hl_time)
.header("hl_sign", hl_sign)
.post(body)
.build();
try(Response response = getClient().newCall(request).execute()) {
if (response.code() == 200)
return response.body().string();
else
logger.error("--- http请求失败, code: " + response.code() + ", url: " + sub_url + ", params: " + params);
}
catch (IOException e){
logger.error("--- http请求异常: ", e);
}
return "";
}
}
2.炫知系统接口
2.1 炫知-媒体发稿量
POST https://api.hylanda.com/v5/xuanzhi/media/publish_count
测试地址:https://api.hylanda.com/v5/help/util/try/#!/xuanzhi/XZ_Media_Publish_Count
接口描述
- 查询媒体在某天的发稿量
- 请注意:日期应在30日内
接口参数
灵川APIv5接口参数统一使用POST JSON 方式传递
| 参数名 | 位置 | 类型 | 描述 | 默认值 |
|---|---|---|---|---|
| hl_appkey 必需 |
HEADERS | string | 鉴权用,灵川分配的appkey,参考《通用接口标准》 | |
| hl_time 必需 |
HEADERS | string | 鉴权用,当前时间,参考《通用接口标准》 | |
| hl_sign 必需 |
HEADERS | string | 鉴权用,签名校验码,参考《通用接口标准》 | |
| date 必需 |
BODY-JSON | string | 获取哪天的发稿量 | 无 |
| name 必需 |
BODY-JSON | string | 获取哪个媒体的发稿量 | 无 |
| type 必需 |
BODY-JSON | enum | 获取发稿量的类型,一般使用standard_media_name,其他详见说明 | 无 |
BODY-JSON样例
{
"date":"2021-11-06",
"name":"新华网",
"type":"standard_media_name"
}
其他参数细节
| type 参数可选项 | 说明 |
|---|---|
| standard_media_name | 使用标准化后的媒体名称查询 |
| media_name | 使用未标准化的媒体名称查询 |
正常响应的返回数据
{
'res': 0, //正常返回均为0
'msg': '请求成功',
'data': { //data字段内为JsonObject,内部为查询结果
'date': '2021-11-06',
'name': '新华网',
'type': 'standard_media_name',
'publish_count': 2532 //查询到新华网媒体在2021年11月6日的发稿量为2532
}
}
错误返回信息说明
通用错误信息,请参考《通用接口标准》
下面为本服务特有的错误反馈说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 200 | { "res": -1, "msg": "具体错误信息" } |
2.2 炫知-新闻传播分析数据
POST https://api.hylanda.com/v5/xuanzhi/analysis/news
POST https://api.hylanda.com/v5/xuanzhi/analysis_plus/news (高级版)
测试地址:https://api.hylanda.com/v5/help/util/try/#!/xuanzhi/XZ_Analysis_News
接口描述
- 根据新闻的url查询新闻传播分析数据
接口参数
灵川APIv5接口参数统一使用POST JSON 方式传递
| 参数名 | 位置 | 类型 | 描述 | 默认值 |
|---|---|---|---|---|
| hl_appkey 必需 |
HEADERS | string | 鉴权用,灵川分配的appkey,参考《通用接口标准》 | |
| hl_time 必需 |
HEADERS | string | 鉴权用,当前时间,参考《通用接口标准》 | |
| hl_sign 必需 |
HEADERS | string | 鉴权用,签名校验码,参考《通用接口标准》 | |
| url 必需 |
BODY-JSON | string | 新闻的url |
BODY-JSON样例
{
"url":"https://news.sina.com.cn/gov/2021-12-03/doc-ikyakumx1800581.shtml"
}
其他参数细节
暂无
正常响应的返回数据
{
"res": 0,
"msg": "请求成功",
"data": {
"news_list": [{
"area": "兰州",
"site_type": "省级网站",
"standard_content_media_name": "人民网",
"release_date": "2021-12-03 16:36:18",
"author": "俞懿春、姜波、姜宣、",
"media_name": "每日甘肃网",
"title": "国际人士积极评价中国共产党坚持与时俱进",
"content_media_name": "人民网",
"url": "http://china.gansudaily.com.cn/system/2021/12/03/030454514.shtml",
"standard_media_name": "每日甘肃网"
}...],
"desc"(高级版): {
"release_date": "2021-12-03 05:08:00",
"reship_count": 69,
"spanfmt": "11小时35分",
"tp_count": 137,
"peak_list": [{
"peakend": "2021-12-03 16:36:18",
"peakstart": "2021-12-03 11:00:59",
"count": 82
}...],
"tpv": 2410,
"title": "国际人士积极评价中国共产党坚持与时俱进",
"reship_list": [{
"count": 78,
"media_name": "人民网"
}...],
"peak_count": 6
}
}
}
错误返回信息说明
通用错误信息,请参考《通用接口标准》
下面为本服务特有的错误反馈说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 200 | { "res": -1, "msg": "具体错误信息" } |
2.3 炫知-事件传播力分析数据
POST https://api.hylanda.com/v5/xuanzhi/analysis/keywords
POST https://api.hylanda.com/v5/xuanzhi/analysis_plus/keywords(高级版)
测试地址:https://api.hylanda.com/v5/help/util/try/#!/xuanzhi/XZ_Analysis_Keywords
接口描述
- 根据事件的关键词查询事件传播数据
接口参数
灵川APIv5接口参数统一使用POST JSON 方式传递
| 参数名 | 位置 | 类型 | 描述 | 默认值 |
|---|---|---|---|---|
| hl_appkey 必需 |
HEADERS | string | 鉴权用,灵川分配的appkey,参考《通用接口标准》 | |
| hl_time 必需 |
HEADERS | string | 鉴权用,当前时间,参考《通用接口标准》 | |
| hl_sign 必需 |
HEADERS | string | 鉴权用,签名校验码,参考《通用接口标准》 | |
| keywords 必需 |
BODY-JSON | string | 事件关键词 | 最多20个字 |
BODY-JSON样例
{
"keywords":"坚持与时俱进"
}
其他参数细节
暂无
正常响应的返回数据
{
"res": 0,
"msg": "请求成功",
"data": {
"news_list": [{
"release_date": "2021-12-03 09:55:41",
"repeat_count": 1,
"title": "国际人士积极评价中国共产党坚持与时俱进",
"url": "https://view.inews.qq.com/a/20211203A02H0H00",
"standard_media_name": "腾讯网",
"repeat_list": [{
"area": "广州",
"site_type": "重点门户商业网站",
"standard_content_media_name": "国际万花筒",
"release_date": "2021-12-03 09:55:41",
"author": "",
"media_name": "腾讯新闻",
"title": "国际人士积极评价中国共产党坚持与时俱进",
"url": "https://view.inews.qq.com/a/20211203A02H0H00",
"standard_media_name": "腾讯网",
"content_media_name": "国际万花筒"
}]
}...],
"desc"(高级版): {
"sp_score": 2845,
"first_news": "毫不动摇坚持.与时俱进完善人民代表大会制度",
"span_time": "23天8小时",
"first_release_date": "2021-11-10 07:50:00",
"site_count": 83,
"tp_count": 177,
"most_count": 134,
"data_count": 20,
"most_news": "国际人士积极评价中国共产党坚持与时俱进"
}
}
}
错误返回信息说明
通用错误信息,请参考《通用接口标准》
下面为本服务特有的错误反馈说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 200 | { "res": -1, "msg": "具体错误信息" } |
2.4 炫知-发稿量、原创量和监测量
POST https://api.hylanda.com/v5/xuanzhi/analysis/profile
测试地址:https://api.hylanda.com/v5/help/util/try/#!/xuanzhi/XZ_Analysis_Profile
接口描述
- 查询全网检测中,互联网发稿量、互联网原创总量和网站监测总量
接口参数
灵川APIv5接口参数统一使用POST JSON 方式传递
| 参数名 | 位置 | 类型 | 描述 | 默认值 |
|---|---|---|---|---|
| hl_appkey 必需 |
HEADERS | string | 鉴权用,灵川分配的appkey,参考《通用接口标准》 | |
| hl_time 必需 |
HEADERS | string | 鉴权用,当前时间,参考《通用接口标准》 | |
| hl_sign 必需 |
HEADERS | string | 鉴权用,签名校验码,参考《通用接口标准》 | |
| type 必需 |
BODY-JSON | string | 查询类型 | 该接口传"tp" |
BODY-JSON样例
{
"type":"tp"
}
其他参数细节
暂无
正常响应的返回数据
{
"res": 0,
"msg": "请求成功",
"data": {
"tp_original_count": 148863, 原创总量
"tp_count": 928297, 发稿量
"tp_site_count": 23866 网站监测总量
}
}
错误返回信息说明
通用错误信息,请参考《通用接口标准》
下面为本服务特有的错误反馈说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 200 | { "res": -1, "msg": "具体错误信息" } |
2.5 炫知-资讯传播力排行榜
POST https://api.hylanda.com/v5/xuanzhi/top/tpv
测试地址:https://api.hylanda.com/v5/help/util/try/#!/xuanzhi/XZ_Top_Tpv
接口描述
- 查询资讯传播力排行榜
接口参数
灵川APIv5接口参数统一使用POST JSON 方式传递
| 参数名 | 位置 | 类型 | 描述 | 默认值 |
|---|---|---|---|---|
| hl_appkey 必需 |
HEADERS | string | 鉴权用,灵川分配的appkey,参考《通用接口标准》 | |
| hl_time 必需 |
HEADERS | string | 鉴权用,当前时间,参考《通用接口标准》 | |
| hl_sign 必需 |
HEADERS | string | 鉴权用,签名校验码,参考《通用接口标准》 | |
| zone 必需 |
BODY-JSON | string | 区域代码 | |
| original 必需 |
BODY-JSON | string | 0非原创,1原创 | |
| type 必需 |
BODY-JSON | string | 查询类型, 100(互联网传播力排行榜), 101(区域原创), 102(近30分钟), 300(中央级媒体传播力排行榜), 400(省级媒体传播力排行榜), 500(商业媒体传播力排行榜) |
BODY-JSON样例
{
"zone":"0",
"original":"0",
"type":"100"
}
其他参数细节
暂无
正常响应的返回数据
{
"res": 0,
"msg": "请求成功",
"data": {
"news_list": [{
"release_date": "2021-12-09 16:26:00",
"name": "爱回收.豆瓣.唱吧等106款App被工信部下架",
"tpv": 2159,
"media_name": "新浪网",
"url": "http://k.sina.com.cn/article_5044281310_12ca99fde02001px4e.html"
},
{
"release_date": "2021-12-09 17:00:00",
"name": "我国\"刑事缺席审判第一案\"程三昌贪污案一审开庭",
"tpv": 1937,
"media_name": "新浪网",
"url": "http://k.sina.com.cn/article_2010666107_77d8547b020014vlv.html"
}...]
}
}
错误返回信息说明
通用错误信息,请参考《通用接口标准》
下面为本服务特有的错误反馈说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 200 | { "res": -1, "msg": "具体错误信息" } |
3.灵川ADP应用画布接口
3.1 应用画布对外开放接口
POST https://api.hylanda.com/v5/inner_app/custom/{app_name}/{api_name}
测试地址:https://api.hylanda.com/v5/help/util/try/#!/inner95app/InnerApp_CustomApi
接口描述
- 当用户将灵川ADP大数据分析平台中的 ‘应用画布’中的接口对外开放后,会统一映射到此接口中
- 请注意:仅支持SQL代理接口,不支持对外代理接口
- 请注意:无法开放使用了“登录信息”的接口(如USER_ID)
接口参数
灵川APIv5接口参数统一使用POST JSON 方式传递
| 参数名 | 位置 | 类型 | 描述 | 默认值 |
|---|---|---|---|---|
| hl_appkey 必需 |
HEADERS | string | 鉴权用,灵川分配的appkey,参考《通用接口标准》 | |
| hl_time 必需 |
HEADERS | string | 鉴权用,当前时间,参考《通用接口标准》 | |
| hl_sign 必需 |
HEADERS | string | 鉴权用,签名校验码,参考《通用接口标准》 | |
| app_name 必需 |
URL-PATH | string | 应用名称,需填写英文名,可在应用访问URL路径中找到 | |
| api_name 必需 |
URL-PATH | string | API名称,需填写API英文名称 | |
| 应用接口参数 必需 |
BODY-JSON | string | 需根据对应的应用接口自行调整 |
BODY-JSON样例
该接口参数直接对应指定应用接口的参数,需参考其接口参数自行填充参数
{
"参数名xxx":"参数值xxx",
"参数名yyy":"参数值yyy",
"参数名zzz":"参数值zzz"
}
其他参数细节
若该应用接口没有输入参数,BODY-JSON内也需要传输一对大括号 {}
正常响应的返回数据
- 该接口的返回数据是靠对应的应用接口返回数据决定的
- 当应用接口返回应用画布标准格式的数据时,该接口仅将返回数据中的 "status" 改为 "res"
- 否则,该接口会将应用接口返回数据整体放入该样例中的"data"内,再向外输出
{
"res": 0,
"msg": "调用完成",
"data": {}
}
错误返回信息说明
通用错误信息,请参考《通用接口标准》
下面为本服务特有的错误反馈说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 200 | { "res": -1, "msg": "服务器出错:具体错误信息" } |
服务内部出错,需联系相关人员检查接口逻辑 |
4. 数据流相关接口
4.1 平台DB数据获取接口
POST https://api.hylanda.com/v5/data_stream/get_from_db
测试地址:https://api.hylanda.com/v5/help/util/try/#!/data95stream/DataStream_GetFromDB
接口描述
- 对灵川大数据分析平台中的中指定数据库进行获取的接口
- 请注意:该接口所关联数据库必须是通过灵川运维服务团队订购的,处于灵川平台同一网络环境内的DB才可使用此接口
- 该接口与v4接口的取数据服务内部是一致的,仅接口形式改为了postjson,原v4使用的密钥也可在v5内使用
接口参数
灵川APIv5接口参数统一使用POST JSON 方式传递
| 参数名 | 位置 | 类型 | 描述 | 默认值 |
|---|---|---|---|---|
| hl_appkey 必需 |
HEADERS | string | 鉴权用,灵川分配的appkey,参考《通用接口标准》 | |
| hl_time 必需 |
HEADERS | string | 鉴权用,当前时间,参考《通用接口标准》 | |
| hl_sign 必需 |
HEADERS | string | 鉴权用,签名校验码,参考《通用接口标准》 | |
| link_code 必需 |
BODY-JSON | string | 指定数据集的连接码,由灵川统一分配 | |
| id 可选 |
BODY-JSON | integer | 要查询的起始键值,服务将使用键值升序输出数据大于此值的数据,可填入上次查询结果的next_id以达到遍历数据的效果 | "" |
| num 可选 |
BODY-JSON | integer | 本次要输出的条数,范围 (0,100],默认20条,超出按默认值处理 | 20 |
| query_extra 可选 |
BODY-JSON | object | 查询用的额外参数,为特殊的取数据需求提供客户端定制查询功能,JsonObject格式,默认为空 | {} |
BODY-JSON样例
{
"id": 0,
"link_code": "填入灵川分配的连接码",
"num": 20,
"query_extra": {
"额外参数xxx": "有额外参数则按专属文档填写,若没有则不用传query_extra"
}
}
其他参数细节
暂无
正常响应的返回数据
接口正常响应数据格式如下
{
"res": 0 , //正常返回均为0
"msg": "成功",
"data": [{ //data字段内为JsonArray,包含多条数据
"url": "http://abcd1", //每条数据是一个JsonObject,字段列表由业务负责人提供
"title": "abcd1"
}, {
"url": "http://abcd2",
"title": "abcd2"
}
],
"next_id": "" //next_id字段,将此值作为下次请求的id参数以遍历数据
}
错误返回信息说明
通用错误信息,请参考《通用接口标准》 下面为本服务特有的错误反馈说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 200 | { "res": -1, "msg": "无 link_code" } |
请求参数中没有链接码 |
| 200 | { "res": -1, "msg": "link_code 连接失败" } |
链接码所对应DB连接失败,错误信息会在msg后追加,一般这种错误请联系接口负责人协助解决 |
| 200 | { "res": -1, "msg": "数据查询失败" } |
查询过程出错,错误信息会在msg后追加,请联系接口负责人 |
| 200 | { "res": -1, "msg": "结果解析错误" } |
查询结果数据不符合规范,可能存在不可解析的数据,需要联系接口负责人排查 |
| 200 | { "res": -1, "msg": "未知错误" } |
请联系接口负责人排查 |
4.2 流式数据输入接口
POST https://api.hylanda.com/v5/data_stream/send_to_queue
测试地址:https://api.hylanda.com/v5/help/util/try/#!/data95stream/DataStream_SendToQueue
接口描述
发送数据到缓存队列,在ADP平台上通过【流式数据输入接口】能力读取数据
接口参数
灵川APIv5接口参数统一使用POST JSON 方式传递
| 参数名 | 位置 | 类型 | 描述 | 默认值 |
|---|---|---|---|---|
| hl_appkey 必需 |
HEADERS | string | 鉴权用,灵川分配的appkey,参考《通用接口标准》 | |
| hl_time 必需 |
HEADERS | string | 鉴权用,当前时间,参考《通用接口标准》 | |
| hl_sign 必需 |
HEADERS | string | 鉴权用,签名校验码,参考《通用接口标准》 | |
| BODY-JSON required |
BODY-JSON | object | 需要输入平台的数据(JSON),每次请求数据不大于1M |
BODY-JSON样例
{
"url":"http://www.abc.com/1234.html",
"title":"标题文字",
"content":"正文文字"
}
其他参数细节
注意:该接口所post的json整体,即为ADP平台能力输出的完整内容,平台能力会将post-body的json 内容完整输出
正常响应的返回数据
| HTTP Code | Description |
|---|---|
| 200 | 接收数据完成 |
{
"res": 0 , //正常返回均为0
"msg": "接收数据完成"
}
错误返回信息说明
通用错误信息,请参考《通用接口标准》
下面为本服务特有的错误反馈说明
| HTTP Code | HTTP Response Body | Description |
|---|---|---|
| 200 | { "res": -1, "msg": "具体错误信息" } |