Main Content

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

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 密钥,您可以在 profile 中找到该密钥。该密钥不同于通道API 和用户 API 密钥。

字符串

Content-Type必需

  • application/json

  • application/x-www-form-urlencoded

字符串

主体参数

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

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

字符串

body可选

指定电子邮件的主体,最多 500 个字符。

字符串

响应

成功

HTTP 状态代码

202 Accepted

错误

您可以使用 Accept头文件控制错误消息提供的详细信息。提供具有值 application/json,application/problem+jsonAccept头文件,服务器将返回详细的错误消息以及标准 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 channel 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 并选择新的时间控制。将 Frequency 设置为“重复”,将 Recurrence 设置为 100 分钟。选择 Action 作为 MATLAB 分析,并选择您在上一步中编写的 MATLAB 分析的名称。保存时间控件。

当平均温度超过 60 华氏度时,您将收到一封来自 ThingSpeak 的电子邮件。

局限性

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