# API プラットフォーム
API プラットフォーム API を使用すれば、エンドポイント、コレクション、クライアント、アクセスプロファイルなどの API プラットフォームアセットをプログラムで作成して管理することができます。
ここに列挙するすべてのエンドポイントは、Embedded ベンダー API で、oem_vendor
権限が必要です。API プラットフォーム機能は、パートナー管理者アカウントとカスタマーアカウントで有効にする必要がある機能アドオンでもあります。Workato の担当者に両方の権限を有効にするように伝えてください。
カスタマーアカウントに対して API プラットフォームを有効にする予定の Embedded パートナーは、このガイドで詳細を確認してください。
# クイックリファレンス
タイプ | リソース | 説明 |
---|---|---|
GET | /api_collections | カスタマーアカウント内の API コレクション を列挙します。 |
POST | /api_collections | カスタマーアカウント内に API コレクション を作成します。 |
GET | /api_endpoints | コレクション内の API エンドポイント を列挙します。 |
PUT | /api_endpoints/:api_endpoint_id/enable | コレクション内の API エンドポイント を有効にします。 |
PUT | /api_endpoints/:api_endpoint_id/disable | コレクション内の API エンドポイント を無効にします。 |
GET | /api_clients | カスタマーアカウント内の API クライアント を列挙します。 |
POST | /api_clients | カスタマーアカウント内に API クライアント を作成します。 |
GET | /api_access_profiles | カスタマーアカウント内の API クライアントに属している アクセスプロファイル を列挙します。 |
POST | /api_access_profiles | カスタマーアカウント内の API クライアントに属している アクセスプロファイル を作成します。 |
PUT | /api_access_profiles | カスタマーアカウント内の API クライアントに属している アクセスプロファイル を更新します。 |
PUT | /api_access_profiles/:api_access_profile_id/enable | カスタマーアカウント内の API クライアントに属している アクセスプロファイル を有効にします。 |
PUT | /api_access_profiles/:api_access_profile_id/disable | カスタマーアカウント内の API クライアントに属している アクセスプロファイル を無効にします。 |
PUT | /api_access_profiles/:access_profile_id/refresh_secret | アクセスプロファイル トークンまたはシークレット を更新します。 |
# ベースパス
上記すべての API で、ベースパスは /api/managed_users/:id
です。ここで、URL パラメータとしてカスタマーアカウント ID が必要になります。
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
例 :
https://www.workato.com/api/managed_users/5454/api_collections
# API コレクションの列挙
カスタマーアカウント内のすべての API コレクションを列挙します。
GET /api/managed_users/:id/api_collections
# レスポンス
{
"result": [
{
"id": 1388,
"name": "Zuora sync",
"version": "5",
"url": "https://api.na.workato.com/abstergoi/created-collection-v5",
"api_spec_url": "https://www.workato.com/doc/service/created-collection-v5/swagger?token=65989339c72899ahjk9fb173c657cf9511",
"created_at": "2020-07-31T08:09:29.062-07:00",
"updated_at": "2020-07-31T08:19:27.703-07:00"
}
]
}
# API コレクションの作成
カスタマーアカウント内に API コレクションを作成します。
POST /api/managed_users/:id/api_collections
# ペイロード
名前 | 型 | 説明 |
---|---|---|
name | string 必須 | コレクションの名前 |
# サンプルリクエスト
curl -X POST https://www.workato.com/api/managed_users/5454/api_collections \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Netsuite customers",
}'
# レスポンス
{
"id": 1397,
"name": "Netsuite customers",
"version": "1.0",
"url": "https://api.na.workato.com/abstergoi/netsuite-customers-v1",
"api_spec_url": "https://www.workato.com/doc/service/netsuite-customers-v1/swagger?token=774513f8a712djkls90s7f5a3165eb96d",
"created_at": "2020-07-31T08:24:31.439-07:00",
"updated_at": "2020-07-31T08:24:31.439-07:00"
}
# API エンドポイントの列挙
カスタマーアカウント内のすべての API エンドポイントを列挙します。特定のコレクション内のエンドポイントのリストを取得する場合は、api_collection_id
を指定します。
GET /api/managed_users/:id/api_endpoints
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
api_collection_id | string | API コレクションの ID。パラメータを指定しなかった場合は、すべての API エンドポイントが返されます。 |
# サンプルリクエスト
curl -X GET 'https://www.workato.com/api/managed_users/5454/api_endpoints?api_collection_id=1391' \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
# レスポンス
{
"result": [
{
"id": 9903,
"api_collection_id": 1391,
"flow_id": 39999,
"name": "salesforce search",
"method": "GET",
"url": "https://api.na.workato.com/abstergoi/netsuite-customers-v1/salesforce/search",
"legacy_url": null,
"base_path": "/abstergoi/netsuite-customers-v1/salesforce/search",
"path": "salesforce/search",
"active": false,
"legacy": false,
"created_at": "2020-08-05T05:59:55.991-07:00",
"updated_at": "2020-08-05T05:59:55.991-07:00"
}
]
}
# API エンドポイントの有効化
API エンドポイントを有効にします。API エンドポイントを正常に有効にするには、基礎となるレシピを開始する必要があります。
PUT /api/managed_users/:id/api_endpoints/:api_endpoint_id/enable
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
api_endpoint_id | string | API エンドポイントの ID。 |
# サンプルリクエスト
curl -X GET https://www.workato.com/api/managed_users/5454/api_endpoints/1213/enable \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
# API エンドポイントの無効化
アクティブな API エンドポイントを無効にします。エンドポイントはクライアントから呼び出されなくなります。
PUT /api/managed_users/:id/api_endpoints/:api_endpoint_id/disable
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
api_endpoint_id | string | API エンドポイントの ID。 |
# サンプルリクエスト
curl -X GET https://www.workato.com/api/managed_users/5454/api_endpoints/1213/disable \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
# API クライアントの列挙
カスタマーアカウント内のすべての API クライアントを列挙します。
GET /api/managed_users/:id/api_clients
# レスポンス
{
"result": [
{
"id": 1255,
"name": "Automation Inc.",
"created_at": "2020-07-31T03:44:22.435-07:00",
"updated_at": "2020-07-31T03:44:22.435-07:00"
},
{
"id": 1890,
"name": "Umbrella Corporation",
"created_at": "2020-07-31T03:44:22.435-07:00",
"updated_at": "2020-07-31T03:44:22.435-07:00"
}
]
}
# API クライアントの作成
カスタマーアカウント内に新しい API クライアントを作成します。
POST /api/managed_users/:id/api_clients
# ペイロード
名前 | 型 | 説明 |
---|---|---|
name | string 必須 | クライアントの名前 |
# サンプルリクエスト
curl -X POST https://www.workato.com/api/managed_users/5454/api_clients \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Automation Inc.",
}'
# レスポンス
{
"id": 1255,
"name": "Automation Inc.",
"created_at": "2020-07-31T03:44:22.435-07:00",
"updated_at": "2020-07-31T03:44:22.435-07:00"
}
# アクセスプロファイルの列挙
カスタマーアカウント内の API クライアントに属しているすべてのアクセスプロファイルを列挙します。
GET /api/managed_users/:id/api_clients/:api_client_id/api_access_profiles
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : EA2300)、URL エンコードしてください。token jwt oauth2 |
api_client_id | string 必須 | API クライアント ID |
# サンプルリクエスト
curl -X GET 'https://www.workato.com/api/managed_users/4243/api_access_profiles?api_client_id=1255'\
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"id": 4676,
"exteranl_id": "A298247",
"name": "Customer A",
"notification_email": "customer-a@a.com",
"plan_id": "business_yearly",
"in_trial": false,
"created_at": "2019-07-11T10:08:41.693-07:00",
"updated_at": "2019-07-11T10:22:35.132-07:00"
}
# アクセスプロファイルの作成
カスタマーアカウント内の API クライアントに属しているアクセスプロファイルを作成します。このエンドポイントを使用するには、カスタマーアカウントがアクセスプロファイルに割り当てる API コレクションを1つ以上所有している必要があります。
返されるレスポンスは、選択された認証タイプ (Auth トークン、JSON Web トークン、または OAuth 2.0) によって異なります。
- Auth トークン認証では、
secret
レスポンスで auth トークンが返されます。 - JWT トークンには、HMAC と RSA という2つの署名方法があります。選択された方法に応じて、それぞれのシークレットまたは公開鍵がペイロードで返されます。
- OAuth 2.0認証では、
oauth_client_id
とoauth_client secret
でクライアント ID とシークレットが返されます。
POST /api/managed_users/:id/api_clients/:api_client_id/api_access_profiles
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : EA2300)、URL エンコードしてください。token jwt oauth2 |
api_client_id | string 必須 | API クライアント ID |
# ペイロード
名前 | 型 | 説明 |
---|---|---|
name | string 必須 | アクセスプロファイルの名前 |
api_collection_ids | List of integers 必須 | アクセスプロファイルに追加するコレクションの ID |
active | boolean 必須 | アクセスプロファイルを有効にするか、無効にするか。アクセスプロファイルが無効になっているクライアントは API を呼び出すことができません。 |
auth_type | string 必須 | リクエストを検証するための認証方法。使用可能なオプションは、token 、jwt 、および oauth2 です。これらは、それぞれ、Auth トークン、JSON Web トークン、および OAuth 2.0に対応します。 |
jwt_method | string | JWT 署名方法。auth_type が jwt の場合は、これが必須です。使用可能なオプションは hmac と rsa です。これらは、それぞれ、HMAC と RSA に対応します。 |
jwt_secret | string | 方法に基づいて、HMAC 共有シークレットまたは RSA 公開鍵を指定します。 |
# サンプルリクエスト (Auth トークン)
curl -X POST 'https://www.workato.com/api/managed_users/4243/api_access_profile?api_client_id=1255'\
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
-d '{
"name": "Sales team",
"api_collection_ids": [1391, 1388],
"auth_type": "token",
"active": true
}'
# サンプルリクエスト (JWT HMAC)
curl -X POST 'https://www.workato.com/api/managed_users/4243/api_access_profile?api_client_id=1255'\
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
-d '{
"name": "HMAC API",
"api_collection_ids": [1391, 1388],
"auth_type": "jwt",
"jwt_method": "rsa",
"jwt_secret": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4ngjihh5hXDRe0c1qPNc\nrF7RIoAG/iNZXruTspeX8e2auMBXTwVI0sLgwUo26lMXCRAvC004JWKugzh1UHXY\nsjmtwZFRznqhb/ojJDi785+zbmVNLWmbIB/ChBUyckBSExsmR0nOpQhiW0przr2J\ncQIDAQAB\n-----END PUBLIC KEY-----",
"active": true
}'
# レスポンス (Auth トークン)
{
"id": 26967,
"name": "Sales team",
"api_group_ids": [
1391,
1388
],
"active": true,
"auth_type": "token",
"jwt_method": null,
"jwt_secret": null,
"oauth_client_id": null,
"oauth_client_secret": null,
"secret": "xxxxxxxxxxx",
"created_at": "2020-07-31T09:48:55.337-07:00",
"updated_at": "2020-07-31T09:48:55.337-07:00"
}
# アクセスプロファイルの更新
カスタマーアカウント内の API クライアントに属しているアクセスプロファイルを更新します。
返されるレスポンスは、選択された認証タイプ (Auth トークン、JSON Web トークン、または OAuth 2.0) によって異なります。
- Auth トークン認証では、
secret
レスポンスで auth トークンが返されます。 - JWT トークンには、HMAC と RSA という2つの署名方法があります。選択された方法に応じて、それぞれのシークレットまたは公開鍵がペイロードで返されます。
- OAuth 2.0認証では、
oauth_client_id
とoauth_client secret
でクライアント ID とシークレットが返されます。
PUT /api/managed_users/:id/api_access_profiles/:api_access_profile_id
# パスパラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
api_access_profile_id | string 必須 | API アクセスプロファイル ID。 |
# クエリパラメータ
名前 | 型 | 説明 |
---|---|---|
api_client_id | string 必須 | API クライアント ID。 |
# ペイロード
名前 | 型 | 説明 |
---|---|---|
name | string 必須 | アクセスプロファイルの名前 |
api_collection_ids | string 必須 | アクセスプロファイルに追加するコレクションの ID |
active | boolean 必須 | アクセスプロファイルを有効にするか、無効にするか。アクセスプロファイルが無効になっているクライアントは API を呼び出すことができません。 |
auth_type | string 必須 | リクエストを検証するための認証方法。使用可能なオプションは、token 、jwt 、および oauth2 です。これらは、それぞれ、Auth トークン、JSON Web トークン、および OAuth 2.0に対応します。 |
jwt_method | string | JWT 署名方法。auth_type が jwt の場合は、これが必須です。使用可能なオプションは hmac と rsa です。これらは、それぞれ、HMAC と RSA に対応します。 |
jwt_secret | string | 方法に基づいて、HMAC 共有シークレットまたは RSA 公開鍵を指定します。 |
# サンプルリクエスト (Auth トークン)
curl -X PUT 'https://www.workato.com/api/managed_users/4243/api_access_profiles/178294?api_client_id=1255'\
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
-d '{
"name": "Sales team",
"api_collection_ids": [1391, 1388],
"auth_type": "token",
"active": true
}'
# アクセスプロファイルの有効化
カスタマーアカウント内の API クライアントに属しているアクセスプロファイルを有効にします。アクセスプロファイルを有効にすると、プロファイルが有効になっている API 呼び出しを受け入れることができます。
この呼び出しでは、success
または無許可/不正リクエストの場合のエラーメッセージが返されます。
PUT /api/managed_users/:id/api_access_profiles/:api_access_profile_id/enable
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
api_access_profile_id | string 必須 | アクセスプロファイルの ID。 |
# サンプルリクエスト (Auth トークン)
curl -X PUT https://www.workato.com/api/managed_users/1279482/api_access_profiles/1213/enable \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
# アクセスプロファイルの無効化
カスタマーアカウント内の API クライアントに属しているアクセスプロファイルを無効にします。アクセスプロファイルを無効にすると、アクセスプロファイルが設定された API 呼び出しの受け入れが停止されます。
この呼び出しでは、success
または無許可/不正リクエストの場合のエラーメッセージが返されます。
PUT /api/managed_users/:id/api_access_profiles/:api_access_profile_id/disable
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
api_access_profile_id | string 必須 | アクセスプロファイルの ID。 |
# サンプルリクエスト (Auth トークン)
curl -X PUT https://www.workato.com/api/managed_users/127894/api_access_profiles/1213/disable \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
# トークン/シークレットの更新
Auth トークンまたは OAuth 2.0クライアントシークレットを更新します。アクセスプロファイル上の認証タイプが JWT
の場合は、このエンドポイントが失敗します。
返されるレスポンスは、アクセスプロファイルの認証タイプ (Auth トークンまたは OAuth 2.0) によって異なります。
- Auth トークン認証では、
secret
レスポンスで新しい Auth トークンが返されます。 - OAuth 2.0認証では、
oauth_client_id
とoauth_client secret
で新しいクライアント ID とシークレットが返されます。
PUT /api/managed_users/:id/api_access_profiles/:access_profile_id/refresh_secret
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
access_profile_id | string 必須 | API アクセスプロファイル ID |
# レスポンス (Auth トークン)
{
"id": 26962,
"name": "Sales team",
"api_client_id": 1255,
"api_collection_ids": [
1391
],
"active": true,
"auth_type": "token",
"jwt_method": null,
"jwt_secret": null,
"oauth_client_id": null,
"oauth_client_secret": null,
"secret": "xxxxxxxxxxx",
"created_at": "2020-07-31T09:10:03.310-07:00",
"updated_at": "2020-08-05T06:08:46.290-07:00"
}
Last updated: 2024/1/12 16:26:53