开发者接口
API 接口主要面向企业,用于获取行业资讯/同步文章至内部系统等。
该文档需要技术同学阅读,需要理解什么是 webhook
以及知道如何写一个接收 POST
数据的接口。
说明
API 套餐不同于价格界面的阅读套餐,阅读套餐不允许非 RSS 阅读器用途的程序采集,具体价格请联系客服。
开通接口套餐需要注意的是,延时并不会变成实时或者有大的缩短(1分钟-28小时左右,偶尔有比较大延迟),但是因为使用 webhook 通知机制通常会比阅读器抓取快一些。
支持按月/按年付费。按月价格可能变动,续费时按照实时价格计算。
接口套餐不支持 RSS 阅读器,即此时提供的 RSS 链接是无效的。需要保留 RSS 阅读器抓取需要付费(联系我们进行设定)。
接口不会返回阅读数、点赞数等数据。
对于视频类型文章,因为文章内视频地址非固定地址,也无法返回。
密钥
开通 API 付费套餐后会生成一个密钥,uuid 类型,可在【我的订阅 -> API 设置】查看。
webhook 配置
需要在【我的订阅-> API 设置】配置一个 http 或者 https 协议的 url 用以接收数据推送,我们会以 application/json 的 content-type 和 POST 的方式推送文章数据。
推送方式是一个新文章一个推送。
支持鉴权参数,会附带在 webhook 参数中一起发送,参数名为 token。
系统在网络异常的情况下可能会重复推送同一篇文章,所以需要进行唯一性判断避免保存重复文章。
推送字段:
{
"token", // 鉴权参数
"title", // 标题
"url", // 链接
"source_url", // 原文链接
"posted_at", // 发布时间
"idx", // 文章位置,从 0 开始
"mid", // 在链接中的文章 mid 参数,注意 mid + idx + account_iid 才能确定一篇文章唯一性
"author", // 作者
"summary", // 摘要
"picture", // 主图
"content", // 内容
"type", // 类型 video 视频 repost 转发 image 图片 voice 音频 post 普通文章 text 文字
"content_iid", // 文章在 werss 系统中的唯一数字 id,
"is_original", // 是否有原创标记
"account_meta": { // 账号信息
"name", // 公众号名字
"avatar", // 头像
"description", // 描述
"alias", // 公众号 id
"biz", // 公众号数字 id
"account_iid", // 公众号在 werss 系统中的数字 id
"rss_id" // 当前账号 rss_id
}
}
主动触发 webhook 推送
仅用于测试,因为只要配置了 webhook 地址,新文章会自动推送。
通过下面链接可以手动触发推送,参数 url 为你订阅的任一公众号的任一篇文章(需要 encode),auth_token 为后台你配置的鉴权 token。举例:
https://wealert2.vux.li/api/v1/wechats/extract_url?url=http%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUxMDE3Mjg4NA%3D%3D%26amp%3Bmid%3D2247491842%26amp%3Bidx%3D2%26amp%3Bsn%3D223f0c63b97420a76eb190ea0757afb6%26amp%3Bchksm%3Df905aab9ce7223afd4f0bd2330e98beeb4f8a94cd8696a9744355a58d5b15e07c7117c89483a%23rd&auth_token=123456
API 请求域名
当前 API 请求域名为 https://wealert2.vux.li
,如果仅通过 webhook 接收推送则用不到该域名。
API 获取订阅账号列表
GET https://wealert2.vux.li/api/v3/developers/subscribes?token=密钥
返回的参数中 rss_id 用以在主动拉取接口中作为公众号识别 id 使用。
{
"done": true,
"error": 0,
"data": {
"list": [
{
"name": "公众号1",
"avatar": "http://wx.qlogo.cn/mmhead/Q3auHgzwzM6b4wlcQqibMNtOyWMV5PIp9dNknicVFrdicYEgnVr8iafd4w/132",
"description": "公众号描述",
"alias": "Dejuhwfch",
"biz": "3568888514",
"valid": true,
"account_iid": 2001784,
"status": null,
"rss_id": "9198fea1-667f-498f-93cf-**********",
"last_posted_at": "2019-11-25T00:30:00.000Z",
"last_fetched_at": "2019-11-25T07:53:24.000Z",
"subscribed_at": "2019-11-20T10:55:07.650Z"
},
{
"name": "公众号2",
"avatar": "http://wx.qlogo.cn/mmhead/Q3auHgzwzM78BmnoDpVXRW6iaZM4HqDphcrRJoR8G8kwq2U6CcDics1w/132",
"description": "公众号描述",
"alias": "gold1849",
"biz": "3254358981",
"valid": true,
"account_iid": 1262162,
"status": null,
"rss_id": "cc636bf9-98f5-4ead-a2f1-**********",
"last_posted_at": "2019-11-24T22:30:00.000Z",
"last_fetched_at": "2019-11-25T08:04:33.000Z",
"subscribed_at": "2019-11-20T10:55:49.817Z"
}
]
}
}
API 主动拉取单个账号近期文章
非实时接口,仅为返回系统保存的最近的 8 篇文章。
如无必要,不需要请求该接口,使用 webhook 可以更快更低成本。
RSS_ID 为订阅列表返回的每个账号的 rss_id。
GET https://wealert2.vux.li/api/v3/developers/subscribes/RSS_ID?token=密钥
{
"done": true,
"error": 0,
"data": {
"list": [{
"title", // 标题
"url", // 链接
"source_url", // 原文链接
"posted_at", // 发布时间
"idx", // 文章位置,从 0 开始
"mid", // 在链接中的文章 mid 参数,注意 mid + idx + account_iid 才能确定一篇文章唯一性
"author", // 作者
"summary", // 摘要
"picture", // 主图
"content", // 内容
"content_iid", // 文章在 werss 系统中的唯一数字 id
"is_original" // 是否有原创标记
}],
"account_meta": { // 账号信息
"name",
"avatar",
"description",
"alias",
"biz",
"account_iid",
"rss_id"
}
}
}