API 入門

標準のオンプレミス

watsonx Orchestrate API を始めましょう。

APIへの認証

watsonx Orchestrate API を使用するには、まずサーバーへの認証を行う必要があります。 watsonx Orchestrate の各製品は、サーバーへの認証に異なる方式を採用しています。

1. APIキーの生成

すべてのオファリングについて、最初のステップはAPIキーを生成することである:

2. 認証トークンの生成

APIキーを取得したら、それを使って認証トークンを生成する。

IBM Cloud IAMアクセストークンを使用して、 watsonx Orchestrate への認証を行います。 APIキーを使用して生成する必要があります。

AWS サービスでは、 watsonx Orchestrate API での認証にJSON Web Token(JWT)を使用しています。 APIキーを使用して生成する必要があります。

  • オンプレミス

オンプレミス版では、前の手順で取得したZen APIキーを使用します。 別のトークンを取得する必要はない。

サーバーのエンドポイントを呼び出す

認証トークンを取得したら、それを使ってAPIエンドポイントを呼び出すことができる。

APIエンドポイントを取得するには、 「APIエンドポイントの取得」 を参照してください。

これらは、適切な認証トークンを使用してAPIエンドポイントを呼び出す方法のいくつかの例です:

IBM Cloud

curl

curl -X GET "https://api.REGION_CODE.watson.cloud.ibm.com/instances/MY_INSTANCE_ID/v1/orchestrate/digital-employees/allskills" \
     -H "Authorization: Bearer MY_IAM_TOKEN" \
     -H "Accept: application/json"

Python

import http.client

region_code = "REGION_CODE"
iam_token = "MY_IAM_TOKEN"
instance_id = "MY_INSTANCE_ID"

conn = http.client.HTTPSConnection(f"api.{region_code}.watson-orchestrate.ibm.com")

headers = {
    'Authorization': f"Bearer {iam_token}",\
    'accept': "application/json"
}

conn.request("GET", f"/instances/{instance_id}/v1/orchestrate/digital-employees/allskills", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))

AWS

curl

curl -X GET "https://api.REGION_CODE.watson-orchestrate.ibm.com/instances/MY_INSTANCE_ID/v1/orchestrate/digital-employees/allskills" \
     -H "Authorization: Bearer MY_JWT_TOKEN" \
     -H "Accept: application/json"

Python

import http.client

region_code = "REGION_CODE"
jwt_token = "MY_JWT_TOKEN"
instance_id = "MY_INSTANCE_ID"

conn = http.client.HTTPSConnection(f"{region_code}.dl.watson-orchestrate.ibm.com")

headers = {
    'Authorization': f"Bearer {jwt_token}",\
    'accept': "application/json"
}

conn.request("GET", f"/instances/{instance_id}/v1/orchestrate/digital-employees/allskills", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))

オンプレミス

curl

curl -X GET "https://MYHOST:PORT//orchestrate/MY_NAMESPACE/instances/MY_INSTANCE_ID/v1/orchestrate/digital-employees/allskills" \
     -H "Authorization: ZenApiKey MY_ZEN_API_KEY" \
     -H "Accept: application/json"

Python

import http.client
import base64


region_code = f"https://MYHOST:PORT/"
api_key = "MY_API_KEY"
username = "MY_USER_NAME"
api_key_bytes = f"{username}:{api_key}".encode(encoding="utf-8")
zen_api_key = base64.encodebytes(api_key_bytes).decode(encoding="utf-8")
namespace = "MY_NAMESPACE"
instance_id = "MY_INSTANCE_ID"
endpoint = "/orchestrate/{namespace}/instances/{instanceid}/v1/orchestrate/digital-employees/allskills/"

conn = http.client.HTTPSConnection(f"{myhost}")

headers = {
    'Authorization': f"ZenApiKey {zen_api_key}",\
    'accept': "application/json"
}

conn.request("GET", endpoint, headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))