Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

Send Alert

HTTP POST を使用して電子メール アラートを作成する

要求

HTTP メソッド

POST

URL

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

URLパラメーター

使用可能なパラメーターがありません

ヘッダー

ThingSpeak-Alerts-API-KeyヘッダーとContent-Type ヘッダーは必須です。Acceptヘッダーはオプションです。

名前優先順位説明値のタイプ
ThingSpeak-Alerts-API-Key必須

アラート API キーを指定します。これはprofileにあります。このキーは、チャネルAPI キーやユーザー API キーとは異なります。

string

Content-Type必須

  • application/json

  • application/x-www-form-urlencoded

string

Bodyパラメーター

名前優先順位説明値のタイプ
subjectオプション

電子メール メッセージの件名を 60 文字以内で指定します。

string

bodyオプション

電子メール メッセージのbodyを500 文字以内で指定します。

string

対応

成功

HTTPステータスコード

202 Accepted

エラー

Acceptヘッダーを使用して、エラー メッセージで提供される詳細を制御できます。Acceptヘッダーに値application/json,application/problem+jsonを指定すると、サーバーは標準の HTTP 応答コードとともに詳細なエラー メッセージを返します。

考えられる HTTP エラーの完全なリストについては、 エラー コードを参照してください。

すべて展開する

ThingSpeakの RESTful API を使用して HTTP要求を作成するには、POSTMANを使用します。

詳細な件名とbodyを含むアラートを作成します。

  1. POST要求を作成します。POSTMANで、HTTP 動詞のリストから POST を選択し、アドレス バーにhttps://api.thingspeak.com/alerts/sendと入力します。

  2. ヘッダーを入力します。「Headers」タブを選択します。これらのキーと値のペアを入力します。

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

  3. body 情報を入力します。「Body」タブを選択し、 「raw」を選択します。この JSON コードを入力します。

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

応答は JSON 形式です。サーバーの応答値は 202 OK で、要求が受け入れられたことを示します。すぐに電子メールが送信されます。

MATLAB®を使用して、チャネルの平均値が設定されたしきい値を超えたときにアラートを生成します。この例では、フィールド 7 にオフィスのライブ温度データが含まれるThingSpeak channel 276330を使用します。次のコードは、 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要求を適切に書き込めるようにします。メールのbodyと件名も作成します。

ヒント

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アプリを使用して、このコードが定期的に実行されるようにスケジュールできるようになりました。Apps > TimeControlに移動し、新しいTimeControlを選択します。Frequencyを定期に、 Recurrenceを 100 分に設定します。ActionをMATLAB分析として選択し、前の手順で作成したMATLAB分析の名前を選択します。TimeControl を保存します。

平均気温が 60 °F を超えると、 ThingSpeakからメールが届きます。

制限

  • ユーザーは 30 分ごとに 2 つのアラートに制限されます。レート制限は、電子メールの送信時ではなく、要求の実行時に適用されます。要求制限を超えると、API はレスポンス コード 429 を返します。