OpenAPIデフォルトコネクションフィールドリファレンス
OpenAPIコネクターを使用してカスタムコネクターを作成する場合、コネクションの設定時にエンドユーザーに表示されるフィールドを制御します。
このガイドは、ユニバーサルOpenAPIコネクターのデフォルトコネクションフィールドのリファレンスです。
フィールドリファレンスドキュメント
OpenAPIコネクターの各コネクションフィールドには、このガイド内に独自のセクションがあります。 各セクションでは、次の情報を確認できます:
| 説明 | フィールドの説明 |
| UI名 | Workatoに表示されるフィールドの名前。例: 認証方法 |
| ソースコード名 | コネクターのソースコード内のフィールド名。例: auth_method |
| 必須? | フィールドが必須かどうか |
必須フィールド
コネクションフィールドはカスタマイズできますが、カスタムOpenAPIコネクターを正常に設定するには、次のフィールドがconnection.fieldsまたはadjust_connectionに存在する必要があります:
- 認証方法 (
auth_method) - Basic認証ユーザー (
basic_auth_user) * - Document content (
definition_content) * - OpenAPIドキュメントソース (
definition_mode) - ドキュメントURL (
definition_url) * - ヘッダー認可 (
auth_headers) * - OAuth2認可URL (
authorization_url) * - OAuth2トークンURL (
token_url) * - Client ID (
client_id) * - Client Secret (
client_secret) * - ユーザー名 (
username) * - パスワード (
username) * - クエリパラメーター認可 (
query_params) * - サーバーURL (
base_url)
INFO
*記号は、マークされたフィールドが別のフィールドに依存していることを示します。 詳細については、マークされたフィールドのドキュメントを参照してください。
長いフィールドヒントを許可
Noに設定すると、オブジェクトヒントは1つの段落に切り詰められます。 デフォルトはNoです。
| UI名 | 長いフィールドヒントを許可 |
| ソースコード名 | advanced.allow_multi_paragraph_hint |
| 必須? | No |
認証方法
これは必須フィールドです。
コネクションで使用する認証方法。 このフィールドの値によって、ユーザーが認証のために指定する必要がある他の値が決まります:
none(他の入力は不要)basic(Basic認証ユーザーおよびBasic認証パスワードを参照)header(ヘッダー認可を参照)query(クエリパラメーター認可を参照)oauth2_client_credentials(OAuth2トークンURL、APIではトークンをリクエストするために認証情報をどのように送信する必要がありますか、Client ID、Client Secret、およびスコープを参照)oauth2_authorization_code(OAuth2認可URL、OAuth2トークンURL、APIではトークンをリクエストするために認証情報をどのように送信する必要がありますか、Client ID、Client Secret、およびスコープを参照)oauth2_resource_owner_password(OAuth2トークンURL、Client ID、Client Secret、ユーザー名、パスワード、およびスコープを参照)
サポートされている認証方法の詳細については、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ドキュメントソース
これは必須フィールドです。
このフィールドの値によって、ユーザーが指定する必要がある他の値が決まります。 次のいずれかである必要があります:
url(ドキュメントURLを参照)content(Document contentを参照)
| 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 |
サンプル
{
...
"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_credentials、oauth2_authorization_code、またはoauth2_resource_owner_passwordに設定されている場合はYes。 |
OAuth2トークンURL
これは通常、接続先アプリのAPIドキュメントのAuthenticationセクションで公開されています。
| UI名 | OAuth2トークンURL |
| ソースコード名 | token_url |
| 必須? | 認証方法がoauth2_client_credentials、oauth2_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_credentials、oauth2_authorization_code、またはoauth2_resource_owner_passwordに設定されている場合はYes。 |
OAuth2クライアントシークレット
アプリケーションがClient IDとともに検証する、一致する秘密キー。
これは通常、接続先としてログインしているアプリアカウントのSettingsまたはIntegrationsページ(または同等のページ)にあり、秘密にしておく必要があります。
| UI名 | Client Secret |
| ソースコード名 | client_secret |
| 必須? | 認証方法がoauth2_client_credentials、oauth2_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_credentials、oauth2_authorization_code、またはoauth2_resource_owner_passwordに設定されている場合はYes。 |
オブジェクトヒント
コネクターがオブジェクトヒントの表示に使用する、OpenAPIドキュメント内のフィールドを定義します。
デフォルト実装では、ユーザーはsummaryフィールドとdescriptionフィールドから選択できます。
サンプルOpenAPIドキュメントの次のオブジェクトについて考えます:
summaryの場合、Update an existing petがオブジェクトヒントとして使用されますdescriptionの場合、Update an existing pet by Idがオブジェクトヒントとして使用されます
{
"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 |
オブジェクトヒントの置換
オブジェクトヒントの置換リストを定義します。 オブジェクトヒントフィールドの値を変更し、オブジェクトピッカーのユーザーエクスペリエンスを向上させるのに役立ちます。
置換オブジェクトには次のプロパティが含まれます:
詳細と例については、OpenAPIインターフェースのカスタマイズガイドを参照してください。
pattern: キャプチャグループを含めることができる正規表現文字列。replacement: patternのすべての出現箇所を置換する文字列値。 この値には、patternの次のキャプチャグループへの後方参照を含めることができます:
二重引用符で囲まれた文字列の場合、両方の後方参照の前に追加のバックスラッシュ(\d形式。ここでdはグループ番号です。 例: \1\k。ここでnはグループ名です。 例: \object\)を付ける必要があります。 注: $&などの特殊な一致変数は、置換内の現在の一致を参照しません。
| UI名 | オブジェクトヒントの置換 |
| ソースコード名 | advanced.object_hint_substitutions |
| 必須? | No |
オブジェクト名
コネクターがオブジェクト名の表示に使用する、OpenAPIドキュメント内のフィールドを定義します。
デフォルト実装では、ユーザーはsummaryフィールドとoperation_idフィールドから選択できます。
サンプルOpenAPIドキュメントの次のオブジェクトについて考えます:
summaryの場合、Update an existing petがオブジェクト名として使用されますoperation_idの場合、updatePetがオブジェクト名として使用されます
{
"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 |
オブジェクト名の置換
オブジェクト名の置換リストを定義します。 オブジェクト名の値を変更し、オブジェクトピッカーのユーザーエクスペリエンスを向上させるのに役立ちます。
置換オブジェクトには次のプロパティが含まれます:
詳細と例については、OpenAPIインターフェースのカスタマイズガイドを参照してください。
pattern: キャプチャグループを含めることができる正規表現文字列。replacement: patternのすべての出現箇所を置換する文字列値。 この値には、patternの次のキャプチャグループへの後方参照を含めることができます:
二重引用符で囲まれた文字列の場合、両方の後方参照の前に追加のバックスラッシュ(\d形式。ここでdはグループ番号です。 例: \1\k。ここでnはグループ名です。 例: \object\)を付ける必要があります。 注: $&などの特殊な一致変数は、置換内の現在の一致を参照しません。
| 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エンドポイントにユーザーフレンドリーな名前が指定されていない場合にのみ必須です。 |
サンプル
{
...
"advanced" => {
"object_label_map" => [
{
"operation_id" => "createPet",
"label" => "Create a new Pet"
},
...
]
}
...
}Object_label_map構文
object_label_mapは次の方法で形式設定できます:
operation_idとlabelを持つオブジェクトの配列を指定します。 表示されている例ではこの構文を使用しています。- キー(オペレーションID)と値(表示名/ラベル)を持つオブジェクトを指定します。
サーバーURL
これは必須フィールドです。
ターゲットホストまたはサービスへのURL。 OpenAPIドキュメントの相対エンドポイントパスがこのURLに追加され、完全なエンドポイントURLが構築されます。
注: このフィールドの値をハードコードする場合、つまりエンドユーザーがコネクターの設定時に値を指定する必要がないようにする場合は、次の2つのメソッドでフィールドを指定する必要があります:
adjust_connection:rubymethods: { 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:rubybase_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: