Saltar al contenido

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:

  1. 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).

  2. 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:

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!"
}'

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:

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
}

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:

  1. Recuperar un código TFA

  2. Usar el código TFA para recuperar un token de autenticación

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:

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"
}'
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.

Cuerpo de la respuesta
{
  "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:

Usando 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"
}'
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:

Cuerpo 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:

Usando 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
}'

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:

Cuerpo de la respuesta
{
    "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:

Usando 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'

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-async mencionada 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.