• 获取详情H5页面
  • 相关推荐接口
  • 用户行为上报(简版)
  • 内容数据上报
  • 内容上报数据查询
  • 内容数据更新
  • 删除上报内容接口
  • 用户关注、订阅接口
  • 用户取消关注、订阅接口
  • 提交评论接口
  • 拉取评论接口
  • 根据关键词搜索新闻接口
  • 客户APP配置labels查询
  • 拉取数据成功反馈接口
  • 一、前言

    在互联网领域,尤其现在的移动互联网时代,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"
    }