亚马逊实时排名及rating API

接口地址:亚马逊产品排名和评分API (ooii.io)

目前是免费的,只要调用不是很频繁,会一直免费,所以且用且珍惜,禁止商业化和公作室,一旦发现高频调用直接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示例:

QQ推送

微信示例:

2021-09-01_00_28_22

钉钉机器人

钉钉

钉钉机器人的实现很简单,加上官方有很好的文档,所以可以直接贴代码

钉钉的自动发送机机器人是官方的接口,这个接口不能通过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获取不到数据,有问题欢迎提出,但请不要章口就莱。

微信机器人请参阅我的另外一篇文章

最后修改:2022 年 02 月 16 日
如果觉得我的文章对你有用,请随意赞赏