- Información general
- Creación de modelos
- Validación del modelo
- Implementación del modelo
- API
- Eventos de auditoría de API
- Preguntas frecuentes

Guía del usuario de Documentos complejos y no estructurados
Puedes consultar eventos de auditoría para recuperar un registro detallado de las acciones del usuario y del sistema dentro de la plataforma.
/api/v1/audit_events/query
Bash
curl -X POST 'https://<my_api_endpoint>/api/v1/audit_events/query' \
-H "Authorization: Bearer $REINFER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"timestamp": {
"maximum": "2021-07-10T00:00:00Z",
"minimum": "2021-06-10T00:00:00Z"
}
}
}'
curl -X POST 'https://<my_api_endpoint>/api/v1/audit_events/query' \
-H "Authorization: Bearer $REINFER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"timestamp": {
"maximum": "2021-07-10T00:00:00Z",
"minimum": "2021-06-10T00:00:00Z"
}
}
}'
Nodo
const request = require("request");
request.post(
{
url: "https://<my_api_endpoint>/api/v1/audit_events/query",
headers: {
Authorization: "Bearer " + process.env.REINFER_TOKEN,
},
json: true,
body: {
filter: {
timestamp: {
maximum: "2021-07-10T00:00:00Z",
minimum: "2021-06-10T00:00:00Z",
},
},
},
},
function (error, response, json) {
// digest response
console.log(JSON.stringify(json, null, 2));
}
);const request = require("request");
request.post(
{
url: "https://<my_api_endpoint>/api/v1/audit_events/query",
headers: {
Authorization: "Bearer " + process.env.REINFER_TOKEN,
},
json: true,
body: {
filter: {
timestamp: {
maximum: "2021-07-10T00:00:00Z",
minimum: "2021-06-10T00:00:00Z",
},
},
},
},
function (error, response, json) {
// digest response
console.log(JSON.stringify(json, null, 2));
}
);Python
import json
import os
import requests
response = requests.post(
"https://<my_api_endpoint>/api/v1/audit_events/query",
headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
json={
"filter": {
"timestamp": {
"minimum": "2021-06-10T00:00:00Z",
"maximum": "2021-07-10T00:00:00Z",
}
}
},
)
print(json.dumps(response.json(), indent=2, sort_keys=True))
import json
import os
import requests
response = requests.post(
"https://<my_api_endpoint>/api/v1/audit_events/query",
headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
json={
"filter": {
"timestamp": {
"minimum": "2021-06-10T00:00:00Z",
"maximum": "2021-07-10T00:00:00Z",
}
}
},
)
print(json.dumps(response.json(), indent=2, sort_keys=True))
Respuesta
{
"audit_events": [
{
"actor_user_id": "e2148a6625225593",
"dataset_ids": ["1fe230edc85ffc1a"],
"event_id": "2555880060c23eb5",
"event_type": "get_datasets",
"project_ids": ["ce3c61dcf210f425", "274400867ab17af9"],
"tenant_ids": ["c59b6e209da438a8"],
"timestamp": "2021-06-10T16:32:53Z"
}
],
"continuation": "2555880060c23eb5",
"datasets": [
{
"id": "1fe230edc85ffc1a",
"name": "collateral-sharing",
"project_id": "ce3c61dcf210f425",
"title": "Collateral Sharing"
},
{
"id": "274400867ab17af9",
"name": "Customer-Feedback",
"project_id": "ce3c61dcf210f425",
"title": "Customer Feedback"
}
],
"projects": [
{
"id": "ce3c61dcf210f425",
"name": "bank-collateral",
"tenant_id": "c59b6e209da438a8"
}
],
"status": "ok",
"tenants": [
{
"id": "c59b6e209da438a8",
"name": "acme"
}
],
"users": [
{
"display_name": "Alice",
"email": "alice@acme.example",
"id": "e2148a6625225593",
"tenant_id": "c59b6e209da438a8",
"username": "alice"
}
]
}{
"audit_events": [
{
"actor_user_id": "e2148a6625225593",
"dataset_ids": ["1fe230edc85ffc1a"],
"event_id": "2555880060c23eb5",
"event_type": "get_datasets",
"project_ids": ["ce3c61dcf210f425", "274400867ab17af9"],
"tenant_ids": ["c59b6e209da438a8"],
"timestamp": "2021-06-10T16:32:53Z"
}
],
"continuation": "2555880060c23eb5",
"datasets": [
{
"id": "1fe230edc85ffc1a",
"name": "collateral-sharing",
"project_id": "ce3c61dcf210f425",
"title": "Collateral Sharing"
},
{
"id": "274400867ab17af9",
"name": "Customer-Feedback",
"project_id": "ce3c61dcf210f425",
"title": "Customer Feedback"
}
],
"projects": [
{
"id": "ce3c61dcf210f425",
"name": "bank-collateral",
"tenant_id": "c59b6e209da438a8"
}
],
"status": "ok",
"tenants": [
{
"id": "c59b6e209da438a8",
"name": "acme"
}
],
"users": [
{
"display_name": "Alice",
"email": "alice@acme.example",
"id": "e2148a6625225593",
"tenant_id": "c59b6e209da438a8",
"username": "alice"
}
]
}Un evento de auditoría es un registro de una acción que un usuario realiza en la plataforma Extracción y Procesamiento Inteligentes (IXP). Los ejemplos de eventos auditables incluyen:
- Un usuario iniciando sesión.
- Un usuario que cambia su contraseña.
- Un usuario que cambia los permisos de otro usuario.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
continuation | String | No | Si una consulta anterior devolvió un continuation en la respuesta, hay otra página de eventos disponible. Establezca aquí el valor de continuación devuelto para obtener la página siguiente.
|
limit | Número | No | El número de eventos de auditoría que se devolverán por página. El valor predeterminado es 128. |
filter | Filtro | No | Un filtro que especifica qué eventos de auditoría devolver. |
filter tiene el siguiente formato:
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
timestamp | FiltroDeMarcaDeHora | No | Un filtro que especifica en qué intervalo de tiempo devolver los eventos. |
TimestampFilter tiene el siguiente formato:
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
minimum | String | No | Una marca de tiempo ISO-8601. Si se proporciona, solo devuelve un evento de auditoría posterior o que incluya esta marca de tiempo. |
maximum | String | No | Una marca de tiempo ISO-8601. Si se proporciona, solo devuelve un evento de auditoría antes de esta marca de tiempo. |
Esta sección contiene todos los tipos de eventos de auditoría que se aplican a los documentos complejos y no estructurados.
Gestión de proyecto
| Tipo de evento | Descripción |
|---|---|
ucd_project_created | Se crea un proyecto de documentos complejos y no estructurados. |
ucd_project_deleted | Se elimina un proyecto de documentos complejos y no estructurados. |
Gestión de modelos
| Tipo de evento | Descripción |
|---|---|
model_version_published | Se publica un modelo. |
model_version_unpublished | Se actualiza una etiqueta de modelo. |
model_tag_deleted | Se elimina un modelo publicado. |
Gestión de conjuntos de datos
| Tipo de evento | Descripción |
|---|---|
get_datasets | Se recuperan los conjuntos de datos. |
get_datasets_by_owner | El propietario recupera los conjuntos de datos. |
get_dataset | Se recupera un conjunto de datos específico. |
export_dataset | Se exporta un conjunto de datos. |
Gestión de usuarios
| Tipo de evento | Descripción |
|---|---|
create_user | Se crea un usuario nuevo. |
delete_user | Se elimina un usuario. |
get_users | Se recupera la información del usuario. |
update_user | Se modifica la información del Usuario. |
Autenticación y seguridad
| Tipo de evento | Descripción |
|---|---|
login_success | Inicio de sesión exitoso del usuario. |
authentication_failed_password | Error de inicio de sesión debido a una Contraseña incorrecta. |
authentication_failed_totp | Error de inicio de sesión debido a un código TOTP incorrecto. |
login_failed_ip_address | Error de inicio de sesión debido a restricciones de la dirección IP. |
revoke_api_tokens | Los tokens de API se revocan. |
revoke_login_tokens | Los tokens de inicio de sesión se revocan. |
revoke_current_login_token | El token de sesión actual se revoca. |
replace_api_token | Se reemplaza el token de API. |
authentication_failed_totp_lockout | Error de inicio de sesión debido al bloqueo de TOTP. |
Restablecimiento de contraseña
| Tipo de evento | Descripción |
|---|---|
send_password_reset_success | Se ha enviado un correo electrónico para restablecer la contraseña. |
send_password_reset_failed_ip_address | Restablecimiento de la contraseña de IP bloqueada. |
verify_password_reset_success | Verificación de restablecimiento de contraseñas correcta. |
verify_password_reset_failed_ip_address | Verificación de restablecimiento de la contraseña bloqueada por IP. |
change_password_success | Cambio de contraseña correcto. |
change_password_failed_totp | El cambio de contraseña falló debido a TOTP. |
change_password_failed_ip_address | IP bloqueada para el cambio de Contraseña. |
verify_password_reset_failed_signature | Firma de restablecimiento de contraseña no válida. |
verify_password_reset_failed_timestamp | Enlace de restablecimiento de contraseña caducado. |
change_password_failed_current_password | Se ha proporcionado una contraseña actual incorrecta. |
Consulta de comentario
| Tipo de evento | Descripción |
|---|---|
comment_query_text | Consultas de comentarios basadas en texto. |
comment_query_sample | Ejemplo de consultas de comentarios. |
comment_query_learning | Consultas de comentarios relacionadas con el aprendizaje. |
comment_query_any_label_asc | Consultas basadas en etiquetas en orden ascendente. |
comment_query_recent | Consultas de comentarios recientes. |
comment_query_by_label | Consultas filtradas por etiquetas específicas. |
comment_query_diagnostic | Consultas de comentarios de diagnóstico. |
comment_query_label_property | Consultas de propiedades de etiquetas. |
comment_query_attachment_text | Consultas de texto de archivo adjunto. |
Anotaciones
| Tipo de evento | Descripción |
|---|---|
get_annotations | Se recuperan las anotaciones. |
update_annotation | Se modifica una anotación. |
Gestión de cuotas
| Tipo de evento | Descripción |
|---|---|
quota_set | Se establece una cuota. |
quota_reset | Se restablece una cuota. |
quotas_get | Se recuperan las cuotas. |
Sistema y administración
| Tipo de evento | Descripción |
|---|---|
audit_event_query | Los eventos de auditoría se consultan directamente. |