Web フックの演習
作成対象:
- 初心者
- ユーザー
Webhook で開始されるシナリオを作成、トリガー、管理する方法について説明します。
演習の概要
このシナリオの目的は、コンビニエンスストアに販売するアプリを作成して、お客様がアルコールを購入できる年齢に達しているかどうかをコンビニエンスストアが簡単に判断できるようにすることです。レジ担当者は、お客様の名前と生年月日を、提供された URL に POST するだけで済みます。その POST によって、回答を計算してリクエスターに返すシナリオがトリガーされます。
-
このシナリオは、3 つの Webhook で構成されています。
-
トリガーモジュールは、POST をリッスンするカスタム Webhook です。
-
POST を受信すると、次のモジュールの 1 つに出力されます。
-
次のモジュールは、リクエスターに応答を返します。
手順
トリガー Webhook を設定します。
-
新しいシナリオを作成し、「Webhook の使用」という名前を付けます。
-
トリガーには、Webhook アプリからカスタム Webhook モジュールを追加します。
-
「追加」をクリックして、新しい Webhook を作成します。
-
「飲酒年齢アプリ」の Webhook 名を入力します。
-
IP 制限は空白のままにします。つまり、誰でもデータを送信できます。
-
「保存」をクリックします。
-
Webhook マッピングパネルに戻ると、この特定の Webhook 用の URL が作成されます。「アドレスをクリップボードにコピー」をクリックして、その URL をコピーします。
-
「OK」をクリックします。
-
「1 回実行」をクリックします。
-
Postman で URL を使用して、名前と生年月日をカスタム Webhook に送信します。Postman の設定手順については、Webhook のチュートリアルを参照してください。
Webhook モジュールパネルは次のようになります。
Webhook は、データ構造を判断するためにデータをリッスンしている状態になりました。
-
取得するペイロードのデータ構造を定義できます(データ構造については後で説明します)。 データ構造を定義していない場合、Fusion は、POST の送信時にデータ構造を自動的に決定します。
-
Postman 側では、コピーした URL に送信します。投稿には、基本的なフォームデータが含まれている必要があります。この例では、名前、生年月日、clientToken の 3 つのフィールドが必要です。
-
「Postman から送信」をクリックすると、POST が承認されたことを示すメッセージが表示されます。
-
これは、シナリオで、データ構造が正常に決定されたことを示すポイントです。
-
実行インスペクターを開くと、データが受信されたことを確認できます。
クライアントトークンのルーティングを設定します。
-
ルーターをトリガーモジュールに追加します。
-
上部のパスに Webhook 応答モジュールを追加します。これは、クライアントトークンが一致しない場合のパスになります。
-
ステータスを 401 に設定します。
-
本文を {"エラー" : "リクエストの認証に失敗しました。clientToken を確認してください"} に設定します。
-
ルーターと Webhook 応答モジュールの間にフィルターを作成します。「クライアントトークンが一致しません」という名前を付けます。
-
条件には、トリガーモジュールの clientToken フィールドを使用し、「次に等しくない」を使用して、5121933 と数値比較を行います。
-
下部のパスに別の Webhook 応答モジュールを追加します。 これは、クライアントトークンが一致する場合のパスになります。
-
ステータスを 200 に設定します。
-
本文の設定では、マッピングパネルの関数を使用して、ユーザーが 21 歳以上かどうかをテストします。そうであれば「あんたは飲酒が可能な年齢です」、そうでなければ「残念ですが…」を返します。
-
ルーターと下位パスの Webhook 応答モジュールの間にフィルターを作成します。「クライアントトークンが一致します」という名前を付けます。
-
条件には、トリガーモジュールの clientToken フィールドを使用し、5121933 という数値と「次に等しい」比較を行います。
-
「1 回実行」の下にある 「スケジュール」ボタンをクリックしてシナリオをアクティブ化し、新しい投稿があるたびに受信され、いずれかのパスをたどって応答を生成するようにします。