OpenAPIデフォルトコネクションフィールドリファレンス

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

OpenAPIコネクターを使用してカスタムコネクターを作成する場合、コネクションの設定時にエンドユーザーに表示されるフィールドを制御します。

このガイドは、ユニバーサルOpenAPIコネクターのデフォルトコネクションフィールドのリファレンスです。

フィールドリファレンスドキュメント

OpenAPIコネクターの各コネクションフィールドには、このガイド内に独自のセクションがあります。 各セクションでは、次の情報を確認できます:

説明 フィールドの説明
UI名 Workatoに表示されるフィールドの名前。例: 認証方法
ソースコード名 コネクターのソースコード内のフィールド名。例: auth_method
必須? フィールドが必須かどうか

必須フィールド

コネクションフィールドはカスタマイズできますが、カスタムOpenAPIコネクターを正常に設定するには、次のフィールドがconnection.fieldsまたはadjust_connectionに存在する必要があります:

INFO

*記号は、マークされたフィールドが別のフィールドに依存していることを示します。 詳細については、マークされたフィールドのドキュメントを参照してください。

長いフィールドヒントを許可

Noに設定すると、オブジェクトヒントは1つの段落に切り詰められます。 デフォルトはNoです。

UI名 長いフィールドヒントを許可
ソースコード名 advanced.allow_multi_paragraph_hint
必須? No

認証方法

これは必須フィールドです。

コネクションで使用する認証方法。 このフィールドの値によって、ユーザーが認証のために指定する必要がある他の値が決まります:

サポートされている認証方法の詳細については、OpenAPI認証ガイドを参照してください。

UI名認証方法
ソースコード名auth_method
必須? Yes

Basic認証ユーザー

これは必須フィールドです。

アプリケーションユーザー/アカウントの名前。

UI名Basic認証ユーザー
ソースコード名basic_auth_user
必須?認証方法basicに設定されている場合はYes

Basic認証パスワード

これは秘密にしておく必要があります。

UI名Basic認証パスワード
ソースコード名basic_auth_password
必須? No

スキーマ深度制限

入力スキーマと出力スキーマの説明に含めるネストされたフィールドの最大深度を定義します。

UI名 スキーマ深度制限
ソースコード名 advanced.max_schema_depth
必須? No

ネストされたフィールドを制限

入力スキーマまたは出力スキーマにネストされたフィールドが多すぎる場合、コネクターを使用しにくくなることがあります。

たとえば、companyオブジェクトには、別のcompanyオブジェクトであるparentCompanyのプロパティがあります。 さらに、親会社にも別のparentCompanyがある場合があります。

スキーマ深度制限スキーマ再帰制限を使用すると、このネストが無期限に続くのを防ぐことができます。

スキーマ再帰制限

入力スキーマと出力スキーマの説明に含める再帰スキーマ定義の最大深度を定義します。

UI名 スキーマ再帰制限
ソースコード名 advanced.max_recursion_depth
必須? No

ネストされたフィールドを制限

入力スキーマまたは出力スキーマにネストされたフィールドが多すぎる場合、コネクターを使用しにくくなることがあります。

たとえば、companyオブジェクトには、別のcompanyオブジェクトであるparentCompanyのプロパティがあります。 さらに、親会社にも別のparentCompanyがある場合があります。

スキーマ深度制限スキーマ再帰制限を使用すると、このネストが無期限に続くのを防ぐことができます。

ドキュメント内容

これは必須フィールドです。

UI名Document content
ソースコード名definition_content
必須?OpenAPIドキュメントソースcontentに設定されている場合はYes

ドキュメントリンク

アプリケーションドキュメント、ユーザーガイド、または会社のWebサイトへのリンク。 このドキュメントリンクは、コネクターのトリガーまたはアクションのヘルプテキストに表示されます。

UI名 ドキュメントリンク
ソースコード名 advanced.documentation_href
必須? No

OpenAPIドキュメントソース

これは必須フィールドです。

このフィールドの値によって、ユーザーが指定する必要がある他の値が決まります。 次のいずれかである必要があります:

UI名OpenAPIドキュメントソース
ソースコード名definition_mode
必須? Yes

ドキュメントURL

これは必須フィールドです。

UI名ドキュメントURL
ソースコード名definition_url
必須?OpenAPIドキュメントソースurlに設定されている場合はYes

定義すると、オブジェクトフィールドの説明からAPIリファレンスやドキュメントなどの外部Webサイトにリンクできます。

詳細と例については、OpenAPIユーザーインターフェースのカスタマイズガイドを参照してください。

UI名外部ドキュメントリンク
ソースコード名 advanced.external_links
必須? No

APIエンドポイントをフィルター

エンドポイントをフィルターするルールを定義します。

UI名 APIエンドポイントをフィルター
ソースコード名 advanced.endpoint_filter_rules
必須? No

サンプル

ruby
{
  ...
  "advanced" => {
    "endpoint_filter_rules" => [
      {
        "type" => "include",
        "operation_id" => "createPet"
      },
      ...
    ]
  }
  ...
}

APIエンドポイントフィルタールール

includeまたはexcludeフィルタールールを使用できます。

HTTPメソッド(http_method)、タグ(tag)、Operation ID(operation_id)、またはURLパス(Path)に基づいてフィルターすることもできます。

ヘッダー認可

APIリクエストに追加するヘッダーのリスト。 通常のユーザー名とパスワードまたはAPIキー以外に追加のヘッダーが必要なアプリケーション、またはリクエストで送信されるヘッダーをカスタマイズする場合に使用します。 生成済みのトークンを使用できる状態にしている場合、ヘッダー認証を使用できます。

例:
API-Key: 1234567890
X-API-Token: abc123

UI名ヘッダー認可
ソースコード名auth_headers
必須?認証方法headerに設定されている場合はYes

リクエストフィールドを無視

コネクターが無視する特定のリクエストフィールドを定義します。

詳細と例については、OpenAPIユーザーインターフェースのカスタマイズガイドを参照してください。

UI名特定のリクエストフィールドを無視
ソースコード名 advanced.ignore_request_fields
必須? No

OAuth2認可URL

これは通常、接続先アプリのAPIドキュメントのAuthenticationセクションで公開されています。

UI名OAuth2認可URL
ソースコード名authorization_url
必須?認証方法oauth2_client_credentialsoauth2_authorization_code、またはoauth2_resource_owner_passwordに設定されている場合はYes。

OAuth2トークンURL

これは通常、接続先アプリのAPIドキュメントのAuthenticationセクションで公開されています。

UI名OAuth2トークンURL
ソースコード名token_url
必須?認証方法oauth2_client_credentialsoauth2_authorization_code、またはoauth2_resource_owner_passwordに設定されている場合はYes。

OAuth2トークンリクエストモード

トークンリクエスト本文でクライアントIDとシークレットを送信するか、ヘッダーでbase64エンコード文字列として送信します。

UI名APIではトークンをリクエストするために認証情報をどのように送信する必要がありますか
ソースコード名access_token_request_mode
必須?認証方法oauth2_client_credentialsまたはoauth2_authorization_codeに設定されている場合はYes。

OAuth2クライアントID

Workatoに関連付けるOAuthアプリの公開ID。

これは通常、接続先としてログインしているアプリアカウントのSettingsまたはIntegrationsページ(または同等のページ)にあり、秘密にしておく必要があります。

UI名Client ID
ソースコード名client_id
必須?認証方法oauth2_client_credentialsoauth2_authorization_code、またはoauth2_resource_owner_passwordに設定されている場合はYes。

OAuth2クライアントシークレット

アプリケーションがClient IDとともに検証する、一致する秘密キー。

これは通常、接続先としてログインしているアプリアカウントのSettingsまたはIntegrationsページ(または同等のページ)にあり、秘密にしておく必要があります。

UI名Client Secret
ソースコード名client_secret
必須?認証方法oauth2_client_credentialsoauth2_authorization_code、またはoauth2_resource_owner_passwordに設定されている場合はYes。

OAuth2ユーザー

アプリケーションユーザー/アカウントの名前。

UI名ユーザー名
ソースコード名username
必須?認証方法oauth2_resource_owner_passwordに設定されている場合はYes。

OAuth2パスワード

UI名パスワード
ソースコード名username
必須?認証方法oauth2_resource_owner_passwordに設定されている場合はYes。

OAuth2スコープ

スコープは、アプリからリクエストできる権限です。

これは通常、接続したいログイン済みアプリアカウントのSettingsまたはIntegrationsページ(または同等の場所)にあります。

UI名スコープ
ソースコード名scopes
必須?認証方法oauth2_client_credentialsoauth2_authorization_code、またはoauth2_resource_owner_passwordに設定されている場合はYes。

オブジェクトヒント

コネクターがオブジェクトヒントの表示に使用する、OpenAPIドキュメント内のフィールドを定義します。

デフォルト実装では、ユーザーはsummaryフィールドとdescriptionフィールドから選択できます。

サンプルOpenAPIドキュメントの次のオブジェクトについて考えます:

  • summaryの場合、Update an existing petがオブジェクトヒントとして使用されます
  • descriptionの場合、Update an existing pet by Idがオブジェクトヒントとして使用されます
json
{
   "paths":{
      "/pet":{
         "put":{
            "tags":[
               "pet"
            ],
            "summary":"Update an existing pet",
            "description":"Update an existing pet by Id",
            "operationId":"updatePet",
            "requestBody":{
               "description":"Update an existent pet in the store",
               "content":{ ... },
               "required":true
            }
         }
      }
   }
}

詳細と例については、OpenAPIユーザーインターフェースのカスタマイズガイドを参照してください。

UI名オブジェクトヒント
ソースコード名 advanced.object_hint_field
必須? No

オブジェクトヒントの置換

オブジェクトヒントの置換リストを定義します。 オブジェクトヒントフィールドの値を変更し、オブジェクトピッカーのユーザーエクスペリエンスを向上させるのに役立ちます。

置換オブジェクトには次のプロパティが含まれます:

  • pattern: キャプチャグループを含めることができる正規表現文字列。
  • replacement: patternのすべての出現箇所を置換する文字列値。 この値には、patternの次のキャプチャグループへの後方参照を含めることができます:
    • \d形式。ここでdはグループ番号です。 例: \1
    • または\k。ここでnはグループです。 例: \object
    二重引用符で囲まれた文字列の場合、両方の後方参照の前に追加のバックスラッシュ(\)を付ける必要があります。 : $&などの特殊な一致変数は、置換内の現在の一致を参照しません。
詳細と例については、OpenAPIインターフェースのカスタマイズガイドを参照してください。

UI名オブジェクトヒントの置換
ソースコード名 advanced.object_hint_substitutions
必須? No

オブジェクト名

コネクターがオブジェクト名の表示に使用する、OpenAPIドキュメント内のフィールドを定義します。

デフォルト実装では、ユーザーはsummaryフィールドとoperation_idフィールドから選択できます。

サンプルOpenAPIドキュメントの次のオブジェクトについて考えます:

  • summaryの場合、Update an existing petがオブジェクト名として使用されます
  • operation_idの場合、updatePetがオブジェクト名として使用されます
json
{
   "paths":{
      "/pet":{
         "put":{
            "tags":[
               "pet"
            ],
            "summary":"Update an existing pet",
            "description":"Update an existing pet by Id",
            "operationId":"updatePet",
            "requestBody":{
               "description":"Update an existent pet in the store",
               "content":{ ... },
               "required":true
            }
         }
      }
   }
}

詳細と例については、OpenAPIユーザーインターフェースのカスタマイズガイドを参照してください。

UI名オブジェクト名フィールド
ソースコード名 advanced.object_label_field
必須? No

オブジェクト名の置換

オブジェクト名の置換リストを定義します。 オブジェクト名の値を変更し、オブジェクトピッカーのユーザーエクスペリエンスを向上させるのに役立ちます。

置換オブジェクトには次のプロパティが含まれます:

  • pattern: キャプチャグループを含めることができる正規表現文字列。
  • replacement: patternのすべての出現箇所を置換する文字列値。 この値には、patternの次のキャプチャグループへの後方参照を含めることができます:
    • \d形式。ここでdはグループ番号です。 例: \1
    • または\k。ここでnはグループです。 例: \object
    二重引用符で囲まれた文字列の場合、両方の後方参照の前に追加のバックスラッシュ(\)を付ける必要があります。 : $&などの特殊な一致変数は、置換内の現在の一致を参照しません。
詳細と例については、OpenAPIインターフェースのカスタマイズガイドを参照してください。

UI名オブジェクト名の置換
ソースコード名 advanced.object_name_substitutions
必須? No

グループ化の置換

エンドポイントのグループ化オペレーションのテキストベース置換ルールを定義します。 組み込みのグループ化ルールがAPI構造の特定のニーズを満たさない場合に役立ちます。

詳細と例については、OpenAPIユーザーインターフェースのカスタマイズガイドを参照してください。

UI名エンドポイントグループ化の置換
ソースコード名 advanced.substitutions_for_grouping
必須? No

オペレーション名フィールド

Execute API operationアクションのピックリストでオペレーション名に使用するフィールドを定義します。 デフォルトはオブジェクト名フィールドです。

UI名オペレーション名フィールド
ソースコード名 advanced.execute_operation_label_field
必須? No

クエリパラメーター認可

APIリクエストに追加するクエリパラメーターのリスト。

例:
api_key: 1234567890
token: abc123

UI名クエリパラメーター認可
ソースコード名query_params
必須?認証方法queryに設定されている場合はYes

レコードIDフィールド名

オブジェクトの一意のID値を保持するフィールドの名前を定義します。

UI名レコードIDフィールド名
ソースコード名 advanced.record_id_field_name
必須? No

静的オブジェクト名

オブジェクトとオペレーションのユーザーフレンドリーな名前のリストを定義します。

詳細と例については、OpenAPIユーザーインターフェースのカスタマイズガイドを参照してください。

UI名 静的オブジェクト名
ソースコード名 advanced.object_label_map
必須? OpenAPIドキュメントで個々のAPIエンドポイントにユーザーフレンドリーな名前が指定されていない場合にのみ必須です。

サンプル

ruby
{
  ...
  "advanced" => {
    "object_label_map" => [
      {
        "operation_id" => "createPet",
        "label" => "Create a new Pet"
      },
      ...
    ]
  }
  ...
}

Object_label_map構文

object_label_mapは次の方法で形式設定できます:

  1. operation_idlabelを持つオブジェクトの配列を指定します。 表示されている例ではこの構文を使用しています。
  2. キー(オペレーションID)と値(表示名/ラベル)を持つオブジェクトを指定します。

サーバーURL

これは必須フィールドです。

ターゲットホストまたはサービスへのURL。 OpenAPIドキュメントの相対エンドポイントパスがこのURLに追加され、完全なエンドポイントURLが構築されます。

: このフィールドの値をハードコードする場合、つまりエンドユーザーがコネクターの設定時に値を指定する必要がないようにする場合は、次の2つのメソッドでフィールドを指定する必要があります:

  • adjust_connection:

    ruby
    methods: {
        adjust_connection: lambda do |connection|
          connection.merge(
            {
              'definition_mode' => 'url',
              'definition_url' => 'https://petstore3.swagger.io/api/v3/openapi.yaml',
              'base_url' => 'https://petstore3.swagger.io/api/v3/',
              'documentation_href' => 'https://redocly.github.io/redoc/?url=https://petstore3.swagger.io/api/v3/openapi.yaml'
            }
          )
        end
      [ ... ]
    }
  • base_uri:

    ruby
    base_uri: lambda do |connection|
      'https://petstore3.swagger.io/api/v3/'
    end
UI名サーバーURL
ソースコード名base_url
必須? Yes

テストリクエストURL

コネクターがコネクションをテストするために使用するAPIエンドポイントの相対パス。

UI名テストエンドポイントパス
ソースコード名 advanced.test_endpoint
必須? No

HTTPメソッドセマンティクスを使用してグループ化

HTTPメソッドをAPIオペレーションのグループ化に使用するかどうかを示します。

Swaggerファイル内のエンドポイントがRESTガイドラインに従っていない場合を除き、これを有効にする必要があります。

UI名HTTPメソッドセマンティクスを使用してオペレーションをグループ化
ソースコード名 advanced.use_operation_names_for_grouping
必須? No

Last updated: