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