亚马逊实时排名及rating API
目前是免费的,只要调用不是很频繁,会一直免费,所以且用且珍惜,禁止商业化和公作室,一旦发现高频调用直接ban IP
可在此地址测试,批量查询和导出为excel已在开发进度中
https://api.ooii.io/asin/api.php
参数:asin
示例:https://api.ooii.io/asin/api.php?asin=B07C84NYR3
返回值JSON:
{"state":200,"asin":"B07C84NYR3","rank":"4.8","count_num_result":"2056","categorise":"8867","categoriseName":"Kitchen&Dining","subcategorise":"9","subcategoriseName":"PastaBowls"}
使用
获得数据后直接定时推送至设备,比如QQ, 微信,邮件, 钉钉等!
QQ示例:
微信示例:
钉钉机器人
钉钉机器人的实现很简单,加上官方有很好的文档,所以可以直接贴代码
钉钉的自动发送机机器人是官方的接口,这个接口不能通过http/socks等方式hook,所以不支持自动回复,监听消息,互动等复杂功能,实现业务告警,定时推送还是不错的。
不过需要注意的点是,安全设置里的关键词,看下官方的解释
自定义关键词
最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功。
例如添加了一个自定义关键词:监控报警 ,则这个机器人所发送的消息,必须包含监控报警 这个词,才能发送成功。
import fetch from 'node-fetch';
import crypto from 'crypto';
import schedule from 'node-schedule';
//设定时间和时区。在9点5分0秒触发
const rule = new schedule.RecurrenceRule();
rule.hour = 9
rule.minute = 5
rule.second = 0
rule.tz = 'Asia/Shanghai';
let asin = 'xxxxxxxxx' //asin
const job = schedule.scheduleJob(rule, async() => {
// 如果需要批量查询,异步封装下,写个数组foreach即可
// fetch还是挺好用的,支持链式调用
let res = await fetch(`https://api.ooii.io/asin/api.php?asin=${asin}`);
let data = await res.json();
// 使用官方的消息模板 https://open.dingtalk.com/document/robots/custom-robot-access
let msg
// 接口可能失败,做个查询状态判断
if (data.state != 200) {
msg = {失败的...}
} else {
msg = {成功的...}
}
let url = '你的URL' //参考文档,自行鉴权, 建议使用secret加签,及关键词
let response = await fetch(url, {
method: 'post',
body: JSON.stringify(msg),
headers: {'Content-Type': 'application/json'}
});
let info = await response.json();
console.log(info); //接收返回消息
})
说明
由于是个人开发者,而亚马逊的产品页面有很多版本,所以可能会导致有的asin获取不到数据,有问题欢迎提出,但请不要章口就莱。
微信机器人请参阅我的另外一篇文章
9 条评论
大佬,能否咨询下您的联系方式?
牛逼!
膜拜
想做钉钉自定义机器人,用wehook定时推送排名到钉钉
不知道是否方便加个微信,想付费麻烦您做一下这个功能( ๑´•ω•) "(ㆆᴗㆆ)
是的~