API 시작하기

표준 온프레미스

watsonx Orchestrate API를 시작해 보세요.

API 인증하기

watsonx Orchestrate API를 사용하려면 먼저 서버에 인증을 완료해야 합니다. watsonx Orchestrate 의 각 서비스는 서버에 인증할 때 서로 다른 방식을 사용합니다.

1. API 키 생성

모든 오퍼링의 첫 번째 단계는 API 키를 생성하는 것입니다:

2. 인증 토큰 생성

API 키를 받은 후 이를 사용하여 인증 토큰을 생성합니다.

IBM Cloud IAM 액세스 토큰을 사용하여 watsonx Orchestrate 에 인증합니다. API 키를 사용하여 생성해야 합니다.

AWS 서비스는 JSON 웹 토큰(JWT)을 사용하여 watsonx Orchestrate API에서 사용자를 인증합니다. 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"))