Custom API Actionカードを構築する
Custom API Action(CAPIA)は、エンドユーザーが対象サービスへの認証済みHTTPリクエストを作成できる、コネクターのアクションカードです。
ベースURLはコネクターのコードに埋め込まれるため、エンドユーザーは相対URLを追加するだけです。その上で、必要に応じてヘッダー、クエリ、リクエスト本文に必要なオブジェクトを手動で作成します。
CAPIAは、サービスからのデータをStatus Code(ステータスコード)、Headers(ヘッダー)、Body(本文)の3つの出力として返します。
-
ページ右上端の[+ New Flow(新規フロー)]をクリックし、[フロー]タブでフローを作成します。
-
[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)入力を設定します。
-
メッセージ入力として、Return Error Ifカードに「Relative URL must include a leading '/'.(相対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、その他の必要データを手動で追加してテストします。