Custom API Actionカードの構築

Custom API Action(Custom API Action、CAPIA)は、エンドユーザーが対象サービスへの認証済みHTTPリクエストを作成できる、コネクターのアクションカードです。

ベースURLはコネクターにハードコーディングされるため、エンドユーザーは相対URLを追加するだけです。その上で、必要に応じてヘッダークエリ、リクエスト本文に必要なオブジェクトを手動で作成します。

CAPIAは、サービスからのデータをStatus Code(ステータスコード)Headers(ヘッダー)Body(本文)の3つの出力として返します。

  1. ページ右上端の[+ New Flow(新規フロー)]をクリックし、[Flows(フロー)]タブでフローを作成します。

  2. [Action(アクション)]をクリックします。

  3. ツールバーの[Save(保存)]をクリックし、フローにCustom API Actionという名前を付けます。

  4. フローの説明フィールドに「Make an authenticated HTTP request to the {your service} API({サービス名} APIへの認証済みHTTPリクエストの作成)」と入力します。[Save all data that passes through the Flow(フローを通過するすべてのデータを保存)]オプションを選択して[Save(保存)]をクリックします。

  5. Connector Actionカードの[Add Options(オプションの追加)]をクリックします。

  6. [Add Field(フィールドの追加)]をクリックし、Request Type(リクエストタイプ)というラベルのフィールドを追加して「Dropdown: Static Values(ドロップダウン:静的な値)」と入力します。

  7. [Add Option(オプションの追加)]をクリックし、ユーザーがAPI向けに選択できる各リクエストタイプ(GETPATCHPOSTPUTDELETE)の行を追加します。[Option(オプション)]フィールドと[Value(値)]フィールドには同じテキストを入力します。デフォルトを選択する必要はありません。

  8. フィールドにRequired(必須)のマークが付けられていることを確認し、[Save(保存)]をクリックします。

  9. Connector Action(コネクターアクション)カードの[Add Inputs(入力の追加)]をクリックします。

  10. [Add Field(フィールドの追加)]をクリックし、次のフィールドとデータタイプを追加して[Save(保存)]をクリックします。

    • Relative URL[Text(テキスト)]および[Required(必須)]

    • Query[Object(オブジェクト)]

    • Headers[Object(オブジェクト)]

    • Body[Object(オブジェクト)]

  11. Relative URL(相対URL)入力の入力検証を追加します。これにより、クロスサイトリクエストフォージェリ(CSRF)攻撃などの脆弱性を防止できます。

    1. Text Atカードをフローの最初のカードとして追加します。

    2. Connector Action(コネクターアクション)カードのRelative URL出力をText Atカードのテキスト入力にドラッグします。

    3. Text Atカードで入力の位置を0に設定します。

    4. エラー処理のReturn Error Ifカードをフローの2番目のカードとして追加します。

    5. Text Atカードからの文字出力をReturn Error Ifカードのvalue a(値 a)入力にドラッグします。

    6. Return Error Ifカードの比較オプションをnot equalに設定します。

    7. Return Error Ifカードの/value b(値 b)入力を設定します。

    8. メッセージ入力として、「Relative URL must include a leading '/'. on the Return Error If card.(Return Error Ifカードでは、相対URLに先頭の「/」が含まれている必要があります)」と入力します。

    9. Return Error Ifカードの400statusCode(ステータスコード)入力を設定します。

  12. Flow Control関数のCall Flowカードをフローの3番目のカードとして追加します。

  13. [Choose Flow(フローの選択)]をクリックします。

  14. 事前に作成したhttpHelperフローを選択します。カードには、httpHelperフローに定義されている入力が自動的に取り込まれます。

  15. Connector ActionカードのRelative URL(相対URL)出力をCall Flowカードのrelative_url入力にドラッグします。

  16. Connector ActionカードのRequest Type(リクエストタイプ)出力をCall Flowカードのrequest_method入力にドラッグします。

  17. Connector ActionカードのQuery(クエリ)出力をCall Flowカードのquery入力にドラッグします。

  18. Connector ActionカードのHeaders(ヘッダー)出力をCall Flowカードのheaders入力にドラッグします。

  19. Connector Actionカードの[Body(本文)]出力をCall Flowカードの[body(本文)]入力にドラッグします。

  20. Call Flowカードの出力には、httpHelperフローの出力と同じキーを定義する必要もあります。

    • status_code[Number(数値)]

    • headers[Object(オブジェクト)]

    • body[Object(オブジェクト)]

  21. Return Outputsカードの[Add Outputs(オプションの追加)]をクリックします。

  22. [Add Field(フィールドの追加)]をクリックし、次の3つの新規フィールドとデータタイプを追加して[Save(保存)]をクリックします。

    • Status Code[Number(数値)]

    • Headers[Object(オブジェクト)]

    • Body[Object(オブジェクト)]

  23. Call Flowカードの出力をReturn Outputsカードの対応入力にドラッグします。

  24. コネクターのAuthpingカードのauth(認証)オブジェクトをCall FlowカードのConnection(接続)入力フィールドにドラッグします。

  25. フローを保存し、テストダイアログにリクエストメソッド、相対URL、その他の必要データを手動で追加してテストします。

次の手順

revokeフローの構築