Sucesos de API

Tabla de referencia y ejemplos de casos de uso para las reglas de interacción basadas en eventos de la API.

Los siguientes son algunos de los ejemplos de casos de uso para las reglas de participación basadas en eventos de la API:

  • Un proveedor de API puede utilizar Engagement para recibir notificaciones:
    • Si hay más de 3 errores HTTP 500 en cualquier API en un período de 24 horas.
    • Cuando el tiempo medio de respuesta de una API supera un determinado umbral.
  • Un responsable de seguridad corporativa puede utilizar el compromiso para recibir un correo electrónico si alguien accede a sus API bancarias desde un país embargado.
  • Un proveedor de API de IA puede utilizar el compromiso para recibir una notificación si el total de tokens de IA utilizados en una hora supera un determinado umbral.

La siguiente tabla muestra la lista de campos disponibles para un registro de evento API. Estos campos se utilizan como filtros en la lista de definición de reglas y puede seleccionar una opción basada en los datos que se utilizan para activar la regla.

Tabla 1. Campos de registro de eventos de la API
Nombre de campo Tipo Descripción
ai_cache_hit Booleano Indica si la respuesta AI se ha servido desde caché.
modelo de IA Serie El nombre o identificador del modelo de IA que se utiliza.
ai_request_tokens Número El número de tokens en el prompt de entrada al modelo de IA.
ai_response_tokens Número El número de fichas que se generan en la respuesta de la IA.
ai_total_tokens Número El número total de tokens que se utilizan en la interacción AI que incluye tanto la solicitud como la respuesta.
acción_alerta Serie La acción que se lleva a cabo en respuesta a una alerta.
descripción_alerta Serie Descripción o mensaje asociado a la alerta.
fuente_alerta Serie El sistema o módulo de origen que ha generado la alerta.
Alert_Type Serie Tipo o categoría de la alerta.
api_id Serie El identificador de la API.
nombre_api Serie El nombre de la API.
api_resource_id Serie El formato del campo es: api_name:api_version:method:path. Solo disponible en API Gateway v10.5.3 o superior.
versión_api Serie El número de versión de la API.
api_type Serie El tipo de API. Por ejemplo, REST, GraphQL, SOAP.
app_id Serie El identificador de la aplicación registrada.
estado_del_ciclo_de_vida_de_la_aplicación Serie Estado de ciclo de vida de la aplicación.
nombre_aplic Serie El nombre de la solicitud registrada.
Nota : La propiedad se establece en undefined cuando no se utiliza un ID de cliente o este no es válido en la API. La pasarela necesita un ID de cliente para determinar qué aplicación estaba invocando la API. Desde esta aplicación, la pasarela puede determinar a qué plan está suscrita la aplicación en el producto que contiene la API. Sin un ID de cliente, la pasarela no puede determinar qué plan, producto o aplicación se invocó, porque una sola API puede pertenecer a varios productos (cada uno de los cuales tiene varios planes y aplicaciones que están suscritos a esos planes con ID de cliente).
app_type Serie El tipo de aplicación, con un valor de Production o Development.
método_backend Serie El método HTTP que se utiliza en la solicitud del backend.
cuerpo_de_la_solicitud_del_servidor Serie El contenido del cuerpo de la solicitud de backend.
cabeceras de solicitud del backend Objecto Las cabeceras que se envían en la solicitud del backend.
cuerpo_de_la_respuesta_del_servidor Serie El contenido del cuerpo de la respuesta del backend.
encabezados de respuesta del backend Objecto Las cabeceras que se reciben en la respuesta del backend.
código_estado_backend Serie El código de estado HTTP devuelto por el backend.
tiempo de respuesta del servidor Número Tiempo en milisegundos que tarda el backend en servir la petición.
url_del_servidor_de_fondo Serie La dirección URL del servicio backend invocado.
bytes_recibidos Número El número de bytes recibidos del consumidor en la solicitud.
Bytes_Sent Número El número de bytes enviados al consumidor en la respuesta.
respuesta_en_cache Booleano Indica si la respuesta se ha servido desde una caché.
solicitud_de_retorno Booleano Indica si la solicitud era una devolución de llamada.
catalog_id Serie Identificador del catálogo API.
nombre_catálogo Serie El nombre del catálogo API.
client_geoip.area_code Número El código de área de la red telefónica pública conmutada (PSTN) del cliente, identificado a partir de su dirección IP.
client_geoip.city_name Serie El nombre de la ciudad del cliente, identificado a partir de su dirección IP.
client_geoip.continent_code Serie El código de dos letras del continente del cliente, identificado a partir de su dirección IP.
client_geoip.country_code2 Serie El código de país de dos letras del cliente, identificado a partir de su dirección IP.
client_geoip.country_code3 Serie El código de país de tres letras del cliente, identificado a partir de su dirección IP.
client_geoip.country_name Serie El nombre del país del cliente, identificado a partir de su dirección IP.
client_geoip.dma_code Número El código de área de mercado designado (DMA) del cliente, identificado a partir de su dirección IP.
client_geoip.ip Serie La dirección IP del cliente.
client_geoip.latitude Número La latitud de la ubicación del cliente, identificada a partir de su dirección IP.
client_geoip.location Serie La longitud y latitud de la ubicación del cliente (separadas por una coma), identificadas a partir de su dirección IP.
client_geoip.longitude Número La longitud de la ubicación del cliente, identificada a partir de su dirección IP.
client_geoip.postal_code Serie El código postal del cliente, identificado a partir de su dirección IP.
client_geoip.region_code Serie El código de región basado en la IP del cliente.
client_geoip.region_name Serie La forma abreviada de la región que corresponde a la dirección IP del cliente.
client_geoip.timezone Serie La zona horaria del cliente, identificada a partir de su dirección IP.
client_id Serie El ID único del cliente que se adjunta a la solicitud de API.
CLIENT_IP Serie La dirección IP del cliente.
id_de_la_organización_de_consumidores Serie Identificador de la organización de consumidores.
nombre_organizacion_consumidor Serie El nombre de la organización de consumidores
organización_de_consumidores_title Serie El título o nombre para mostrar de la organización de consumidores.
datos_personalizados Mapa de matriz Se pueden añadir datos personalizados a este campo.
datetime Fecha Una marca de tiempo que registra cuándo se invocó la API. La marca de tiempo siempre se muestra en Tiempo Universal Coordinado.
developer_org_id Serie El identificador de la organización de consumidores propietaria de la aplicación.
nombre_org_desarrollador Serie El nombre de la organización de consumidores propietaria de la aplicación.
url_del_punto_final Serie Cuando la solicitud falla, endpoint_url identifica el proxy o invoca el URL de destino en el que falló la solicitud. No se incluye con una solicitud exitosa. En una pasarela compatible c V5, este campo solo se rellena cuando el servidor back-end URL que se invocó devuelve un código 404 de " HTTP ".
descripción_error Serie Una descripción detallada de cualquier error encontrado.
error_message Serie Un breve mensaje que describe el error.
Tipo_suceso Serie El tipo de suceso.
nombre_del_filtro Serie Nombre del filtro que se aplica durante la solicitud.
gateway_geoip.area_code Número El código de área de la red telefónica pública conmutada (PSTN) de la pasarela, identificado a partir de su dirección IP.
gateway_geoip.city_name Serie El nombre de la ciudad del gateway, identificado a partir de su dirección IP.
gateway_geoip.continent_code Serie El código de dos letras del continente de la pasarela, identificado a partir de su dirección IP.
gateway_geoip.country_code2 Serie El código de país de dos letras de la pasarela, identificado a partir de su dirección IP.
gateway_geoip.country_code3 Serie El código de país de tres letras de la pasarela, identificado a partir de su dirección IP.
gateway_geoip.country_name Serie El nombre del país de la pasarela, identificado a partir de su dirección IP.
gateway_geoip.dma_code Número El código de área de mercado designada (DMA) de la pasarela, identificado a partir de su dirección IP.
gateway_geoip.ip Serie La dirección IP de la pasarela.
gateway_geoip.latitude Número La latitud de la ubicación de la pasarela, identificada a partir de su dirección IP.
gateway_geoip.location Serie La longitud y latitud de la ubicación de la pasarela (separadas por una coma), identificadas a partir de su dirección IP.
gateway_geoip.longitude Número La longitud de la ubicación de la pasarela, identificada a partir de su dirección IP.
gateway_geoip.postal_code Serie El código postal de la pasarela, identificado a partir de su dirección IP.
gateway_geoip.region_name Serie La forma abreviada de la región que corresponde a la dirección IP de la pasarela.
gateway_geoip.timezone Serie La zona horaria de la pasarela, identificada a partir de su dirección IP.
nombre_host_pasarela Serie El nombre de host de la pasarela API.
dirección_IP_de_la_puerta_de_enlace Serie La dirección IP de la pasarela.
puerto_pasarela Número El número de puerto utilizado por la pasarela API.
nombre_servicio_pasarela Serie El nombre del servicio de pasarela API de DataPower. Configurado por el usuario administrador de la nube al registrar el servicio de puerta de enlace. Solo disponible en DataPower API Gateway v10.5.3 o superior.
pasarela_tiempo_para_servir_petición Número Tiempo en milisegundos que tarda la pasarela en servir la petición.
tipo_pasarela Serie El tipo y la versión de la puerta de enlace que procesó la llamada, en formato: type / version. Establecido por todos los tipos de puerta de enlace excepto v5c, y solo disponible en v10.0.8.0 o superior.
id_transacción_global Serie El ID de transacción global de DataPower. Consulte https://www.ibm.com/docs/en/datapower-gateway/latest?topic=variables-varserviceglobal-transaction-id-servicevarsglobaltransactionid.
hash del documento GraphQL Serie El valor hash del documento de consulta GraphQL.
número de errores de GraphQL Número Número de errores encontrados en la ejecución de la consulta GraphQL.
graphql_nombre_operacion Serie El nombre de la operación GraphQL.
tipo_operación_gráfica Serie Tipo de operación GraphQL.
coste del campo de la solicitud GraphQL Número GraphQL Solo API. El coste máximo de todos los campos a los que se accede en la consulta. El coste de cada acceso de campo se configura en el esquema.
graphql_request_max_nesting Número GraphQL Solo API. La profundidad máxima de anidamiento encontrada en la consulta por la acción de validación de ensamblaje. La configuración del esquema se utiliza para determinar qué tipos están anidados, por lo que este valor podría ser menor que la profundidad de anidamiento encontrada por la acción de análisis del ensamblado.
recuento de campos principales en GraphQL Objecto GraphQL Solo API. El número máximo de veces que una consulta puede recuperar cada campo. Este número es igual al número de veces que debe ejecutarse el programa de resolución.

Este campo se almacena en formato JSON y no está indexado, por lo que no está disponible para visualizaciones. Se almacena un número limitado de solicitudes de consulta y respuestas para cada entrada, en función de la cantidad de datos que cada una contiene. La cantidad máxima de datos que se puede almacenar está sujeta a cambios.

recuento de los tipos más frecuentes en las solicitudes de GraphQL Objecto GraphQL Solo API. El número máximo de veces que una consulta puede recuperar un objeto de cada tipo.

Este campo se almacena en formato JSON y no está indexado, por lo que no está disponible para visualizaciones. Se almacena un número limitado de solicitudes de consulta y respuestas para cada entrada, en función de la cantidad de datos que cada una contiene. La cantidad máxima de datos que se puede almacenar está sujeta a cambios.

coste del tipo de solicitud GraphQL Número GraphQL Solo API. El coste máximo de todos los tipos recuperados en la consulta. El coste de cada tipo se configura en el esquema.
coste del campo de respuesta de GraphQL Número GraphQL Solo API. El coste de todos los campos a los que se accede en la consulta. El coste de cada acceso de campo se configura en el esquema.
graphql_response_max_nesting Número GraphQL Solo API. La profundidad de anidamiento encontrada en la consulta por la acción de validación de ensamblado. La configuración del esquema se utiliza para determinar qué tipos se consideran anidados, por lo que este valor podría ser menor que la profundidad de anidamiento encontrada por la acción de análisis del conjunto.
recuento de campos principales en la respuesta de GraphQL Objecto GraphQL Solo API. El número de veces que cada campo fue recuperado por la consulta. Este número es igual al número de veces que debe ejecutarse el programa de resolución.

Este campo se almacena en formato JSON y no está indexado, por lo que no está disponible para visualizaciones. Se almacena un número limitado de solicitudes de consulta y respuestas para cada entrada, en función de la cantidad de datos que cada una contiene. La cantidad máxima de datos que se puede almacenar está sujeta a cambios.

recuento de tipos principales de respuesta de GraphQL Objecto GraphQL Solo API. El número de veces que se recuperó un objeto de cada tipo mediante la consulta.

Este campo se almacena en formato JSON y no está indexado, por lo que no está disponible para visualizaciones. Se almacena un número limitado de solicitudes de consulta y respuestas para cada entrada, en función de la cantidad de datos que cada una contiene. La cantidad máxima de datos que se puede almacenar está sujeta a cambios.

cost_del_tipo_de_respuesta_graphql Número GraphQL Solo API. El coste de todos los tipos que se han recuperado en la consulta. El coste de cada tipo se configura en el esquema.
headers. field_ name Serie Información interna relacionada con la ingesta de datos analíticos. headers.field_name no está relacionado con la llamada API o su respuesta, consulte request_http_headers para obtener esa información.
host Serie El nombre de host o la dirección IP del nodo de ingesta que recibió el evento de API.
http_user_agent Serie El valor del encabezado del agente de usuario en la solicitud entrante.
immediate_client_ip Serie La dirección IP del cliente que está directamente delante de la pasarela. Por lo general, immediate_client_ip es la IP de un equilibrador de carga.
latency_info.started Número El tiempo de retardo (en milisegundos) entre el momento en que se recibió la solicitud y el momento en que la pasarela inició la tarea correspondiente. El inicio de una tarea implica varios pasos previos a la ejecución de una API; por ejemplo, completar el protocolo de autenticación de TCP / TLS, verificar el ID de cliente y el secreto de la aplicación, y hacer coincidir el URI de la solicitud con un catálogo, una API y un plan. Cuando la pasarela recibe una solicitud, la duración de «Inicio» se establece en 0. A continuación, se suma la duración de cada paso de la tarea de inicio, y el total representa la duración de la tarea de inicio.
latency_info.task Serie La transacción API que se procesó.
política_de_registro Serie La política de registro definida. Los valores incluyen none, event, headers y payload.
método Serie El método HTTP utilizado en la solicitud. Por ejemplo, GET, POST.
atributo_monitor Serie El atributo personalizado que se utiliza para la supervisión de la API.
opentracing_info Objecto Los datos de seguimiento distribuidos para la solicitud.
ruta_de_operación Serie La ruta de operación específica dentro de la API.
org_id Serie El identificador de la organización proveedora propietaria de la API y los Productos asociados.
org_name Serie El nombre de la organización proveedora propietaria de la API y los Productos asociados.
vía de acceso Serie La ruta completa de la solicitud API.
id_ruta Serie Identificador de la ruta API a la que se accede.
plan_id Serie El identificador del plan.
plan_name Serie El nombre del plan.
Nota : La propiedad se establece en undefined cuando no se utiliza un ID de cliente o este no es válido en la API. La pasarela necesita un ID de cliente para determinar qué aplicación estaba invocando la API. Desde esta aplicación, la pasarela puede determinar a qué plan está suscrita la aplicación en el producto que contiene la API. Sin un ID de cliente, la pasarela no puede determinar qué plan, producto o aplicación se invocó porque una sola API puede pertenecer a varios productos (cada uno de los cuales tiene varios planes y aplicaciones que están suscritos a esos planes con ID de cliente).
versión_plan Serie El número de versión del plan.
product_id Serie Identificador del producto asociado a la API.
nombre_producto Serie El nombre del producto.
Nota : La propiedad se establece en undefined cuando no se utiliza un ID de cliente o este no es válido en la API. La pasarela necesita un ID de cliente para determinar qué aplicación estaba invocando la API. Desde esta aplicación, la pasarela puede determinar a qué plan está suscrita la aplicación en el producto que contiene la API. Sin un ID de cliente, la pasarela no puede determinar qué plan, producto o aplicación se invocó porque una sola API puede pertenecer a varios productos (cada uno de los cuales tiene varios planes y aplicaciones que están suscritos a esos planes con ID de cliente).
título_producto Serie El título del Producto.
versión del producto Serie El número de versión del Producto.
cadena_de_consulta Serie El valor de la cadena de consulta URL en la solicitud entrante.
límite_de_tasa Serie El número máximo de solicitudes que una aplicación puede realizar a la API durante un intervalo de tiempo específico.
rate_limit.count Número El número de llamadas API restantes en el intervalo de tiempo límite de velocidad especificado.
rate_limit.interval Número El intervalo de tiempo total durante el cual se permite un cierto número de llamadas API.
rate_limit.limit Número El número máximo de solicitudes que una aplicación puede realizar a la API durante un intervalo de tiempo específico.
rate_limit.period Número El intervalo de tiempo que se utiliza para establecer un límite de velocidad para las llamadas API.
rate_limit.reject Serie Una indicación de si se rechazan las llamadas que superan el límite de tarifa especificado. Si es cierto, la llamada API se rechaza con un código de estado 429. Si es falso, se crea un registro en el registro de actividad.
rate_limit.shared Serie Una indicación de si el límite de tarifa se comparte a nivel de Plan por todas las operaciones, o si se especifica un límite de tarifa en operaciones e indivIDual.
rate_limit.unit Número La unidad de tiempo utilizada para calcular el límite de velocidad.
Nota : Los valores permitidos son segundo, minuto, hora, día y semana
cuerpo_de_la_solicitud Serie El cuerpo de la solicitud entrante.
request _http_headers.field_name Serie Un componente de la sección de encabezado " HTTP " de la solicitud entrante; por ejemplo, las codificaciones aceptables, la cadena de identificación del agente de usuario o los servidores proxy a través de los cuales se envió la solicitud.
Nota : Los siguientes tipos de encabezados se consideran confidenciales y no se muestran en los datos analíticos por razones de seguridad:
  • Cualquier clave secreta configurada en la seguridad de la API
  • Cualquier encabezado que contenga secret
  • Cualquier encabezado que contenga Authorization
método_solicitud Serie El método de la solicitud entrante.
protocolo_de_solicitud Serie El protocolo de la solicitud entrante.
recurso Serie Nombre de la operación.
resource_id Serie El identificador de la operación.
ruta_recursos Serie La ruta de operación.
respuesta_cuerpo Serie El cuerpo de la respuesta saliente.
respuesta_http_headers.nombre_del_campo Serie Un componente de la sección de encabezado " HTTP " de la respuesta saliente; por ejemplo, el tipo MIME del contenido o los datos y la hora en que se envió el mensaje.
nombre_regla Serie Nombre de la regla que se aplica a la solicitud.
alcance Serie No se utiliza para DataPower® API Gateway o DataPower Gateway.
space_id Serie Identificador del espacio bajo el que se realizó la llamada a la API.
nombre_espacio Serie El nombre del espacio.
Status_Code Serie El código de estado establecido en la respuesta saliente.
tiempo_para_servir_solicitud Número El tiempo transcurrido (en milisegundos) desde que la pasarela recibió la solicitud hasta que envió una respuesta.
transaction_id Serie El identificador de la transacción API. Consulte https://www.ibm.com/docs/en/datapower-gateway/latest?topic=variables-varservicetransaction-id-servicevarstransactionid.
ruta_uri Serie La ruta URI en la solicitud entrante.
agente_usuario Objecto El contenido analizado del campo " http_user_agent ", que contiene información sobre el usuario que realizó la llamada a la API.
user_agent.device Serie Nombre del dispositivo.
user_agent.major Serie Número de versión principal del agente de usuario.
user_agent.minor Serie Número de versión menor del agente de usuario.
user_agent.name Serie Nombre del agente de usuario.
user_agent.os_full Serie Nombre completo del sistema operativo detectado.
user_agent.os_major Serie Número de versión principal del sistema operativo detectado.
user_agent.os_minor Serie Número de versión menor del sistema operativo detectado.
user_agent.os_name Serie Nombre del sistema operativo detectado.
user_agent.os_patch Serie Versión de parche del sistema operativo detectada.
user_agent.os_version Serie Versión del sistema operativo detectada.
user_agent.patch Serie Versión del parche del agente de usuario.
user_agent.version Serie Versión del agente de usuario detectada.
tipo_mensaje_webocket Serie El tipo de mensaje WebSocket.
websocket_origin Serie La cabecera de origen de la conexión WebSocket.