一、前言

在互联网领域,尤其现在的移动互联网时代,Feed流产品是非常常见的,比如我们每天用到的朋友圈,微博,就是一种非常典型的Feed流产品。今日头条,网易客户端等纯的新闻Feed流产品也是大家用的比较多的。同时,越来越多的工具类,财经类,等各种垂类的APP(如墨迹天气,子弹短信,富途牛牛)也会增加资讯Feed流,以提高用户粘性及留存,进而获取更大的收益。由于开发Feed流产品设计较多的技术(从数据抓取,内容提取,用户画像,推荐策略,机器学习模型等),很多的APP开发方自己建设一支Feed流团队成本很高,如果能有专业的团队能做这个事情成本相对低,将自己更多的精力放在主营业务上。犀光即是应此市场需求而成立。提供资讯内容,推荐引擎,广告变现等核心服务。

犀光已经与近百家第三方客户进行合作。在合作过程中,会遇到一些API接入的问题,本文档即是梳理接口及常见问题,使得我们的客户快速,方便的接入。

二、犀光Feed流展示效果

如果您成功的接入犀光Feed流,APP端的展示效果类似下图(资讯列表页和详情页):

三、接入方式

  1. 从数据提供方式上分为 H5(主要用来演示,也可以以webview形式嵌入APP), API(只提供结构化的数据,页面展示由客户端做,适合原生APP使用), SDK(正在做,敬请期待) 2.从资讯内容来源分为 用客户自己上报的内容, 用犀光的内容。客户自己提供资讯内容,犀光提供推荐引擎、相关推荐等。此方式,需要客户上传资讯内容,犀光提供推荐接口,相关推荐接口(如需要); 犀光提供资讯内容,推荐引擎,相关推荐,详情数据。此方式,用户无需上传资讯内容,只需调用犀光推荐接口,相关推荐接口,详情接口。然后由客户自己做页面展示。

四、接口概览

接口名称 接口说明 是否必须 备注
推荐列表接口 信息流推荐接口
详情接口 信息流频道接口
用户行为反馈上报接口 用户在端上的操作,包括屏幕上展现了哪些内容,点击了哪些内容,点赞,点踩,点x了哪些内容,用户行为上报的越多,对用户兴趣的挖掘越准确,推荐效果越好
相关推荐接口 一般资讯详情页的下方会有相关推荐,出和当前文章类似的资讯
根据关键词搜索接口 根据某个词搜索资讯内容
内容数据上报 如果客户有自己的内容,并且希望只展现自己的内容,就需要上报内容
上报内容数据的删除,更新接口 客户对已上报内容删除,更新
用户关注、订阅接口 用户关注主题、作者,订阅分类
评论上报接口 如果需要对详情页支持评论,就调用
评论拉取接口 如果需要拉取某篇资讯评论,就调用
客户配置labels查询 根据需要查询客户APP配置的labels栏目有哪些及其位置

五、接口详细介绍

说明::以下接口根据需要接入

一般推荐列表和获取详情接口为必选接入。其他接口根据需要选择接入,也可以不接入.

推荐列表(包括各频道)接口

概述

此接口主要是提供”推荐“等频道列表数据,客户的服务端收到app的请求后,将请求转发犀光推荐列表接口。这里之所以建议通过客户的服务端转发,是因为在客户的服务端可以更好的控制,比如可以控制一定的流量到犀光这边。

注意事项

  1. 推荐接口出去的数据是基于user_id做去重的。对某个user_id下发过的资讯是不会再次下发的。
  2. 返回数据中idthird_id问题:犀光很多的客户自己提供数据内容,这里称为第三方内容,上报的时候,用third_id。犀光将所有客户内容数据都存起来,于是需要一个统一的唯一标识,即id,是犀光内部用来标识一条资讯数据。推荐接口出去的数据,有id, third_id两个字段。如果客户自己上报内容数据,只用犀光的推荐引擎,那么只需用到third_id;如果客户用到了犀光的内容,请用id
  3. 推荐接口出去的smfw字段请放到用户行为反馈的上报数据里面,用户犀光的小流量试验,优化改进推荐效果。

接口说明

  1. 方法: GET
  2. URL: https://down.qiyu3.com/HttpService/rec2/?name=推荐&app_id=default&user_id=2020&size=10&log_id=231241&imei=415398370047505 注意,这里的app_id请用客户自己被分配的app_id
  3. 参数说明
参数名 参数说明 是否必须 备注
app_id 每个客户会赋予一个唯一的app_id
user_id 用户唯一标识
name 客户在犀光配置平台(神灯)上配置的频道名称 一定要先配置频道才能获取列表数据
size 拉取的数据条数 最大30, 建议10以下
log_id 每次请求的标识 主要用来定位问题,随机字符串6-10位
imei Android的imei值,IOS的IDFA 用于作为每次请求的唯一性标志
res_type 资讯类型 如果只要图文就news, 只要视频就video, 只要音频就audio; 如果想都要,不加此参数
loc_province 用户所在省份 本地资讯频道使用,需要带此参数。直辖市的话,本字段空
loc_city 用户所在城市 本地资讯频道使用,需要带此参数。直辖市也用此地段

如果需要在资讯中插入犀光的广告,请加入以下参数

参数名 参数说明 是否必须 备注
api_version 请求的广告服务版本,固定为1
ua user agent
os 操作系统类型 安卓传 Android,iOS 传 iOS
os_version 操作系统版本 传具体的版本,如:Android 9.1.0版本为9.1.0
make 手机品牌 例如华为则填HUAWEI
model 手机型号 例如HUAWEI Y600-U00 填 Y600-U00
density 屏幕密度 如不填则按默认值取广告
ppi 每英寸所有的像素 如不填则按默认值取广告
hv 横竖屏 0:未知,1:竖屏,2:横屏
screen_width 手机屏宽
screen_height 手机屏高
android_id Android 设备系统 id
udid IOS 设备的 openuid iOS必填
mac mac 地址(android) Android必填
network_type 用户网络类型 值为 2g,3g,4g,5g,wifi
carrier 运营商 移动为46000或46002,联通46001,电信46003
oaid 匿名设备标识符 若无法拿到 imei 值,建议填写此值

下发列表中带有广告时,广告字段,广告的展示和上报参考文档 http://report.qiyu3.com/docs/post/sdk.html

  1. 成功返回值: Json结构
{
	"errno": 0,                                // 0标识成功
	"log_id": "33434",                         // 用户请求时带的log_id
	"errmsg": "ok",                           // 成功
	"data": {
		"count": 10,                           // 如果没有数据, count = 0
		"data": [
            // 资讯内容字段
			{
				"id": "20181113122959127941",  // 资讯在犀光系统内的id
				"third_id": "34345",           // 第三方客户的id,和第三方客户上报时用的third_id一致。
				"news_title": "文章标题",       // 文章标题
				"news_source": "文章的来源",     // 文章来源
				"site_name": "站点",            // 如果文章是抓取的,抓取站点
				"org_url": "http://mini.eastday.com/xxxx.html",   // 原始链接,如果是音视频,这里就是播放链接
				"pub_time": 1542083399,        // 资讯发布时间,unix时间戳,秒单位。
				"smfw": {"10001": 1},          // 犀光小流量标识。注意,这里请把smfw原封不动放到用户行为上报数据里面。用户犀光做小流量试验
				"author": "作者名",             // 如果客户数据没有上次作者就空,
				"category": "娱乐",            // 资讯分类
				"type": "news",                // 资讯类型, news是图文, news_video是视频, news_audio是音频
                "list_images": [
                  "http://qiniu2.xiguangtech.com/201910/52a344b1c58646489e7f26ac4caea3db.jpg?imageView2/1/format/jpg/w/400/h/200/interlace/1/q/200",
                  "http://qiniu2.xiguangtech.com/201910/2dc231bcad3f49debf73e1884ddf157b.jpg?imageView2/1/format/jpg/w/400/h/200/interlace/1/q/200",
                  "http://qiniu2.xiguangtech.com/201910/b1cb57fff03f4b11be2180bb20247824.jpg?imageView2/1/format/jpg/w/400/h/200/interlace/1/q/200"
                ],                             // 预览图片的url数组
				"click_count": 10,            // 点击数量,即阅读数
				"comment_cout": 10,           // 评论数, 如果评论不走犀光这边,这个值就是0
				"down_count": 0,              // 点踩数量
				"up_count": 0,                // 点赞数量
				"duration": 0,                // 音视频时长,对应图文类值是0
				"width": 0,                   // 视频宽度
				"height": 0,                  // 视频长度
                "rec_src": [1], //推荐方式,内部使用
			},
            // 下发列表中带有广告时,广告字段,广告的展示和上报参考文档 http://report.qiyu3.com/docs/post/sdk.html
           {
               "ad_height": 147,  //广告高
               "ad_width": 375, //广告宽
               "adslot_id": -1, //广告位id
               "api_version": 1, // 广告api版本
               "id" : "ad_00393", //广告id
               "image_url": "https://lobby.qiyu3.com/adimg/393-1.jpg,https://lobby.qiyu3.com/adimg/393-2.jpg,https://lobby.qiyu3.com/adimg/393-3.jpg", //广告图片素材
               "imp_track_url": [
                  "https://xiaojiding.com/HttpService/ad_track?key=1567579740164&app_id=MYSS&type=ad_zk&id=ad_00393&user_id=aaa&action_type=1&ad_show_where=1" //广告展示曝光url数组
               ],
               "landing_url": "https://xiaojiding.com/HttpService/ad_track?key=1567579740164&app_id=MYSS&type=ad_zk&id=ad_00393&user_id=aaa&action_type=2&is_trans=1&ad_show_where=1", //广告落地页
               "org_url": "xxx", //
               "title": "成功不在无用的努力,而在于你是否知道真的捷径",//广告标题
               "type": "ad_zk" //广告类型
          }
            ...
		]
	}
}
  1. 失败返回值: Json结构
{
	"errno" : 8,
	"log_id": "34343",
	"errmsg": "request parameter error",
	"data": {
		"count": 0,
		"data": []
	}
}
  1. 请求示例 https://down.qiyu3.com/HttpService/rec2/?app_id=demo_news&user_id=2020&size=10&log_id=231241

获取详情接口

概述

如果用户使用的犀光内容,当通过端上客户点击某篇文章或音视频时,端需要获取详情内容,该详情接口就是通过id获取保存在犀光的资讯详情。详情内容里面的图片,音视频,是保存在犀光的cdn上。

注意事项

  1. 使用犀光的内容时,可以调用详情接口。如果客户使用的是自己的内容,可以不走犀光的详情接口。

接口说明

  1. 方法: GET
  2. URL:https://down.qiyu3.com/HttpService/get_news_detail?id=20190111031528577404&app_id=demo_news&user_id=woh&log_id=3434
  3. 参数说明:
参数名 参数说明 是否必须 备注
id 资讯id
app_id 犀光分配的客户标识
user_id 用户标识
log_id 每次请求的标识 主要用来定位问题,可以用随机字符串
  1. 成功返回:Json结构
{
    "audio_url": "",             // 如果是音频的话,该地址不空,音频播放地址
    "author": "",                // 作者
    "cagetory": "娱乐",           // 资讯分类
    "content": [                 // 详情内容
        {
            "data": " 日本:今起开征“出境税” 每人1000日元 ",
            "type": "text"       // 一段文本
        },
        {
            "data": "http://qiniu2.xiguangtech.com/201901/1c78a43c12a1411584805cc6117ae9f0.jpg?imageView2/1/format/jpg",
            "height": 0,
            "type": "img",       // 一段图片
            "width": 0
        }
    ],
    "create_time": 1547176528510,
    "duration": 0,               // 音视频播放时长
    "errmsg": "success",
    "errno": 0,
    "id": "20190111031528577404", // 资讯id
    "news_source": "数字之道",      // 抓取源
    "news_title": "日本为办奥运开征出境税?每人需交63元2019有望创收31亿元",  // 资讯标题
    "org_url": "https://www.sohu.com/a/288177546_157078",           // 原始链接
    "pub_time": 1547204700,                                         // 发布时间,秒单位
    "site_name": "数字之道",                                         //  站点名称
    "sub_cagetory": "",                                             // 子分类
    "third_id": "",
    "topic": "",
    "type": 1                                                       // 资讯类型, 1:图文; 3:视频; 5:音频; 9:图集
}

  1. 失败返回: Json结构
{
	errno: 4113,
	errmsg: "do not have data"
}

获取详情H5页面

概述

如果用户使用的犀光内容,当通过端上客户点击某篇文章或音视频时,端需要获取详情内容,并且以H5页面展示的方式出现。

注意事项

  1. 调用H5页面请求时需要带上user_id用户唯一标识和app_id接入方唯一标识

H5页面说明

  1. 方法: GET
  2. URL:http://lobby.qiyu3.com/template/page.html?app_id=default&id=2019062410391101394&user_id=zhangsan&v=1563994014577
  3. 参数说明:
参数名 参数说明 是否必须 备注
id 资讯id
app_id 犀光分配的客户标识,注册账号
user_id 用户标识
v 时间戳
imei Android的imei值,IOS的IDFA
  1. 成功返回:H5页面示例

相关推荐接口

概述

此接口用来在资讯详情页下面出相关推荐列表所用。该接口用来出和当前的资讯相关的资讯,不能刷,两次间隔几秒的调用,结果会一样,除非两次调用之间,有新的相关内容入库。这个接口不会根据user_id做去重。

注意事项

  1. 相关推荐接口返回的数据格式和上面的推荐接口返回数据格式,在层级上有区别。
  2. 如果当前资讯是第三方客户自己的内容,请用third_id传;如果是用犀光的内容,请用id传。

接口说明

  1. 方法: GET
  2. URL: https://down.qiyu3.com/HttpService/rel?app_id=default&id=20180715210114355326&third_id=34343&log_id=545454&size=5
  3. 参数说明:
参数名 参数说明 是否必须 备注
app_id 每个客户会赋予一个唯一的app_id
third_id 第三方资讯标识 third_id和id必有其一
id 犀光资讯内容标识 third_id和id必有其一
size 拉取的数据条数 建议10以下
log_id 每次请求的标识 主要用来定位问题,可以用随机字符串
  1. 成功返回值: Json结构, 和推荐接口出去的数据格式一致。
{
	"errno": 0,                                // 0标识成功
	"errmsg": "success",                       // 错误信息
	"count": 4,                                // 返回的条数
	"data":[
		{
			"id": "2018111312333",             // 如果是犀光的资讯内容
			"third_id": "34343",               // 如果是客户自己的资讯内容, id和third_id必有一个有值
			"category": "生活",                 // 新闻分类
			"org_url": "https://m.weibo.cn/xxx.html", // 原始网页地址,音视频的话,就是播放地址
			"site_name": "微博",                // 站点名
			"pub_time": 1543434345000,         // 发布时间,单位毫秒
			"news_title": "新闻标题",            // 标题
			"news_source": "来源",              // 新闻来源
			"type": "news",                    // 新闻类型,图文news, 视频news_video, 音频news_audio
			"author": "xxx",                   // 作者
			"click_count": 3,                  // 阅读数
			"up_count": 2                     // 点赞数
		}
	]

}
  1. 失败返回值: Json结构
{
	"errno" : -1,
	"errmsg": "request parameter error"    // 错误信息
}

用户行为上报(简版)

概述

此接口用来第三方客户上报用户在端上的行为。比如在屏幕上展现了哪些资讯(推荐接口下发10条数据下去,不一定都展现在屏幕上了,因为用户可能没有滑到下面),展现反馈有上报时机的问题,一般来说最长60s需要上报一次,也可以用户点击了一篇文章等行为触发展现上报。用户在推荐列表或频道列表中点击行为需要上报,如果是音视频的话,最好上报播放完成反馈或跳过的反馈。另外,如果端上有不喜欢,点赞,分享等行为,最好也上报上了,用于积累用户的个人兴趣。 必选行为:点击/播放完成 可选行为:展现,跳过,不喜欢,点赞,分享

注意事项:

  1. 有些字段是整形数字,而不是数字字符串。
  2. post请求时加headers ---- -H 'Content-Type: application/json;charset=UTF-8'
  3. 数据编码必须是utf-8

接口说明: POST / GET

POST

  1. 方法:POST
  2. URL : https://down.qiyu3.com/HttpService/ReceiveLog
  3. 请求包体 : Json结构
{
	"log_id": "12234",   // **必选**,每次请求时唯一标识,可以随机生成
	"action_type": 1,    // **必选**,1:展现; 2:点击; 3:播放完成; 4:播放中间跳过; 6:不喜欢; 7:点赞; 8:关注; 9:分享; 20:相关推荐下发,21:相关推荐展现; 22:相关推荐点击,  30:小说下发,31:小说展现,32:小说点击,统计时长,40:漫画下发,41:漫画展现,42:漫画点击,时长统计,50:相关推荐转列表下发,52:相关推荐转列表点击
	"app_id": "default", // **必选**,分配给客户的唯一标识。和其它接口中app_id含义一致
	"timestamp": 1543453452, // **必选**,第三方调用接口发生的时间戳,秒单位
	"user_id": "6F21FF3C3BC3799343077953E66", // **必选**,用户唯一标识
	"smfw": {"1001":"1"}, // 可选,推荐接口出去的smfw字段,带到这里
	"os": "ios",          // 可选,android, ios
	"cip": "1.24.81.170", // 可选,客户端ip
	"data":[
		{        
			"id":"20181113454545",   // **必选**,id和third_id必选其一,如果是犀光内容,此字段必须有值。
			"third_id":"343454",     // **必选**,id和third_id必选其一,如果是客户提供的内容,此字段必须有值。
			"rtype": "news",         // **必选**,资讯类型,news:图文, video:视频, audio:音频
			"delivery_time": 1543434343, // 可选, 下发时间
			"log_id": "565656",      // 可选,该资讯在请求推荐接口或频道接口时的请求log_id,用于定位问题
			"show_time": 1545566666, // 可选, 在屏幕上展现时的时间戳,单位s
			"duration": 30,          // 可选,如果是音视频,播放时间,单位s,如果是新闻,阅读时间,单位s
			"smfw": {"1001":"1"}, // 可选,推荐接口出去的smfw字段,带到这里
            "from": "推荐",       // 可选,该条资讯的出现在哪个频道下
            "dislike_reason": {    // 可选:不喜欢原因
                "common": [1,2], // 可选:1:看过了,2:内容不行
                "author": "某某", // 可选 
                "category": ["娱乐","啊三"],// 可选 
                "tags": ["穿搭","品相"] //// 可选 
            }
		}
	]
}

GET

  1. 方法:GET

  2. URL : https://down.qiyu3.com/HttpService/ReceiveLog?data={"log_id":"asofawapcvxbcnztest","cuid":"176505acd7","data":[{"rtype":"news","id":"20190711163626815399"}],"action_type":2,"app_id":"test","timestamp":"1562835081000"}

  3. 参数说明:

参数名 参数说明 是否必须 备注
data GET 参数包体 使用get请求时将post用的body体放入data中使用
  1. 成功返回值: Json结构
{
	"errno": 0,
	"errmsg": ""
}
  1. 出错返回值: Json结构
{
	"errno": -1,
	"errmsg": "parameter error"
}

内容数据上报

概述

此接口主要是接入方有数据,推送给犀光,并在推荐接口中使用此数据。

注意事项

  1. 您必须拥有您的 app_id 才能使用此接口。
  2. 如果 content 没有,则最好能将 tagscategory 上传,以提升推荐效果;另外list_images 也最好上传,这样推荐出去的内容,会有图片.

接口说明

  1. 方法: POST

  2. URL: https://down.qiyu3.com/HttpService2/push_news

  3. 请求包体: JSON结构,用户可以根据需要选择

## 1.急速简易版(只有必填字段):只有最基本内容,按时间推荐
{
    "app_id": "qiyu_zixun",  //犀光为您分配的app_id
    "timestamp": 1535881033, //时间戳: 单位 秒 当前时间
    "log_id": "raYl5bKc", // 日志标识,随机字符串
    "data": [
        {
            "third_id": "qiyu_zixun_001",  //第三方客户内容唯一标识
            "news_title":"奇遇资讯001",  //标题
            "type": 1,  //1 资讯; 3 视频; 5 音频; 9 图片 
            "pub_time": 1535881033,  //新闻发布时间 秒 
        },
        ...
    ]
}
## 2.简单版(必填字段 + 资讯内容):有咨询内容,通过奇遇算法提取信息,准确推送
{
    "app_id": "qiyu_zixun",  //犀光为您分配的app_id
    "timestamp": 1535881033, //时间戳: 单位 秒 当前时间
    "log_id": "raYl5bKc", // 日志标识,随机字符串
    "data": [
        {
            "third_id": "qiyu_zixun_001",  //第三方客户内容唯一标识
            "news_title":"奇遇资讯001",  //标题
            "type": 1,  //1 资讯; 3 视频; 5 音频; 9 图片 
            "pub_time": 1535881033,  //新闻发布时间 秒 
			"content":[  // 咨询内容,段落用{}相隔,
				{
					"type":"text",  // 段落属性,text、img
					"data":"对于很多女性来说,..."  // 段落内容
				},
				{
					"type":"img",  // 段落属性,text、img
					"data":"http://uri.jpg?imageView2/2/format/jpg", // 段落内容
					"width":600,
					"height":400,
					"size":27340
				},
				{
					"type":"text",
					"data":"其实,在生活中,..."
				},
				...
			]
        },
        ...
    ]
}
## 3.简单版(必填字段 + 上报标签):通过上报标签信息,奇遇推荐算法准确推荐
{
    "app_id": "qiyu_zixun",  //犀光为您分配的app_id
    "timestamp": 1535881033, //时间戳: 单位 秒 当前时间
    "log_id": "raYl5bKc", // 日志标识,随机字符串
    "data": [
        {
            "third_id": "qiyu_zixun_001",  //第三方客户内容唯一标识
            "news_title":"奇遇资讯001",  //标题
            "type": 1,  //1 资讯; 3 视频; 5 音频; 9 图片 
            "pub_time": 1535881033,  //新闻发布时间 秒 
			"category":["房产", "买房"], //分类,数组
			"subcategory": ["新房", "二手房"], //子分类,数组
            "tags":["户型图","卧室","尚城"], //内容标签,数组
        },
        ...
    ]
}
## 4.精准(必填字段 +资讯内容+ 上报标签):通过犀光算法处理和上报标签信息更精准的进行推荐
{
    "app_id": "qiyu_zixun",  //犀光为您分配的app_id
    "timestamp": 1535881033, //时间戳: 单位 秒 当前时间
    "log_id": "raYl5bKc", // 日志标识,随机字符串
    "data": [
        {
            "third_id": "qiyu_zixun_001",  //第三方客户内容唯一标识
            "news_title":"奇遇资讯001",  //标题
            "type": 1,  //1 资讯; 3 视频; 5 音频; 9 图片 
            "pub_time": 1535881033,  //新闻发布时间 秒 
			"category":["房产", "买房"], //分类,数组
			"subcategory": ["新房", "二手房"], //子分类,数组
            "tags":["户型图","卧室","尚城"], //内容标签,数组
			"content":[  // 咨询内容,段落用{}相隔,
				{
					"type":"text",  // 段落属性,text、img
					"data":"对于很多女性来说,..."  // 段落内容
				},
				{
					"type":"img",  // 段落属性,text、img
					"data":"http://uri.jpg?imageView2/2/format/jpg", // 段落内容
					"width":600, //图片宽度(可选)
					"height":400, //图片高度(可选)
                    "size":27340 //图片大小(可选)
				},
				{
					"type":"text",
					"data":"其实,在生活中,..."
				},
				...
			]
        },
        ...
    ]
}
## 5.全字段(必填字段 +资讯内容+ 上报标签 + 其他属性)
	// 通过犀光算法处理和上报标签信息精准全面的进行推荐
	// 通过添加新闻内容信息字段使得新闻在展示时更加全面
{
    "app_id": "qiyu_zixun",  //犀光为您分配的app_id
    "timestamp": 1535881033, //时间戳: 单位 秒 当前时间
    "log_id": "raYl5bKc", // 日志标识,随机字符串
    "data": [
        {
            "third_id": "qiyu_zixun_001",  //第三方客户内容唯一标识
            "news_title":"奇遇资讯001",  //标题
            "type": 1,  //1 资讯; 3 视频; 5 音频; 9 图片 
            "pub_time": 1535881033,  //新闻发布时间 秒 
			"category":["房产", "买房"], //分类,数组
			"subcategory": ["新房", "二手房"], //子分类,数组
            "tags":["户型图","卧室","尚城"], //内容标签,数组
			"content":[  // 咨询内容,段落用{}相隔,
				{
					"type":"text",  // 段落属性,text、img
					"data":"对于很多女性来说,..."  // 段落内容
				},
				{
					"type":"img",  // 段落属性,text、img
					"data":"http://uri.jpg?imageView2/2/format/jpg", // 段落内容
					"width":600, //图片宽度(可选)合适的宽高,更加好看
					"height":400, //图片高度(可选)
                    "size":27340 //图片大小(可选)
				},
				{
					"type":"text",
					"data":"其实,在生活中,..."
				},
				...,
			],
			"list_images":["url1", "url2",...],   //封面图, 列表展示
			"site_name": "xxx",     //新闻网站名称, 列表展示,详情展示
			"org_url":"xxx", //原始连接; 如果是音视频,且要上传7N,必须是可下载的音视频连接 (非必填),
			"news_source": "xxx", //
			"image_type": "jpg", //jpg, png...
			"up_count":0, //点赞量
			"down_count": 0, //点踩量
			"comment_count": 0, //评论量
			"click_count": 0, //点击量
			"is_hot":0, // 0:非热点, 1热点
			"is_high_video": 0, // 0: 否, 1:是
			"duration": 0, //时长:视频音频使用,
			"is_advertisement": 0 , // 广告内容 0:否, 1:是
			"author": "",  //作者名
			"channel": "", //频道
			"topic": "",  // 主题名称(类似分类概念)
			"has_attachment": 0, // 存在附件:0:否, 1:是
			"audio_url": "", //音频链接
			
			
        },
        ...
    ]
}
  1. 返回值: JSON结构
{
    errno: 0,  // 0 成功; others 失败
    errmsg: "success" //错误信息
}
  1. 例子
curl -XPOST 'https://down.qiyu3.com/HttpService2/push_news' -H "Content-Type: application/json" -d '{
        "app_id":"test",
        "timestamp":1532597459,
		"log_id": "raYl5bKc",
        "data":[
            {
                "third_id":"test_xxfdfafaa",
                "news_title":"半包6万装修109平米的房子,效果终于出来了!-中骏尚城装修",
                "type": 1,
                "category":"房产",
                "tags":["户型图","卧室","尚城"]
                "categories_weight":{"时事":1,"房产":2},
                "sub_categories_weight":{"生活":1,"趣事":2}
            }
        ]
    }'

如果执行成功,返回如下:

{
    "errno":0,
    "errmsg":"success"
}

内容上报数据查询

概述

此接口主要是接入方对上报数据是否已经成功入犀光库进行查询;是否推送成功,可以调用该接口查看

注意事项

​ 1.注:app_id是分配给您的;third_id 是推送时的第三方客户资讯内容标识; 例子测试的就是 "test_xxfdfafaa"

​ 2.上报后需要经过内容数据处理,会有一定的延迟

接口说明

  1. 方法: GET

  2. URL: https://down.qiyu3.com/HttpService2/get_news_detail?app_id=test&third_id=test_xxfdfafaa 20191010182217364898

  3. 参数说明

参数名 参数说明 是否必须 备注
app_id 每个客户会赋予一个唯一的app_id
third_id 客户上传新闻的标识

如果执行成功,返回如下:

{
  "attention": [
    
  ],
  "attentions": [
    "户型图",
    "卧室",
    "尚城"
  ],
  "audio_url": "",
  "author": "",
  "cagetory": "",
  "categories": [
    "房产"
  ],
  "channel": "",
  "click_count": 0,
  "comment_count": 0,
  "content": [
    
  ],
  "create_time": 1557042468384,
  "down_count": 0,
  "duration": 0,
  "errmsg": "success",
  "errno": 0,
  "expireTime": "2019-06-09 00:00:00",
  "from_sources": [
    "test1"
  ],
  "id": "20190505154748236915",
  "image_type": "",
  "is_advertisement": 0,
  "is_hot": 0,
  "is_pass_directly": 1,
  "is_permanent": 0,
  "is_used_src_resource": 1,
  "list_images": [
    
  ],
  "new_tags": [
    
  ],
  "news_source": "",
  "news_title": "半包6万装修109平米的房子,效果终于出来了!-中骏尚城装修",
  "num_content_images": 0,
  "org_url": "",
  "pub_time": 0,
  "site_name": "test1",
  "src_pub_time": 0,
  "sub_cagetory": "上海",
  "third_id": "test_xxfdfafaa",
  "topic": "",
  "type": 1,
  "up_count": 0
}

内容数据更新

概述

此接口主要是接入方对上报数据进行更新,推送给犀光。

注意事项

  1. 此接口和上报接口一致,只要在json体中加入"is_update":1即可

接口说明

  1. 方法: POST

  2. URL: https://down.qiyu3.com/HttpService2/push_news

  3. 请求包体: JSON结构

## "is_update":1, // 上传内容执行更新操作 
{
    "app_id": "qiyu_zixun",  //犀光为您分配的app_id
    "timestamp": 1535881033, //时间戳: 单位 秒 当前时间
    "log_id": "raYl5bKc", // 日志标识,随机字符串
	"is_update":1, // 上传内容执行更新操作 
    "data": [
        {
            "third_id": "qiyu_zixun_001",  //第三方客户内容唯一标识
            "news_title":"奇遇资讯001",  //标题
            "type": 1,  //1 资讯; 3 视频; 5 音频; 9 图片 
            "pub_time": 1535881033,  //新闻发布时间 秒 
        },
        ...
    ]
}

删除上报内容接口

概述

此接口用来删除已经上报的内容。

注意事项

  1. 必须有app_id才能调用

接口说明

  1. 方法: POST
  2. URL: https://down.qiyu3.com/HttpService2/remove_third_news
  3. 包体: Json结构
{
    "app_id": "xxx",  //犀光为您分配的app_id (必填)
    "sign": "xxx",  //签名 (必填)
	"log_id": "raYl5bKc", // 日志标识,随机字符串
    "timestamp": xxxx, //时间戳: 单位 秒 当前时间 (必填)
    "count":1,  //一次最多10条(必填)
    "third_ids":["xxx",...] //要删除的第三方资源id (必填)
}
  1. 返回值: Json结构
{
    errno: 0,  //0 成功; others 失败
    errmsg: "success" //错误信息
}

  1. 请求样例
curl -XPOST 'https://down.qiyu3.com/HttpService2/remove_third_news' -H "Content-Type: application/json" -d '{ "app_id":"test", "sign":"63ff29dbf9136322d87a47a5a237702f8fd488cc2cd72d898567be6bb4a666d3", "timestamp":1532597459, "count":1, "third_ids":["test_xxfdfafaa"] } }'

用户关注、订阅接口

概述

用户关注作者,用户订阅分类,使用此接口。

注意事项:

post请求时加headers ---- -H 'Content-Type: application/json;charset=UTF-8' 数据编码必须是utf-8

接口说明:

  1. 方法:POST
  2. URL : https://down.qiyu3.com/HttpService/focus/star
  3. 请求包体 : Json结构
{
    "app_id": "1212121",            // 必须,客户唯一标识
    "user_id": "03da17eb",             // 必须,用户唯一标识
    "focus_type": 0,     // 必须,关注类型。0:topic_star(关注主题), 1:authors_start(关注作者),2:categories_subscribe(订阅分类)
    "data": [
        {
            "id": "关注的id",        // 关注的主题id, 或者作者id, 或者分类id
            "name":topic_name, // 主题名称,或者作者名称,或者分类名称。
			"timestamp": 1530721135 //时间戳
        },
        {
            "id": "关注的id",        // 关注的主题id, 或者作者id, 或者分类id
            "name":topic_name, // 主题名称,或者作者名称,或者分类名称。
			"timestamp": 1530721135 //时间戳
        }
    ]
}
  1. 成功返回值: Json结构
{
	"errno": 0,
	"errmsg": "success"
}
  1. 出错返回值: Json结构
{
	"errno": -1,
	"errmsg": "parameter error"
}

用户取消关注、订阅接口

概述

用户取消关注作者,用户取消订阅分类,使用此接口。

注意事项:

post请求时加headers ---- -H 'Content-Type: application/json;charset=UTF-8' 数据编码必须是utf-8

接口说明:

  1. 方法:POST
  2. URL : https://down.qiyu3.com/HttpService/focus/cancel
  3. 请求包体 : Json结构
{
    "app_id": "1212121",            // 必须,客户唯一标识
    "user_id": "03da17eb",             // 必须,用户唯一标识
    "focus_type": 0,     // 必须,关注类型。0:topic_star(关注主题), 1:authors_start(关注作者),2:categories_subscribe(订阅分类)
    "data": [
        {
            "id": "关注的id",        // 关注的主题id, 或者作者id, 或者分类id
            "name":topic_name, // 主题名称,或者作者名称,或者分类名称。
			"timestamp": 1530721135 //时间戳
        },
        {
            "id": "关注的id",
			"name":topic_name,
            "timestamp": 1530721135
        }
    ]
}
  1. 成功返回值: Json结构
{
	"errno": 0,
	"errmsg": "success"
}
  1. 出错返回值: Json结构
{
	"errno": -1,
	"errmsg": "parameter error"
}

提交评论接口

概述

一般来说,评论业务是第三方客户自己做比较好。如果用户量很小,自己做成本较大的话,犀光也提供了简易的评论服务。客户直接调用犀光的评论接口即可。

注意事项:

数据编码必须是utf-8

接口说明:

  1. 方法:POST
  2. URL : https://down.qiyu3.com/HttpService/put_cmt
  3. 请求包体:
{
    "app_id": "default",     // 必须,接入客户唯一标识
    "user_id": "03da17eb",   // 必须,用户唯一标识
    "user_icon": "",         // 用户头像图片地址
    "user_name": "zhangsan",   // 必须,用户昵称
    "comment": "秀儿,是你吗",   // 必须,评论内容字符串长度300
    "id": "201908291644418707167",  // 资讯id,评论那条新闻
    "timestamp": 1570761616     // 时间戳,单位s秒
}
  1. 成功返回值: Json结构
{
	"errno": 0,
	"errmsg": "success"
}
  1. 出错返回值: Json结构
{
	"errno": -1,
	"errmsg": "parameter error"
}

拉取评论接口

概述

一般来说,评论业务是第三方客户自己做比较好。如果用户量很小,自己做成本较大的话,犀光也提供了简易的评论服务。客户直接调用犀光的评论接口即可。通过此接口拉取评论。

注意事项:

数据编码必须是utf-8

接口说明:

  1. 方法:GET
  2. URL : https://down.qiyu3.com/HttpService/get_cmt
  3. 参数 :
参数名 参数说明 是否必须 备注
app_id 客户标识
id 新闻id
page 分页页码
num 拉取当前页数量
  1. 成功返回值: Json结构
{
    "count": 2,
    "data": [
        {
            "comment": "shengghoasdkasdffas是的分开康师傅的是放大来看阿斯蒂芬",
            "user_id": "csj1234",
            "timestamp": "1538992443",
            "app_id": "blocklover",
            "user_icon": "www.google.com",
            "user_name": "ckrisers",
            "id": "20180924215238330789"
        },
        {
            "comment": "shengghoasdkasdffas是的分开康师傅的是放大来看阿斯蒂芬",
            "user_id": "csj1234",
            "timestamp": "1538992442",
            "app_id": "blocklover",
            "user_icon": "www.google.com",
            "user_name": "ckrisers",
            "id": "20180924215238330789"
        }
    ],
    "total": 26,
    "errno": 0,
    "errmsg": "success"
}
  1. 出错返回值: Json结构
{
	"errno": -1,
	"errmsg": "parameter error"
}

根据关键词搜索新闻接口

概述

每篇资讯,犀光都会对内容做挖掘,包括一些关键词。用户可以通过某关键词搜索资讯。

注意事项:

数据编码必须是utf-8

接口说明:

  1. 方法:GET
  2. URL : https://down.qiyu3.com/HttpService/rel/keywords?app_id=qiyu&keyword=大众&size=5&log_id=asdfasd
  3. 参数 :
参数名 参数说明 是否必须 备注
app_id 客户标识
keyword 关键词 默认最多10
size 获取资讯的数量
log_id 每次请求的标识 随机字符串6-10个
  1. 成功返回值: Json结构
{
  "errno": 0,
  "errmsg": "success",
  "data": {
    "count": 4,
    "data": [
      {
        "author": "毫无戒备之心",
        "cagetory": "汽车",
        "categories": "汽车",
        "click_count": 0,
        "comment_count": 0,
        "down_count": 0,
        "duration": 0,
        "id": "20191010184809778646",
        "list_images": [
          "http://qiniu2.xiguangtech.com/201910/52a344b1c58646489e7f26ac4caea3db.jpg?imageView2/1/format/jpg/w/400/h/200/interlace/1/q/200",
          "http://qiniu2.xiguangtech.com/201910/2dc231bcad3f49debf73e1884ddf157b.jpg?imageView2/1/format/jpg/w/400/h/200/interlace/1/q/200",
          "http://qiniu2.xiguangtech.com/201910/b1cb57fff03f4b11be2180bb20247824.jpg?imageView2/1/format/jpg/w/400/h/200/interlace/1/q/200"
        ],
        "news_source": "车壹哥",
        "news_title": "17.78万上顶配,2.0t榨出231匹,车长4647mm配bose音响",
        "org_url": "http://mini.eastday.com/a/191010183433464.html",
        "pub_time": 1570704489,
        "rec_src": [
          20
        ],
        "site_name": "东方头条",
        "smfw": {
          
        },
        "third_id": "",
        "type": "news",
        "up_count": 0,
        "user_defined": "",
        "create_time": 1570704489
      },...]
	}
}
  1. 出错返回值: Json结构
{
  "count": 0,
  "data": {
    
  },
  "errno": -1,
  "errmsg": "None is not of type 'string'"
}

客户APP配置labels查询

概述

客户APP配置栏目信息和位置信息,方便第三方API接入后动态调整栏目

注意事项:

数据编码必须是utf-8

接口说明:

  1. 方法:GET
  2. URL : https://down.qiyu3.com/HttpService/app_labels?app_id=demo&log_id=0OM0qMmo
  3. 参数 :
参数名 参数说明 是否必须 备注
app_id 客户标识
log_id 每次请求的标识 随机字符串6-10个
  1. 成功返回值: Json结构
{
  "errno": 0,
  "errmsg": "success",
  "data": [
    {
      "tab_id": "demo1556593024",
      "position": 0,
      "name": "推荐"
    },
    {
      "tab_id": "demo1546515084OGuhCo",
      "position": 1,
      "name": "娱乐"
    },
    {
      "tab_id": "demo1546515102ysTgsp",
      "position": 2,
      "name": "体育"
    },
    {
      "tab_id": "demo1546515141gsfGmp",
      "position": 3,
      "name": "图集"
    },
    {
      "tab_id": "demo1546515188BrhcWl",
      "position": 4,
      "name": "视频"
    },
    {
      "tab_id": "demo1546515118DSOrrO",
      "position": 5,
      "name": "热点"
    }
  ]
}
  1. 出错返回值: Json结构
{
  "errno": 0,
  "errmsg": "can't get label conf",
  "data": []
}

拉取数据成功反馈接口

概述

客户拉取犀光数据成功后,回传拉取到的资讯id,犀光推荐根据反馈id进行推荐。拉取资讯内容用户使用。

注意事项:

数据编码必须是utf-8

接口说明:

  1. 方法:POST
  2. URL : https://down.qiyu3.com/HttpService/sync_success
  3. 请求包体 : Json结构
{
    "app_id": "appId",            // 必须,客户唯一标识
    "log_id": "asdcxa",     // 本次请求的标识,随机6-12位字符串
    "data": [               // 犀光资讯id,资讯唯一性标识
       "20190902152413094423", "20190902152403309863"
    ]
}
  1. 成功返回值: Json结构
{
  "errno": 0,
  "errmsg": "success"
}
  1. 出错返回值: Json结构
{
  "errno": -1,
  "errmsg": "soxxxx"
}