コンテナ展開のためのAPIアクセス
IBM® Sterling Intelligent Promising API 資料は、 IBM Sterling Intelligent Promising Operator でデプロイできる別のコンテナーで入手できます。 Operator を使用せずに、API 文書コンテナーを外部にデプロイすることもできます。
API 資料へのアクセス
APIドキュメントでは、 管理、 運用、 公開の 3つのカテゴリーでAPIを表示するため、整理されたユーザーフレンドリーなインターフェイスを提示している。 この分類は、関連するAPIを素早く見つけ、全体的なナビゲーションを向上させるのに役立ちます。
<base_URL> をあなたのドメイン・アドレスに置き換えてください。<base_URL>/api-docsIBM Sterling Intelligent Promising Operator を使用した API 資料のデプロイ
Operator を使用して API 文書をデプロイするには、 apiDocsService を SIPEnvironment 仕様に追加します。 apiDocsService が SIPEnvironmentで定義されていない場合、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 を認証できます。
- Order Management System
Software (OMS) から生成された JWTOrder 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ゲートウェイ検証機で公開鍵を構成していることを確認してください。
以下のスニペットは、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 にアクセスできます。 |
|
| 操作 | OPERATIONS 役割にサブスクライブしているユーザーは、デプロイメントを管理し、テナントのルールを設定します。 この役割のサブスクライバーは、 /operations エンドポイントを使用して API にアクセスできます。 | https://<sip-domain>/inventory/operations/* |
| 管理 | ADMINISTRATION ロールにサブスクライブしているユーザーは、ガバナンス、ユーザー・アクセス、およびその他の管理用タスクを管理します。 この役割のサブスクライバーは、ビジネス・ロールと運用ロールの両方の API、および管理 API にアクセスできます。 |
|
JWT 構成シークレットでサービス役割を構成するには、 公開鍵を使用した JWT 発行者シークレットの作成を参照してください。
API の呼び出し
API を呼び出す際には、必ず tenantId を defaultとして渡してください。
例えば、 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"
}