Einführung in die API

Standard vor Ort

Erste Schritte mit der „ watsonx Orchestrate “-API.

Authentifizierung bei der API

Um die „ watsonx Orchestrate “-API nutzen zu können, müssen Sie sich zunächst beim Server authentifizieren. Jedes Angebot von „ watsonx Orchestrate “ nutzt eine andere Methode zur Authentifizierung gegenüber dem Server.

1. Einen API-Schlüssel generieren

Für alle Angebote muss zunächst ein API-Schlüssel generiert werden:

2. Erstellen des Authentifizierungstokens

Nachdem Sie Ihren API-Schlüssel erhalten haben, verwenden Sie ihn, um ein Authentifizierungs-Token zu erzeugen.

IBM Cloud nutzt das IAM-Zugriffstoken zur Authentifizierung bei watsonx Orchestrate. Sie müssen ihn mit dem API-Schlüssel generieren.

Der Dienst „ AWS “ verwendet ein JSON Web Token (JWT), um Sie in der „ watsonx Orchestrate “-API zu authentifizieren. Sie müssen ihn mit dem API-Schlüssel generieren.

  • lokal

Das On-Premises-Angebot verwendet den Zen-API-Schlüssel, den Sie im vorherigen Schritt erhalten haben. Sie brauchen keine weitere Wertmarke zu erwerben.

Aufrufen der Endpunkte des Servers

Nachdem Sie die Authentifizierungstoken erhalten haben, können Sie damit die API-Endpunkte aufrufen.

Informationen zu den API-Endpunkten finden Sie unter „API-Endpunkte abrufen “.

Dies sind einige Beispiele dafür, wie man die API-Endpunkte mit den richtigen Autorisierungs-Tokens aufruft:

IBM Cloud

Unebenheit

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

Unebenheit

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"))

lokal

Unebenheit

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"))