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:
-
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.
-
Wenn Ihre Harmony Organisation keine Zwei-Faktor-Authentifizierung (TFA) aktiviert hat, holen Sie sich Ihr Authentifizierungstoken mit einer Standard-Anmeldeanforderung.
-
Wenn Ihre Harmony Organisation TFA aktiviert hat, erfordert das Abrufen des Authentifizierungstokens zwei Anfragen:
-
-
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:
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:
{
"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:
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:
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.
{
"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:
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:
{
"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:
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 |
Header
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:
{
"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:
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-asyncAPI. - UNGÜLTIG: Der Referenzschlüssel konnte nicht gefunden werden. Dieser Status wird nur gemeldet, wenn ein unbekannter oder fehlerhafter Referenzschlüssel an die
log-asyncAPI ü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.