メインコンテンツ

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

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 キーを指定します。このキーは、チャネル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 エラーの完全なリストについては、エラーコード を参照してください。

すべて展開する

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

詳細な件名と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 チャネル276330 を使用します。次のコードは、MATLAB Analysis やデスクトップ 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 キー ヘッダーが必要です。webwrite が HTTP要求を適切に書き込めるように weboptions をビルドします。メールの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    

電子メールで使用されるタイムスタンプは、Account > My Profile にある ThingSpeak 設定で設定されたタイムゾーンになります。Get Alert History API 呼び出しを使用して、電子メールのステータスを追跡できます。

これで、 TimeControlアプリを使用して、このコードを定期的に実行するようにスケジュールできるようになりました。[Apps] > [TimeControl] に移動して、[New TimeControl] を選択します。Frequency を定期に設定し、Recurrence を 100 分に設定します。Action を MATLAB 解析として選択し、前の手順で記述した MATLAB 解析の名前を選択します。TimeControlを保存します。

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

制限

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