云豹腾讯小直播接入腾讯云接口详细说明文档
云豹腾讯小直播API/SDK接入解决方案,提供了更全面稳定的接入服务。通过云豹腾讯小直播Open API和开发工具包(SDK),可以帮助客户快速的搭建一套属于自己的直播系统平台。
1. 公共参数
公共参数是用于标识用户和接口鉴权的参数, 每次请求均需要携带这些参数, 才能正常发起请求。
名称 | 类型 | 描述 | 必选 |
|
Action | String | 接口指令的名称,例如: DataManipulation | 是 |
|
Region | String | 区域参数,用来标识希望操作哪个区域的实例。 | 是 |
|
Timestamp | UInt | 当前UNIX时间戳 | 是 |
|
Nonce | UInt | 随机正整数,与Timestamp联合起来, 用于防止重放攻击 | 是 |
|
SecretId | String | 由腾讯云平台上申请的标识身份的SecretId和SecretKey,
| 是 |
|
Signature | String | 请求签名,用来验证此次请求的合法性, | 是 |
|
2. 数据操作(更新/删除)
2.1 接口描述
域名:yunsou.api.qcloud.com
接口名: DataManipulation
对数据进行添加和删除操作
2.2 输入参数
参数名称 | 必选 | 类型 | 描述 |
appId | 是 | Int | 云搜的业务ID,用以表明当前数据请求的业务 |
op_type | 是 | String | 操作类型,可为"add"或者"del" |
contents.n | 是 | Array | 文档内容(UTF8编码,长度限制在32k以下) |
2.3 输出参数
参数名称 | 类型 | 描述 |
code | Int | 错误码, 0: 成功, 其他值: 失败 |
message | String | 错误信息 |
data | Array | 返回详细信息 |
2.4.1 接口鉴权
示例要新增的业务数据为:{"NA": 1000, "TA": "test1", "TB": "testtitle1", "TC": "testcontent1"}
则上述业务的参数列表如下:
{
'Action' : 'DataManipulation',
'Nonce' : 345122,
'Region' : 'sz',
'SecretId' : 'AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA',
'Timestamp' : 1408704141,
'op_type': add,
'appId': 1,
'contents.0.NA': 1000,
'contents.0.TA': test1,
'contents.0.TB': testtitle1,
'contents.0.TC': testcontent1
}
根据上述参数列表进行签名,得出的数字签名为:HgIYOPcx5lN6gz8JsCFBNAWp2oQ
注意:
1)在生成签名的过程中,需要将加密字符串中包含的“_”改写成“.”,从而加密产生签名;
2)鉴权时,需要将参数列表按key进行排序:字典序,同时大写在前。
2.4.2 数据更新
根据上一步(2.4.1)中得到的数字签名,以GET请求为例构造请求URL,将数字签名加入到参数Signature中。
https://yunsou.api.qcloud.com/v2/index.php?
Action=DataManipulation
&Nonce=345122
&Region=sz
&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA
&Timestamp=1408704141
&Signature=HgIYOPcx5lN6gz8JsCFBNAWp2oQ
&op_type=add
&appId=1
&contents.0.NA=1000
&contents.0.TA=test1
&contents.0.TB=testtitle1
执行上述操作之后,会将文档{"NA":"1000", "TA":"test1", "TB": "testtitle1", "TC": "testcontent1"}插入到用户的应用中,从而参与检索。
注意:在发送请求过程中,不能将参数字符串中包含的“_”改写成“.”。
上述指令返回的数据结构如下:
{
retcode: 0,
errmsg: "succ",
data: {
app_id: 14950002,
result: [
{
doc_id: "1000",
errno: 0,
result: "succ"
}
],
seq: 1427872563,
total_result: "succ"
},
code: 0,
message: ""
}
2.4.3 数据删除
https://yunsou.api.qcloud.com/v2/index.php?
Action=DataManipulation
&Nonce=345122
&Region=sz
&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA
&Timestamp=1408704141
&Signature=HgIYOPcx5lN6gz8JsCFBNAWp2oQ
&op_type=del
&appId=1
&contents.0.doc_id=1000
&contents.1.doc_id=2000
执行上述操作之后,会将文档ID为:1000和2000的文档从用户应用中删除,从而不被检索到。
注意:在发送请求过程中,不能将参数字符串中包含的“_”改写成“.”。
3. 数据检索(查询)
3.1 接口描述
域名:yunsou.api.qcloud.com
接口名: DataSearch
对数据进行查询操作
3.1.1 数值过滤
数值过滤功能对应检索请求中的num_filter参数,其参数值的结构描述为:
[N:meta:start:end]
该表达式含义为:属性满足start <= meta值 <= end的文档将会被留下,其它的被过滤。其中,meta字段必须为数值字段。
另外,数值过滤表达式之间支持“与”“或”关系。用&和|符号连接,支持使用括号标识优先级。如,[N:meta1:start:end]&([N:meta2:start:end]|[N:meta3:start:end])
示例:数值过滤表达式
[N:NA:100:150]&[N:NB:200:200]
上述表达式的含义为:查找NA字段在100-150之间,并且NB等于200的结果(其中NA和NB为数值字段)。
3.1.2 分类检索
分类检索对应检索请求中的cl_filter参数,其参数值的结构描述为:
[C:meta:value]
该表达式含义为:对该meta域使用特殊的倒排索引进行检索,特别适用于导航检索。其中meta字段可为数字或数值。
另外,分类检索表达式支持“与”“或”关系。用&和|符号连接,支持使用括号标识优先级。如,[C:meta1:value1]&([C:meta2:value2]|[C:meta3:value3])。
示例:分类过滤表达式
[C:CA:store]&[C:CB:log]
上述表达式的含义为:查找CA字段为store,并且CB字段为log的结果(其中CA和CB为分类域字段)。
3.1.3 用户指定排序
用户指定排序涉及到检索请求中的两个参数:rank_type和extra。
其使用方法如下:
1)rank_type=0:搜索结果按照文本相关性打分降序排列,extra字段被忽略;
2)rank_type=1:搜索结果按照文本相关性打分升序排列,extra字段被忽略;
3) rank_type=2:按照用户输入的extra字段,结合用户在高级组件中定制的排序对返回结果的顺序进行排序
4) rank_type=5:不使用额外的排序策略,按搜索结果直接返回,extra字段被忽略;
当rank_type的值被指定为2时,extra参数值的格式为:
META1_TYPE1_META2_TYPE2_rel_TYPE3
以上表达式表示的含义为,排序分成三档,仅在前一档值相同情况下,才会进行下一档排序:
1)第一档按照META1的属性值进行排序,排序类型为TYPE1
2)第二档按照META2的属性值进行排序,排序类型为TYPE2
3)第三档按照rel(即文本相关性得分进行排序),排序类型为TYPE3。注意:rel字段的值非业务数据,而是搜索侧的计算结果
表达式取值方法:
1) Meta:meta本身为属性字段名即可(不含下划线,避免冲突),但是需要保证需要进行排序的属性是数值字段
2) Type:
Type=0: 当前属性越小,排序越靠前;
Type=1:当前属性越大,排序越靠前;
3.2输出参数
参数名称 | 类型 | 描述 |
code | Int | 错误码, 0: 成功, 其他值: 失败 |
message | String | 错误信息 |
echo | String | 与检索请求中的echo相对应 |
result_num | Int | 检索返回的当前页码结果数 |
display_num | Int | 搜索最多可展示结果数,多页 |
eresult_num | Int | 检索结果的估算篇数 |
cost_time | Int | 检索耗时,单位为ms |
result_list | Array | 检索结果列表 |
seg_list | Array | 检索的分词结果,array类型,可包含多个 |
检索结果列表说明:
参数名称 | 类型 | 描述 |
doc_id | Int | 检索文档id |
doc_meta | String | 摘要信息 |
search_debuginfo | String | 文档级回传信息 |
l2_score | Float | 精计算打分 |
3.3 详细示例
示例业务详细信息如下表:
| 参数名称 | 参数描述 | 必选 | 参数值示例 |
腾讯云公共参数 | Action | 方法名 | 是 | DataSearch |
SecretId | SecretId | 是 | AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA | |
Timestamp | 当前时间戳 | 是 | 1408704141 | |
Nonce | 随机正整数 | 是 | 345122 | |
业务参数 | appId | 业务ID | 是 | 1 |
search_query | 检索串 | 是 | qq | |
page_id | 检索页码 | 是 | 0 | |
num_per_page | 每页结果数 | 是 | 10 |
下面以上述业务为例,详细说明“数据检索”接口的使用方法。
3.4 接口鉴权
{
'Action' : 'DataSearch',
'Nonce' : 345122,
'Region' : 'sz',
'SecretId' : 'AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA',
'Timestamp' : 1408704141,
'appId': 1,
'search_query': 'qq',
'page_id': 0,
'num_per_page': 10
}
根据上述参数列表进行签名,得出的数字签名为:HgIYOPcx5lN6gz8JsCFBNAWp2oQ(示例),详细的数字签名的生成方法请参照:《腾讯云接口鉴权》。
注意:
1)在生成签名的过程中,需要将加密字符串中包含的“_”改写成“.”,从而加密产生签名;
2)鉴权时,需要将参数列表按key进行排序:字典序,同时大写在前。
3.5 数据检索
根据上一步(3.4.1)中得到的数字签名,以GET请求为例构造请求URL,将数字签名加入到参数Signature中。
https://yunsou.api.qcloud.com/v2/index.php?
Action=DataSearch
&Nonce=345122
&Region=sz
&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA
&Timestamp=1408704141
&Signature=HgIYOPcx5lN6gz8JsCFBNAWp2oQ
&appId=1
&search_query=qq
&page_id=0
&num_per_page=10
执行上述操作之后,会将文档{"NA":"1000", "TA":"test1", "TB": "testtitle1", "TC": "testcontent1"}插入到用户的应用中,从而参与检索。
注意:在发送请求过程中,不能将参数字符串中包含的“_”改写成“.”。
云豹腾讯小直播的接口是根据腾讯云接口配置的,无论是并发量还是承载量都远远大于市面上的直播系统;云豹腾讯云小直播是经过无数次压力测试验证过的,值得客户信赖的一份产品。
注:本文接口转自腾讯云直播接口文档