主要内容

本页采用了机器翻译。点击此处可查看英文原文。

Send Alert

使用 HTTP POST 创建电子邮件警报

请求

HTTP 方法

POST

URL

https://api.thingspeak.com/alerts/send

URL 参数

没有可用参数

头文件

ThingSpeak-Alerts-API-KeyContent-Type 标题是必需的。Accept 头文件是可选的。

名称优先级描述值类型
ThingSpeak-Alerts-API-Key必需

指定警报 API 密钥,您可以在个人资料中找到该密钥。此密钥与通道 API 和用户 API 密钥不同。

字符串

Content-Type必需

  • application/json

  • application/x-www-form-urlencoded

字符串

主体参数

名称优先级描述值类型
subject可选

指定电子邮件消息的主题,最多 60 个字符。

字符串

body可选

指定电子邮件消息的正文,最多 500 个字符。

字符串

响应

成功

HTTP 状态代码

202 Accepted

错误

您可以使用 Accept 头文件控制错误消息提供的详细信息。为 Accept 头文件提供值 application/json,application/problem+json,服务器将返回详细的错误消息以及标准 HTTP 响应代码。

有关可能的 HTTP 错误的完整列表,请参阅 错误代码

示例

全部展开

使用 POSTMAN 通过 ThingSpeak 的 RESTful API 发出 HTTP 请求。

创建具有详细主题和正文的警报。

  1. 创建 POST 请求。在 POSTMAN 中,从 HTTP 动词列表中选择 POST,然后在地址栏中输入 https://api.thingspeak.com/alerts/send

  2. 输入标题。选择 Headers 选项卡。输入这些键和值对。

    Thingspeak-Alerts-API-KeyXXXXXXXXXXXXXXXX
    Content-Typeapplication/json

  3. 输入主体信息。选择 Body 选项卡,然后选择 raw。输入此 JSON 代码。

    {
        "subject": "ThingSpeak Alert email",
        "body": "The water level has reached its limit"
    }

响应采用 JSON 格式。服务器响应值为 202 OK,表示请求被接受。电子邮件不久后发送。

当某个通道的平均值高于设定的阈值时,使用 MATLAB® 生成警报。此示例使用 ThingSpeak 通道 276330,其中包含字段 7 中的实时办公室温度数据。注意,您可以在任何 MATLAB 环境中编写以下代码,包括 MATLAB 分析和桌面 MATLAB。

设置警报 API 密钥和请求的 URL。您的警报 API 密钥位于 Account > My Profile

从通道读取数据并计算数据的平均值。

data = thingSpeakRead(276330,"NumMinutes", 100);
aveTemp = mean(data(:, 7));

设置警报 API 密钥和请求的 URL。您的警报 API 密钥位于 Account > My Profile

apiKey = 'XXXXXXXXXXXXXXXX';
alertURL = "https://api.thingspeak.com/alerts/send";

警报发送请求需要 API 密钥头文件。构建 weboptions,以便 webwrite 可以适当地编写您的 HTTP 请求。还创建电子邮件正文和主题。

提示

当您使用 webwrite 在 MATLAB 中创建警报时,会自动指定所需的 Content-Type 头文件。

options = weboptions("HeaderFields", ["ThingSpeak-Alerts-API-Key", apiKey ]);
alertBody = sprintf("The temperature is %0.2f°F.", aveTemp);
alertSubject = sprintf("🌡 Temperature exceeded 60.0°F!");

如果温度高于 60 °F,则发送警报。

if aveTemp > 60.0
    webwrite(alertURL, "body", alertBody, "subject", alertSubject, options);
end    

电子邮件中使用的时间戳位于您在 ThingSpeak 设置中设置的时区,您可以在 Account > My Profile 中找到。您可以使用 Get Alert History API 调用来跟踪您的电子邮件状态。

现在您可以使用 TimeControl App 调度此代码定期运行。转至 Apps > TimeControl 并选择新的 TimeControl。将 Frequency 设置为重复,将 Recurrence 设置为 100 分钟。选择 Action 作为 MATLAB 分析,并选择您在上一步中编写的 MATLAB 分析的名称。保存时间控制。

当平均气温超过 60 ℉ 时,您将收到来自 ThingSpeak 的电子邮件。

限制

  • 用户每 30 分钟最多可收到 2 次警报。速率限制是在发出请求时应用的,而不是在发送电子邮件时应用的。如果超出请求限制,API 将返回响应代码 429。