API Connect REST API

API Connect REST APIを使い始める方法

API ConnectREST API は次のアクションに使用できます。

  • 管理を自動化するAPI Connect
  • API の開発と公開のために継続的な統合環境をサポートするためのスクリプトとツールの実装。
  • API のカタログと API のサブスクライバーの管理。
  • 分析データを表示します。

完全なリファレンスドキュメントAPI ConnectREST API はここから入手できます:API Connect REST APIドキュメント

前提条件

API Connect REST APIを使用するには、以下の前提条件を満たす必要があります:

  • 一つ持っているAPI Connectプロバイダーまたは消費者組織のメンバーであるユーザー。
  • アプリの資格情報: client_id と client_secret。 これらの資格情報は、 API マネージャーUI、またはお客様から提供されたAPI Connect管理者。

API エンドポイント URL とアプリの資格情報を取得するには、次の手順に従います。

  1. の中にAPI マネージャーUIホームページで、ツールキットをダウンロードタイル。
  2. ダウンロードツールキットの資格情報(CLI または API Designer をダウンロードする必要はありません)。
  3. ダウンロードしたcredentials.jsonファイルを開いて、プラットフォームとコンシューマーのエンドポイント、およびこれらのエンドポイントで API を呼び出すための資格情報を確認します。
    {
      "cloud_id": "e8fcdec3-bfb9-44bd-bf90-03d8639c4916",
      "toolkit": {
        "endpoint": "https://example-platform-api.ibm.com/api",
        "client_id": "7ad7b6c5-fa07-4222-808d-8de7266dcd1a",
        "client_secret": "b7127e44-4811-48be-be9d-6591302de04a"
      },
      "consumer_toolkit": {
        "endpoint": "https://example-consumser-api.ibm.com/consumer-api",
        "client_id": "3b10e0db-1cd4-4aa8-af02-51a83e334f1c",
        "client_secret": "a5a672b7-e3b2-4d2b-984b-4059ea82ae65"
      },
      "governance": {
        "endpoint": "https://example-governance.ibm.com/governance",
        "client_id": "ba48537c-7a6e-4232-92b6-ae67ad764933",
        "client_secret": "790d8a6d-e323-46bd-a05c-3d212e93d794"
      },
      "discovery": {
        "endpoint": "https://example-discovery.ibm.com/discovery",
        "client_id": "d872a2f4-bc6e-4e91-b187-bbb5b99d4605",
        "client_secret": "c0b5ddf9-58e6-4246-88de-243ce217731a"
      }
    }
    に含まれるエンドポイントと資格情報は、credentials.jsonファイルは
    1. toolkit: プラットフォーム API エンドポイント。 プロバイダー組織スコープの API 呼び出しにこれを使用します。
    2. consumer_toolkit: コンシューマー API エンドポイント。 コンシューマー組織でのアプリの作成など、コンシューマー組織をスコープとする API 呼び出しにこれを使用します。
    3. governance: 参照APIガバナンス特徴。
    4. discovery: 参照API 検出特徴。
注記:あなたのAPI Connectクラウド管理者は、使用するために異なるアプリ資格情報を提供する場合があります。 この場合、credentials.jsonファイル。

ベアラー・トークンの取得

REST APIへの各呼び出しは、 HTTP Authorization ヘッダーのベアラートークンで認証されなければならない。 API キーを作成します。 APIキーの作成方法の詳細については、 プラットフォームREST APIキーの管理を参照してください。

アプリの認証情報を使用して、ベアラートークンを取得します:
curl -v -k -X POST -d '{"api_key": "<api_key>", "client_id": "<client_id>", "client_secret": "<client_secret>", "grant_type": "api_key"}' -H 'Content-Type: application/json' -H 'Accept: application/json' https://<management_server_platform_api_endpoint>/api/token
ここで:
  • <api-key> は生成したAPIキーです。
  • <client_id> は、 ファイルの "toolkit" セクションにあるクライアント ID、または クラウド管理者から提供されたものです。 credentials.json API Connect
  • <client_secret> は、 ファイルの "toolkit" セクションにあるクライアント・シークレット、または クラウド管理者から提供されたものです。 credentials.json API Connect
  • provider/default-idp-2プロバイダー組織のメンバー向け。
  • consumer: <provider org>:<catalog>/<catalog>-idp 消費者団体会員向け。

ベアラートークンは、access_token財産:

{
    "access_token": "<bearer_token>",
    "token_type": "Bearer",
    "expires_in": 28800
}
注記:expires_in値はトークンの有効期限が切れるまでの秒数です。 有効期限が切れた後は、新しいベアラートークンを要求する必要があります。

REST API呼び出しを行う

REST API を呼び出すときは、ベアラー トークンを使用します。
curl -k -X <HTTP Method> --url 'https://<rest api endpoint>/<api path> -H 'Authorization: Bearer <bearer_token>'
コンシューマー API を呼び出す場合は、プロバイダー組織とカタログを指定する追加のヘッダーを含める必要があります。
-H 'X-IBM-Consumer-Context: <provider org>.<catalog>'

REST API呼び出しの例

プロバイダー組織のリストを取得する
プロバイダー組織のメンバー資格情報を使用して作成されたベアラー トークンを使用し、プラットフォーム API エンドポイントを指定します。
curl -k -X GET --url 'https://<platform api endpoint>/api/orgs' -H 'Authorization: Bearer <bearer_token>'
カタログ内のアプリのリストを取得する
消費者組織メンバーの資格情報で作成されたベアラートークンを使用し、消費者APIエンドポイントを指定して、X-IBM-Consumer-Contextヘッダ:
curl -k -X GET --url 'https://<consumer api endpoint>/consumer-api/orgs/<consumer org>/apps' -H 'X-IBM-Consumer-Context: <provider org>.<catalog>' -H 'Authorization: Bearer <bearer_token>'
カタログの分析 API イベント データを取得します。
curl -k -X GET --url 'https://<platform api endpoint>/analytics/<analytics service>/orgs/<provider org>/events' -H 'Authorization: Bearer <bearer_token>'

プロバイダー組織を対象とする分析データの場合は、 <プラットフォーム API エンドポイント>

消費者組織を対象とした分析データの場合は、 <コンシューマー API エンドポイント>、 そして/consumer-analyticsの代わりに/analytics。 また、X-IBM-Consumer-Contextヘッダ。 例:
curl -k -X GET --url 'https://<consumer api endpoint>/consumer-analytics/orgs/<consumer org>/dashboard' -H 'X-IBM-Consumer-Context: <provider org>.<catalog>' -H 'Authorization: Bearer <bearer_token>'

REST APIを使用した分析データのクエリの詳細については、以下を参照してください。分析REST APIの使用

API Connect REST API のリファレンス・ドキュメント: API Connect REST API ドキュメント

失敗した REST API 呼び出しのトラブルシューティング

HTTP のリターンコードとエラーメッセージは、失敗の原因となり得る情報について提供しています

  • HTTP 403: アクセスが禁止されています。 API 呼び出しの正しい資格情報を使用してベアラー トークンが作成されたことを確認します。
  • HTTP 404 :見つかりません。 API エンドポイント URL とパスが正しいことを確認してください。 プラットフォーム API エンドポイントでコンシューマー API 呼び出しを行っていますか?
  • HTTP 401: 認証が拒否されました。 ベアラートークンが正しく、期限切れになっていないことを確認してください。 ベアラートークンをリクエストしたときにこれが返された場合は、usernamepasswordrealmclient_id 、 そしてclient_secretは正しい。