Custom API Actionカードの構築
Custom API Action(Custom API Action、CAPIA)は、エンドユーザーが対象サービスへの認証済みHTTPリクエストを作成できる、コネクターのアクションカードです。
ベースURLはコネクターにハードコーディングされるため、エンドユーザーは相対URLを追加するだけです。その上で、必要に応じてヘッダー、クエリ、リクエスト本文に必要なオブジェクトを手動で作成します。
CAPIAは、サービスからのデータをStatus Code(ステータスコード)、Headers(ヘッダー)、Body(本文)の3つの出力として返します。
-
ページ右上端の[+ New Flow(新規フロー)]をクリックし、[Flows(フロー)]タブでフローを作成します。
-
[Action(アクション)]をクリックします。
-
ツールバーの[Save(保存)]をクリックし、フローにCustom API Actionという名前を付けます。
-
フローの説明フィールドに「Make an authenticated HTTP request to the {your service} API({サービス名} APIへの認証済みHTTPリクエストの作成)」と入力します。[Save all data that passes through the Flow(フローを通過するすべてのデータを保存)]オプションを選択して[Save(保存)]をクリックします。
-
Connector Actionカードの[Add Options(オプションの追加)]をクリックします。
-
[Add Field(フィールドの追加)]をクリックし、Request Type(リクエストタイプ)というラベルのフィールドを追加して「Dropdown: Static Values(ドロップダウン:静的な値)」と入力します。
-
[Add Option(オプションの追加)]をクリックし、ユーザーがAPI向けに選択できる各リクエストタイプ(GET、PATCH、POST、PUT、DELETE)の行を追加します。[Option(オプション)]フィールドと[Value(値)]フィールドには同じテキストを入力します。デフォルトを選択する必要はありません。
-
フィールドにRequired(必須)のマークが付けられていることを確認し、[Save(保存)]をクリックします。
-
Connector Action(コネクターアクション)カードの[Add Inputs(入力の追加)]をクリックします。
-
[Add Field(フィールドの追加)]をクリックし、次のフィールドとデータタイプを追加して[Save(保存)]をクリックします。
-
Relative URL:[Text(テキスト)]および[Required(必須)]
-
Query:[Object(オブジェクト)]
-
Headers:[Object(オブジェクト)]
-
Body:[Object(オブジェクト)]
-
-
Relative URL(相対URL)入力の入力検証を追加します。これにより、クロスサイトリクエストフォージェリ(CSRF)攻撃などの脆弱性を防止できます。
-
Text Atカードをフローの最初のカードとして追加します。
-
Connector Action(コネクターアクション)カードのRelative URL出力をText Atカードのテキスト入力にドラッグします。
-
Text Atカードで入力の位置を0に設定します。
-
エラー処理のReturn Error Ifカードをフローの2番目のカードとして追加します。
-
Text Atカードからの文字出力をReturn Error Ifカードのvalue a(値 a)入力にドラッグします。
-
Return Error Ifカードの比較オプションをnot equalに設定します。
-
Return Error Ifカードの/にvalue b(値 b)入力を設定します。
-
メッセージ入力として、「Relative URL must include a leading '/'. on the Return Error If card.(Return Error Ifカードでは、相対URLに先頭の「/」が含まれている必要があります)」と入力します。
-
Return Error Ifカードの400にstatusCode(ステータスコード)入力を設定します。
-
-
Flow Control関数のCall Flowカードをフローの3番目のカードとして追加します。
-
[Choose Flow(フローの選択)]をクリックします。
-
事前に作成したhttpHelperフローを選択します。カードには、httpHelperフローに定義されている入力が自動的に取り込まれます。
-
Connector ActionカードのRelative URL(相対URL)出力をCall Flowカードのrelative_url入力にドラッグします。
-
Connector ActionカードのRequest Type(リクエストタイプ)出力をCall Flowカードのrequest_method入力にドラッグします。
-
Connector ActionカードのQuery(クエリ)出力をCall Flowカードのquery入力にドラッグします。
-
Connector ActionカードのHeaders(ヘッダー)出力をCall Flowカードのheaders入力にドラッグします。
-
Connector Actionカードの[Body(本文)]出力をCall Flowカードの[body(本文)]入力にドラッグします。
-
Call Flowカードの出力には、httpHelperフローの出力と同じキーを定義する必要もあります。
-
status_code:[Number(数値)]
-
headers:[Object(オブジェクト)]
-
body:[Object(オブジェクト)]
-
-
Return Outputsカードの[Add Outputs(オプションの追加)]をクリックします。
-
[Add Field(フィールドの追加)]をクリックし、次の3つの新規フィールドとデータタイプを追加して[Save(保存)]をクリックします。
-
Status Code:[Number(数値)]
-
Headers:[Object(オブジェクト)]
-
Body:[Object(オブジェクト)]
-
-
Call Flowカードの出力をReturn Outputsカードの対応入力にドラッグします。
-
コネクターのAuthpingカードのauth(認証)オブジェクトをCall FlowカードのConnection(接続)入力フィールドにドラッグします。
-
フローを保存し、テストダイアログにリクエストメソッド、相対URL、その他の必要データを手動で追加してテストします。