コンテナ展開のためのAPIアクセス

IBM® Sterling Intelligent Promising API 資料は、 IBM Sterling Intelligent Promising Operator でデプロイできる別のコンテナーで入手できます。 Operator を使用せずに、API 文書コンテナーを外部にデプロイすることもできます。

API 資料へのアクセス

APIドキュメントでは、 管理運用公開の 3つのカテゴリーでAPIを表示するため、整理されたユーザーフレンドリーなインターフェイスを提示している。 この分類は、関連するAPIを素早く見つけ、全体的なナビゲーションを向上させるのに役立ちます。

以下の URL を使用して、インベントリ、プロミス、コンフィギュレーション、カタログ、およびキャリア・サービスの API ドキュメントにアクセスします。 <base_URL> をあなたのドメイン・アドレスに置き換えてください。
<base_URL>/api-docs

IBM Sterling Intelligent Promising Operator を使用した API 資料のデプロイ

Operator を使用して API 文書をデプロイするには、 apiDocsServiceSIPEnvironment 仕様に追加します。 apiDocsServiceSIPEnvironmentで定義されていない場合、API 文書コンテナーはデプロイされません。 詳しくは、 apiDocsService パラメータを参照。

IBM Sterling Intelligent Promising Operator を使用した API 文書デプロイメントのデプロイ

IBM Sterling Intelligent Promising オペレーターを使用せずに API 文書を外部にデプロイするには、Docker コンテナーまたは Kubernetesを使用します。 外部からAPIドキュメントにアクセスURL は、 <base_URL>/api-docs です。 <base_URL>http://localhost:<host_port>/ です。 以下のコマンドを使用して、API 文書の Docker コンテナーを作成します。 <image_name> については、 IBM Sterling Intelligent Promising Standard パッケージのレジストリ画像名を参照のこと。

docker run -p <host_port>:8080 --name <container_name> <your registry>/<image_name>

API の認証

API 呼び出しで JSON Web トークンを使用して API を認証できます。

JSON Web トークンの生成
JWT は、以下の 2 つの方法で生成できます。
  • Order Management System Software (OMS) から生成された JWT
    Order Management System Software は、JWT 関連の構成が使用可能になった後に JWT を生成します。 OMS からトークンを取得するには、以下のようにします。
    • loginid/password を使用して OMS でログイン REST API を呼び出し、API 出力からユーザー・トークンを取り出します
    • JWT を取得するために、OMS で /jwt?_loginid=<loginid>&_token=<user token fetched in previous step> REST エンドポイントを呼び出します。
  • 外部システムから生成された JWT

    IBM Sterling Intelligent Promisingで API 呼び出しを行うために使用できる JWT を生成するように外部システムをセットアップできます。 公開鍵を使用したJWT発行者秘密の作成で説明されているように、 IBM Sterling Intelligent Promising JWTゲートウェイ検証機で公開鍵を構成していることを確認してください。

JSON Web トークンは、API 呼び出しの要求ヘッダーでベアラー・トークンとして渡す必要があります。
JWT ペイロード

以下のスニペットは、JWT のペイロードの例です。 iss および exp は、ペイロードの必須フィールドです。

{
 “iss”: “oms”,
 “aud”: “sip”,
 “exp”: 1688772650,
 “nbf”: 1567771750,
 “sub”: “user”,
 “userID”: “user”,
}

API にアクセスするための役割ベースのアクセス権限

最適なセキュリティと運用効率を実現するために、「Sterling Intelligent PromisingコンテナはAPIにアクセスするための以下の役割を提供する。

役割 説明 API エンドポイント
ビジネス BUSINESS ロールにサブスクライブしているユーザーは、さまざまなビジネス・オペレーションのユース・ケースを実行します。 この役割のサブスクライバーは、 /inventory /configuration/catalogなどのエンドポイントを持つすべての API にアクセスできます。
  • https://<sip-domain>/inventory/*
  • https://<sip-domain>/promising/*
  • https://<sip-domain>/configuration/*
  • https://<sip-domain>/catalog/*
  • https://<sip-domain>/cas/*
  • https://<sip-domain>/optimizer/*
操作 OPERATIONS 役割にサブスクライブしているユーザーは、デプロイメントを管理し、テナントのルールを設定します。 この役割のサブスクライバーは、 /operations エンドポイントを使用して API にアクセスできます。 https://<sip-domain>/inventory/operations/*
管理

ADMINISTRATION ロールにサブスクライブしているユーザーは、ガバナンス、ユーザー・アクセス、およびその他の管理用タスクを管理します。 この役割のサブスクライバーは、ビジネス・ロールと運用ロールの両方の API、および管理 API にアクセスできます。
  • https://<sip-domain>/private/*
  • BUSINESS ロールと OPERATIONS ロールのエンドポイントが含まれます

JWT 構成シークレットでサービス役割を構成するには、 公開鍵を使用した JWT 発行者シークレットの作成を参照してください。

API の呼び出し

API を呼び出す際には、必ず tenantIddefaultとして渡してください。

例えば、 https://<sip-domain>/inventory/<tenantid>/v2/availability/nodeのようになります。

ヘッダー

"Content-Type" : "application/json"
"Authorization" : "Bearer [JWT_token]"

本文

{
  "demandType": "OPEN_ORDER",
  "lines": [
    {
      "deliveryMethod": "SHP",
      "itemId": "sample0123",
      "lineId": "line_sample01234",
      "productClass": "NEW",
      "shipNodes": "["eastnode01"]",
      "unitOfMeasure": "EACH"
    }
  ],
  "segment": "ONLINE",
  "segmentType": "Channel"
}