Zum Inhalt springen

API Manager Log Service API (Beta)

Einführung

Als Alternative zum Herunterladen einer API-Protokolldatei durch Klicken auf Download as CSV auf der API-Protokollseite können Sie eine API-Protokolldatei über eine REST-API abrufen. Dies erfordert die Verwendung von Befehlszeilen-Dienstprogrammen wie curl oder Anwendungen wie Postman.

Um die API Manager Log Service API (Beta) zu verwenden, aktivieren Sie zunächst API-Protokolle für die API Manager API und folgen Sie diesen Schritten:

  1. Holen Sie sich ein Authentifizierungstoken über die User Service Controller API. Dieses Token ist erforderlich, um die API Manager Log Service API (Beta) zu verwenden.

  2. Holen Sie sich die Protokolldatei über die API Manager Log Service API (Beta).

Authentifizierungstoken abrufen

Das Abrufen eines Authentifizierungstokens erfordert die Verwendung der User Service Controller API.

Wichtig

Wenn Ihre Harmony Organisation TFA aktiviert hat, wird diese Anfrage fehlschlagen. Das Abrufen des Authentifizierungstokens erfordert zwei verschiedene Anfragen.

Ein Beispiel für eine Anfrage, die das Anmelden in der NA-Region und das Abrufen des Autorisierungstokens zeigt:

Using curl
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "alice@jbexample.com",
    "password": "Jitterbit4Ever!"
}'

Basis-URL

Die Basis-URL hängt von der Region ab, in der sich die Organisation befindet:

Region Basis-URL
NA https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login
EMEA https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login
APAC https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login

Header

Diese Header sind erforderlich:

Header Erforderlich Beispiel Beschreibung
Content-Type Erforderlich 'Content-Type: application/json' Gibt das Format an, das in der Anfrage gesendet wird.

Body-Parameter

Diese erforderlichen Parameter werden im Body der Anfrage übergeben:

Erforderlicher Parameter Erforderlich Typ Beispiel Beschreibung
email Erforderlich String alice@jbexample.com Harmony-Benutzername (Email-Adresse) mit einer Rolle mit Admin-Berechtigung in der Organisation
password Erforderlich String Jitterbit4Ever! Harmony-Benutzerpasswort

Antwort-Body

Der zurückgegebene Antwort-Body enthält eine Liste der Organisationen, mit denen der Benutzer verbunden ist, zusätzlich zum Authentifizierungstoken ("authenticationToken"). Dieses Token ist für die nachfolgende Autorisierung mit der API Manager Log Service API (Beta) erforderlich. In diesem Beispiel ist das Authentifizierungstoken "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4". Die Organisations-ID wird als "123456" für die erste Organisation angezeigt, zu der dieser Benutzer gehört. Ein Beispiel für die Antwort:

Response Body
{
  "status": true,
  "operation": "User login",
  "authenticationToken": "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4",
  "serverUrl": "https://na-east.jitterbit.com",
  "cloudAppsUrl": "https://na-east.jitterbit.com",
  "orgAttrs": [
    {
      "orgId": "123456",
      "orgName": "JB Example Company",
      "orgZoneUrl": "https://na-east.jitterbit.com"
    },
    {
      "orgId": "20970",
      "orgName": "example@jbexample.com",
      "orgZoneUrl": "https://na-east.jitterbit.com"
    }
  ],
  "defaultOrgId": "123456",
  "sessionTimeoutInSeconds": 14400
}

Abrufen eines Authentifizierungstokens mit aktivierter TFA

Wenn die Organisation eines Benutzers in Harmony die Zwei-Faktor-Authentifizierung (TFA) aktiviert hat, erfordert das Abrufen des Authentifizierungstokens zwei Anfragen über die User Service Controller API:

  1. TFA-Code abrufen

  2. TFA-Code verwenden, um ein Authentifizierungstoken abzurufen

TFA-Code abrufen

Ein gültiger TFA-Code ist erforderlich, um ein Authentifizierungstoken abzurufen, wenn TFA aktiviert ist. Ein Beispiel für eine Anfrage, die das Anmelden in der NA-Region und das Anfordern eines TFA-Codes zeigt:

Using curl
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "alice@jbexample.com",
    "password": "Jitterbit4Ever!",
    "deviceId": "abcd"
}'
Basis-URL

Die Basis-URL hängt von der Region ab, in der sich die Organisation befindet:

Region Basis-URL
NA https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login
EMEA https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login
APAC https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login
Header

Diese Header sind erforderlich:

Header Erforderlich Beispiel Beschreibung
Content-Type Erforderlich 'Content-Type: application/json' Gibt das Format an, das in der Anfrage gesendet wird.
Körperparameter

Diese erforderlichen Parameter werden im Körper der Anfrage übergeben:

Erforderlicher Parameter Erforderlich Typ Beispiel Beschreibung
email Erforderlich String alice@jbexample.com Harmony-Benutzername (Email-Adresse) mit einer Rolle mit Admin-Berechtigung in der Organisation
password Erforderlich String Jitterbit4Ever! Harmony-Benutzerpasswort
deviceId Erforderlich String abcd Kennung, die verwendet wird, um den TFA-Code in der nächsten Anfrage zu bestätigen
Antwortkörper

Der zurückgegebene Antwortkörper enthält eine Fehlermeldung, die angibt, dass ein TFA-Code an die Email-Adresse des Benutzers gesendet wurde.

Antwortkörper
{
  "status": false,
  "operation": "User login",
  "errorCode": "VALIDATE_TFA_LOGIN_EMAIL",
  "errorMessage": "Validate your login with authentication code. An email from Jitterbit with the code was sent to you.",
  "authenticationToken": null,
  "serverUrl": "https://na-east.jitterbit.com",
  "orgAttrs": [],
  "defaultOrgId": null
}

Verwenden Sie den TFA-Code, um ein Authentifizierungstoken abzurufen

Der an die Email-Adresse des Benutzers gesendete TFA-Code kann nun in der zweiten Anfrage verwendet werden, um das Authentifizierungstoken abzurufen. Ein Beispiel für eine Anfrage, die das Anmelden in der NA-Region mit einem TFA-Code und das Abrufen des Autorisierungstokens zeigt:

Verwendung von curl
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login/tfacode' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "alice@jbexample.com",
    "password": "Jitterbit4Ever!",
    "code": "112233",
    "deviceId": "abcd"
}'
Basis-URL

Die Basis-URL hängt von der Region ab, in der sich die Organisation befindet:

Region Basis-URL
NA https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login/tfacode
EMEA https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login/tfacode
APAC https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login/tfacode
Header

Diese Header sind erforderlich:

Header Erforderlich Beispiel Beschreibung
Content-Type Erforderlich 'Content-Type: application/json' Gibt das Format an, das in der Anfrage gesendet wird.
Körperparameter

Diese erforderlichen Parameter werden im Körper der Anfrage übergeben:

Erforderlicher Parameter Erforderlich Typ Beispiel Beschreibung
email Erforderlich String alice@jbexample.com Harmony-Benutzername (Email-Adresse) mit einer Rolle mit Admin-Berechtigung in der Organisation
password Erforderlich String Jitterbit4Ever! Harmony-Benutzerpasswort
code Erforderlich String 112233 TFA-Code, der an die Email-Adresse des Harmony-Benutzers gesendet wurde
deviceId Erforderlich String abcd Bezeichner, der zur Generierung des TFA-Codes in der vorherigen Anfrage übermittelt wurde
Antwortkörper

Der zurückgegebene Antwortkörper enthält eine Liste der Organisationen, mit denen der Benutzer verbunden ist, zusätzlich zum Authentifizierungstoken ("authenticationToken"). Dieses Token ist erforderlich für die nachfolgende Autorisierung mit der API Manager Log Service API (Beta). In diesem Beispiel ist das Authentifizierungstoken "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4". Die Organisations-ID wird als "123456" für die erste Organisation angezeigt, zu der dieser Benutzer gehört. Ein Beispiel für die Antwort:

Antwortkörper
{
  "status": true,
  "operation": "User login",
  "authenticationToken": "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4",
  "serverUrl": "https://na-east.jitterbit.com",
  "cloudAppsUrl": "https://na-east.jitterbit.com",
  "orgAttrs": [
    {
      "orgId": "123456",
      "orgName": "JB Example Company",
      "orgZoneUrl": "https://na-east.jitterbit.com"
    },
    {
      "orgId": "654321",
      "orgName": "example@jbexample.com",
      "orgZoneUrl": "https://na-east.jitterbit.com"
    }
  ],
  "defaultOrgId": "123456",
  "sessionTimeoutInSeconds": 14400
}

API-Protokolle asynchron abrufen (Beta)

Sobald Sie das Authentifizierungstoken und die Organisations-ID haben, können Sie API-Protokolle asynchron mit der API Manager Log Service API (Beta) abrufen. Ein Beispiel, das das Abrufen aller Datensätze vom 20. Januar 2023 bis zum 20. Januar 2024 zeigt:

Verwendung von curl
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/api/analytics/debuglogs-async' \
--header 'Content-Type: application/json' --header 'Accept: application/json' --header 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' \
--data-raw '{
    "ascendSort": false,
    "retrieveLogMessages": false,
    "timeRangeFrom": "01/20/2023 01:01:00 +0100",
    "timeRangeTo": "01/20/2024 01:01:00 +0100",
    "clientTimeZone": "Europe/Berlin",
    "queryString": "responsetime>5; sourceip=14.141%",
    "orgId": "123456",
    "csvFormat": true
}'

Basis-URL

Die Basis-URL hängt von der Region ab, in der sich die Organisation befindet:

Region Basis-URL
NA https://na-east.jitterbit.com/jitterbit-cloud-restful-service/api/analytics/debuglogs-async
EMEA https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/api/analytics/debuglogs-async
APAC https://apac.jitterbit.com/jitterbit-cloud-restful-service/api/analytics/debuglogs-async

Diese Header können in der Anfrage verwendet werden:

Header Erforderlich Beispiel Beschreibung
Content-Type Erforderlich 'Content-Type: application/json' Gibt das Format an, das in der Anfrage gesendet wird.
Accept Erforderlich 'Accept: application/json' Gibt das Format an, das in der Antwort akzeptiert wird.
authToken Erforderlich 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' Überträgt das Autorisierungstoken (authenticationToken), das von der User Service Controller API zurückgegeben wird.

Body-Parameter

Diese Parameter können im Body der Anfrage übergeben werden:

Schlüssel Erforderlich Typ Beispiel Beschreibung
ascendSort Optional Boolean false Die Sortierreihenfolge der Protokolleinträge, entweder true oder false. Standardmäßig ist dieser Wert false.
retrieveLogMessages Optional String false Die Sichtbarkeit von Nachrichten in den abgerufenen Protokolleinträgen, entweder true oder false. Standardmäßig ist dieser Wert false.
timeRangeFrom Erforderlich String 01/20/2023 01:01:00 +0100 Das Startdatum und die Uhrzeit zum Filtern von Protokolleinträgen in einem Zeitbereich.
timeRangeTo Erforderlich String 01/20/2024 01:01:00 +0100 Das Enddatum und die Uhrzeit zum Filtern von Protokolleinträgen in einem Zeitbereich.
clientTimeZone Optional String Europe/Berlin Der Zeitstempel-Identifikator, um Zeiten aufzulösen. Eine Liste gültiger Identifikatoren finden Sie in der Liste der tz-Datenbank-Zeitzonen. Standardmäßig ist dieser Wert UTC.
queryString Optional String responsetime>5; sourceip=14.141% Der Abfrage-String zum Filtern von Protokolleinträgen basierend auf der angegebenen Bedingung. Bedingungen können eine Liste von Vergleichen zwischen Spaltenwerten und bekannten Werten sein, die jeweils durch ein Semikolon (;) getrennt sind. Gültige Spaltennamen sind time, apiname, envname, authprofile, requestid, requestmethod, requesturi, responsetime, sourceip, sourceapp, statuscode und message. Gültige Vergleichsoperatoren sind =, <>, !=, >, <, >= und <=.
orgId Erforderlich String 123456 Ihre Harmony-Organisations-ID. Die Organisation muss sich in der Region befinden, die mit der Basis-URL übereinstimmt.
csvFormat Optional Boolean true Das Format der Ausgabe, entweder true für CSV oder false für JSON. Standardmäßig ist dieser Wert true.

Antwortkörper

Wenn erfolgreich, enthält der zurückgegebene Antwortkörper einen Referenzschlüssel zur Verfolgung und zum Herunterladen der API-Protokolldatei basierend auf den bereitgestellten Parametern:

Antwortkörper
{
    "key": "debug-log-E8D47FE1F172D3EE46C620791E614B78D111CE624485D2E1B3D482370690DC40",
    "status": "COMPLETE"
}

Der Referenzschlüssel kann dann als Teil des folgenden API-Aufrufs bereitgestellt werden, um den Status der Protokolldatei zu überprüfen oder sie herunterzuladen, wenn der Status VOLLSTÄNDIG ist:

Verwendung von curl
curl --location --request GET 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/api/analytics/log-async/{orgId}/{key}' \
--header 'Content-Type: application/json' --header 'Accept: application/json' --header 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4'

Mögliche Status sind:

  • EMPFANGEN: Harmony hat eine gültige Anfrage zum Generieren der Protokolldatei erhalten. Der Status wechselt zu VERARBEITEN, wenn die Anfrage ausgeführt wird.
  • VERARBEITEN: Die Protokolldatei wird generiert. Der Status wechselt zu VOLLSTÄNDIG, wenn die Dateigenerierung abgeschlossen ist.
  • VOLLSTÄNDIG: Die Protokolldatei ist bereit zum Herunterladen mit der oben genannten log-async API.
  • UNGÜLTIG: Der Referenzschlüssel konnte nicht gefunden werden. Dieser Status wird nur gemeldet, wenn ein unbekannter oder fehlerhafter Referenzschlüssel an die log-async API übergeben wird.
  • FEHLER: Der Referenzschlüssel wurde gefunden, nachdem die API versucht hatte, die Protokolldatei zu generieren, aber ein Fehler wurde gemeldet. Eine Fehlermeldung wird ebenfalls zurückgegeben, die erläutert, warum die Generierung fehlgeschlagen ist.
  • KEINE_DATEN: Die Filterparameter, die Daten im ursprünglichen API-Aufruf abfragen, haben 0 Ergebnisse zurückgegeben.

Wichtig

Die generierte Datei wird 24 Stunden lang gespeichert. Der Referenzschlüssel wird 23 Stunden lang gespeichert. Die exakt gleiche Anfrage wird in diesem Zeitraum keine weiteren Dateien generieren, es sei denn, die Anfrage hat den Status FEHLER oder KEINE_DATEN zurückgegeben.

Vorsicht

Falls während der Status EMPFANGEN oder VERARBEITEN ein Fehler auftritt, wird die Anfrage gesperrt, bis der Referenzschlüssel abläuft. Das Ändern eines Parameters einer Anfrage macht sie eindeutig, sodass Umgehungsanfragen möglich sind, wenn dieses Problem auftritt.