API Manager Log Service API (Beta)
Introducción
Como alternativa a la descarga de un archivo de registro de API al hacer clic en Descargar como CSV en la página de Registros de API, se puede recuperar un archivo de registro de API utilizando una API REST. Esto requiere el uso de utilidades de línea de comandos como curl o aplicaciones como Postman.
Para utilizar la API Manager Log Service API (Beta), después de habilitar los registros de API para la API Manager API, sigue estos pasos:
-
Recupera un token de autenticación utilizando la API del Controlador de Servicio de Usuario. Este token es necesario para utilizar la API Manager Log Service API (Beta).
-
Si tu organización de Harmony no tiene habilitada la autenticación de dos factores (TFA), recupera tu token de autenticación con una solicitud de inicio de sesión estándar.
-
Si tu organización de Harmony tiene habilitada la TFA, recuperar el token de autenticación requiere dos solicitudes:
-
-
Recuperar el archivo de registro utilizando la API Manager Log Service API (Beta).
Recuperar un token de autenticación
Recuperar un token de autenticación requiere el uso de la API del Controlador de Servicio de Usuario.
Importante
Si tu organización de Harmony tiene habilitada la TFA, esta solicitud fallará. Recuperar el token de autenticación requiere dos solicitudes diferentes.
Un ejemplo de solicitud que muestra el inicio de sesión en la región NA y la recuperación del token de autorización:
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!"
}'
URL base
La URL base depende de la región en la que se encuentra la organización:
| Región | URL base |
|---|---|
| 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 |
Encabezados
Estos encabezados son requeridos:
| Encabezado | Requerido | Ejemplo | Descripción |
|---|---|---|---|
Content-Type |
Requerido | 'Content-Type: application/json' |
Indica el formato que se enviará en la solicitud. |
Parámetros del cuerpo
Estos parámetros requeridos se envían en el cuerpo de la solicitud:
| Parámetro Requerido | Requerido | Tipo | Ejemplo | Descripción |
|---|---|---|---|---|
email |
Requerido | Cadena | alice@jbexample.com |
Nombre de usuario de Harmony (dirección de correo electrónico) con un rol con permiso de Admin en la organización |
password |
Requerido | Cadena | Jitterbit4Ever! |
Contraseña del usuario de Harmony |
Cuerpo de la respuesta
El cuerpo de la respuesta devuelta contiene una lista de las organizaciones con las que el usuario está asociado, además del token de autenticación ("authenticationToken"). Este token es necesario para la autorización subsiguiente con la API del Servicio de Registro del Administrador de API (Beta). En este ejemplo, el token de autenticación es "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4". El ID de la organización se muestra como "123456" para la primera organización a la que pertenece este usuario. Un ejemplo de la respuesta:
{
"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
}
Recuperar un token de autenticación con TFA habilitado
Si la organización de un usuario en Harmony tiene habilitada la autenticación de dos factores (TFA), recuperar el token de autenticación requiere dos solicitudes utilizando la API del Controlador de Servicios de Usuario:
Recuperar un código TFA
Se requiere un código TFA válido para recuperar un token de autenticación cuando TFA está habilitado. Un ejemplo de solicitud que muestra cómo iniciar sesión en la región NA y solicitar un código TFA:
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"
}'
URL base
La URL base depende de la región en la que se encuentra la organización:
| Región | URL base |
|---|---|
| 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 |
Encabezados
Estos encabezados son requeridos:
| Encabezado | Requerido | Ejemplo | Descripción |
|---|---|---|---|
Content-Type |
Requerido | 'Content-Type: application/json' |
Indica el formato que se enviará en la solicitud. |
Parámetros del cuerpo
Estos parámetros requeridos se envían en el cuerpo de la solicitud:
| Parámetro Requerido | Requerido | Tipo | Ejemplo | Descripción |
|---|---|---|---|---|
email |
Requerido | String | alice@jbexample.com |
Nombre de usuario de Harmony (dirección de correo electrónico) con un rol con permiso de Admin en la organización |
password |
Requerido | String | Jitterbit4Ever! |
Contraseña del usuario de Harmony |
deviceId |
Requerido | String | abcd |
Identificador que se utilizará para confirmar el código TFA en la siguiente solicitud |
Cuerpo de la respuesta
El cuerpo de la respuesta devuelta contiene un mensaje de error que indica que se envió un código TFA a la dirección de correo electrónico del usuario.
{
"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
}
Utiliza el código TFA para recuperar un token de autenticación
El código TFA enviado a la dirección de correo electrónico del usuario ahora se puede utilizar en la segunda solicitud para recuperar el token de autenticación. Un ejemplo de solicitud que muestra cómo iniciar sesión en la región NA con un código TFA y recuperar el token de autorización:
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"
}'
URL base
La URL base depende de la región en la que se encuentra la organización:
| Región | URL base |
|---|---|
| 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 |
Encabezados
Estos encabezados son requeridos:
| Encabezado | Requerido | Ejemplo | Descripción |
|---|---|---|---|
Content-Type |
Requerido | 'Content-Type: application/json' |
Indica el formato que se enviará en la solicitud. |
Parámetros del cuerpo
Estos parámetros requeridos se envían en el cuerpo de la solicitud:
| Parámetro requerido | Requerido | Tipo | Ejemplo | Descripción |
|---|---|---|---|---|
email |
Requerido | String | alice@jbexample.com |
Nombre de usuario de Harmony (dirección de correo electrónico) con un rol con permiso de Admin en la organización |
password |
Requerido | String | Jitterbit4Ever! |
Contraseña del usuario de Harmony |
code |
Requerido | String | 112233 |
Código TFA enviado al correo electrónico del usuario de Harmony |
deviceId |
Requerido | String | abcd |
Identificador enviado para generar el código TFA en la solicitud anterior |
Cuerpo de la respuesta
El cuerpo de la respuesta devuelta contiene una lista de las organizaciones con las que el usuario está asociado, además del token de autenticación ("authenticationToken"). Este token es necesario para la autorización subsiguiente con la API del Servicio de Registro del Administrador de API (Beta). En este ejemplo, el token de autenticación es "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4". El ID de la organización se muestra como "123456" para la primera organización a la que pertenece este usuario. Un ejemplo de la respuesta:
{
"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
}
Recuperar registros de API de forma asíncrona (Beta)
Una vez que tenga el token de autenticación y el ID de la organización, puede recuperar registros de API de forma asíncrona utilizando la API del Servicio de Registro del Administrador de API (Beta). Un ejemplo que muestra la recuperación de todos los registros desde el 20 de enero de 2023 hasta el 20 de enero de 2024:
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
}'
URL base
La URL base depende de la región en la que se encuentra la organización:
| Región | URL base |
|---|---|
| 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 |
Encabezados
Estos encabezados se pueden utilizar en la solicitud:
| Encabezado | Requerido | Ejemplo | Descripción |
|---|---|---|---|
Content-Type |
Requerido | 'Content-Type: application/json' |
Indica el formato que se enviará en la solicitud. |
Accept |
Requerido | 'Accept: application/json' |
Indica el formato que se aceptará en la respuesta. |
authToken |
Requerido | 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' |
Pasa el token de autorización (authenticationToken) devuelto por la API del Controlador de Servicios de Usuario. |
Parámetros del cuerpo
Estos parámetros se pueden pasar en el cuerpo de la solicitud:
| Clave | Requerido | Tipo | Ejemplo | Descripción |
|---|---|---|---|---|
ascendSort |
Opcional | Booleano | false |
El orden de clasificación de las entradas del registro, uno de true o false. Por defecto, este valor es false. |
retrieveLogMessages |
Opcional | Cadena | false |
La visibilidad de los mensajes en las entradas del registro recuperadas, uno de true o false. Por defecto, este valor es false. |
timeRangeFrom |
Requerido | Cadena | 01/20/2023 01:01:00 +0100 |
La fecha y hora de inicio para filtrar las entradas del registro en un rango de tiempo. |
timeRangeTo |
Requerido | Cadena | 01/20/2024 01:01:00 +0100 |
La fecha y hora de finalización para filtrar las entradas del registro en un rango de tiempo. |
clientTimeZone |
Opcional | Cadena | Europe/Berlin |
El identificador de zona horaria para resolver las horas. Para una lista de identificadores válidos, consulte la lista de zonas horarias de la base de datos tz. Por defecto, este valor es UTC. |
queryString |
Opcional | Cadena | responsetime>5; sourceip=14.141% |
La cadena de consulta para filtrar las entradas del registro según la condición proporcionada. Las condiciones pueden ser una lista de comparaciones entre valores de columna y valores conocidos, cada una delimitada por un punto y coma (;). Los nombres de columna válidos incluyen time, apiname, envname, authprofile, requestid, requestmethod, requesturi, responsetime, sourceip, sourceapp, statuscode y message. Los operadores de comparación válidos incluyen =, <>, !=, >, <, >= y <=. |
orgId |
Requerido | Cadena | 123456 |
Su ID de organización de Harmony. La organización debe estar ubicada en la región que coincide con la URL base. |
csvFormat |
Opcional | Booleano | true |
El formato de la salida, uno de true para CSV o false para JSON. Por defecto, este valor es true. |
Cuerpo de la respuesta
Si tiene éxito, el cuerpo de la respuesta devuelta contiene una clave de referencia para rastrear y descargar el archivo de registro de la API basado en los parámetros suministrados:
{
"key": "debug-log-E8D47FE1F172D3EE46C620791E614B78D111CE624485D2E1B3D482370690DC40",
"status": "COMPLETE"
}
La clave de referencia se puede suministrar como parte de la siguiente llamada a la API para verificar el estado del archivo de registro o para descargarlo si el estado es COMPLETE:
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'
Los estados posibles incluyen:
- RECEIVED: Harmony recibió una solicitud válida para generar el archivo de registro. El estado cambiará a PROCESSING cuando se esté ejecutando la solicitud.
- PROCESSING: El archivo de registro se está generando. El estado cambiará a COMPLETE cuando la generación del archivo esté completa.
- COMPLETE: El archivo de registro está listo para ser descargado usando la API
log-asyncmencionada arriba. - INVALID: No se pudo encontrar la clave de referencia. Este estado solo se informa si se suministra una clave de referencia desconocida o malformada a la API
log-async. - ERROR: La clave de referencia fue encontrada después de que la API terminó de intentar generar el archivo de registro, pero se reportó un error. También se devolverá un mensaje de error detallando por qué falló la generación.
- NO_DATA: Los parámetros de filtrado que consultan datos en la llamada original a la API devolvieron 0 resultados.
Importante
El archivo generado se guardará durante 24 horas. La clave de referencia se guardará durante 23 horas. La misma solicitud exacta no generará más archivos durante este período de tiempo a menos que la solicitud haya devuelto un estado de ERROR o NO_DATA.
Precaución
En caso de que ocurra un error durante los estados RECEIVED o PROCESSING, la solicitud se bloqueará hasta que expire la clave de referencia. Cambiar cualquier parámetro de una solicitud la hará distinta, permitiendo solicitudes alternativas si se encuentra con este problema.