GCN - Gestión de Continuidad del Negocio
Definición de Servicios para DAConsultores para el sistema GCN
Seguridad ¶
Procesos para ingresar en la aplicación, verificar estado y otros relacionados con seguridad
Obtener Acceso ¶
Servicios de seguridad y acceso
loginPOST/security/login
Este proceso permite obtener acceso a la aplicación.
-
El usuario debe buscarse en la tabla “users” utilizando el campo “usr” y “pwd”
-
El Password se verificará convirtiéndolo a SHA256 en hexadecimal
Si se consigue
- Se calcula el “sessionid”
- Se establece el “validthru” en la tabla “users”
- Se lleva a cero el campo “fails”
- Se verifica vigencia de la clave
Si está vigente
- Debe registrarse una acción en el audit
- Se devuelve 200
Si no está vigente
- Debe registrarse una acción en el audit
- Debe redirigir a la pantalla del cambio de clave (mismo link enviado por correo)
- Se devuelve 200
Si falla la verificación
- Se incrementa el campo ‘fails’
- Si se excede el valor de fallas del parámetro ‘PWD_MAXFAILS’ el ‘status’ pasa a cero
- Si el “status” está en cero se enciende el valor blocked
- Debe registrarse una acción en el audit
- Se rechaza el acceso con 401
Example URI
Headers
Content-Type: application/jsonBody
{
"usr": "username",
"pwd": "clavedeacceso"
}200Headers
Content-Type: application/jsonBody
{
"fullname": "Pedro Pérez",
"sessionid": "75364756802387908547868768476...",
"validthru": "2020-10-07T16:51:14.197652-04:00",
"entrypoint": "father/content"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Usuario/Clave Inválidos",
"blocked": false
}Recupera clave del usuario ¶
Este proceso permite recibir un link para recuperar la clave
forgotPOST/security/forgot
- Se valida que el correo enviado exista como un usuario
Si existe
- Se le envia un correo con el link al formulario de cambio de clave. El correo debe indicar la información de complejidad del password, y el link debe enviar los parámetros al formulario.
- El link debe enviarse con un hash almacenado en el campo “sessionid”
- Se realiza un registro en el audit
Example URI
Headers
Content-Type: application/jsonBody
{
"email": "usuario@correo.com"
}200Headers
Content-Type: application/jsonBody
{
"email": "xxxx@xxxxx.com"
}401Headers
Content-Type: application/jsonBody
{
"msg": "No tenemos ningún usuario registrado con ese email"
}500Headers
Content-Type: application/jsonBody
{
"msg": "error retornado al programador"
}Recuperación de la clave del usuario ¶
Este proceso permite culminar el proceso de resuperación de la clave de un usuario
-
Se debe verificar la complejidad de la clave segun los parametros PWD_%
-
Se debe buscar en la tabla “users” que “sessionid” sea igual al “hash” recibido
Si se consigue
- Se lleva el campo “fails” a 0
- Se blanquea el campo “sessionid”
- Se activa el usuario “status”=1
- Se realiza un registro en el audit
- Se procede a cambiar la la clave del usuario convirtiendo el pwd con SHA256
- Se escribe el campo “lastpwdchange”
- Se borra el sessionid
recoverPOST/security/recover
Example URI
Headers
Content-Type: application/jsonBody
{
"hash": "876785456F45465E45645A654567B4547654C654765F56...",
"pwd": "1234567"
}200Headers
Content-Type: application/jsonBody
{
"msg": "Contraseña cambiada satisfactoriamente"
}400Headers
Content-Type: application/jsonBody
{
"msg": "Complejidad de la clave incorrecta",
"complexity": {
"minlength": 8, // valor parámetro PWD_MINLENGTH
"minupper": 1, // valor parámetro PWD_UPPERCASE
"minlower": 1, // valor parámetro PWD_LOWERCASE
"minsymbols": 1 // valor parámetro PWD_SYMBOLS
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Hash incorrecto"
}500Headers
Content-Type: application/jsonBody
{
"msg": "error retornado al programador desde mysql_error()"
}Cerrar Sesión ¶
Este proceso desloggea el usuario de la sesión
- Si se consigue la sesión se blanquea el campo “sessionid”
logoutPOST/security/logout
Example URI
Headers
Authorization: Bearer sessionidHeaders
Content-Type: application/jsonBody
{
"sessionid": "876785456F45465E45645A654567B4547654C654765F56..."
}200Headers
Content-Type: application/jsonBody
{
"id": 0
}202Headers
Content-Type: application/jsonBody
{
"msg": "session incorrectos"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error inteno"
}Extender Sesión ¶
Este proceso extiende el tiempo de vencimiento del usuario el usuario de la sesión según el parámetro SESSION_DURATION
- Se extiende el tiempo de la sesión del usuario
extendsessionGET/security/extendsession
Example URI
Headers
Authorization: Bearer sessionid200Headers
Content-Type: application/jsonBody
{
"validthru": "2020-10-07T16:51:14.197652-04:00"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error inteno"
}Obtener complejidad de la clave ¶
Este proceso devuelve todos los parámetros relacionados con la complejidad de la clave
pwdcomplexityGET/security/pwdcomplexity
Example URI
Headers
Authorization: Bearer sessionid200Headers
Content-Type: application/jsonBody
{
"PWD_MINLENGTH": 8, // valor parámetro PWD_MINLENGTH
"PWD_UPPERCASE": 1, // valor parámetro PWD_UPPERCASE
"PWD_LOWERCASE": 1, // valor parámetro PWD_LOWERCASE
"PWD_SYMBOLS": 1, // valor parámetro PWD_SYMBOLS
... // colocar los necearios
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error inteno"
}Cambio de la clave del usuario ¶
Este proceso permite cambiar la clave de un usuario
-
Se debe verificar la complejidad de la clave segun los parametros PWD_%
-
Se debe buscar en la tabla “users” que “sessionid” se el recibido
Si se consigue
- Se lleva el campo “fails” a 0
- Se realiza un registro en el audit
- Se procede a cambiar la la clave del usuario convirtiendo el pwd con SHA256
- Se escribe el campo “lastpwdchange”
pwdchangePOST/security/pwdchange
Example URI
Headers
Authorization: Bearer sessionidHeaders
Content-Type: application/jsonBody
{
"oldpwd": "567890",
"newpwd": "1234567"
}200Headers
Content-Type: application/jsonBody
{
"msg": "Contraseña cambiada satisfactoriamente"
}400Headers
Content-Type: application/jsonBody
{
"msg": "Complejidad de la clave incorrecta",
"complexity": {
"PWD_MINLENGTH": 8, // valor parámetro PWD_MINLENGTH
"PWD_UPPERCASE": 1, // valor parámetro PWD_UPPERCASE
"PWD_LOWERCASE": 1, // valor parámetro PWD_LOWERCASE
"PWD_SYMBOLS": 1 // valor parámetro PWD_SYMBOLS
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "error retornado al programador desde mysql_error()"
}Auditoria - Usuarios ¶
Este servicio obtiene una lista de los usuarios registrados en la auditoría en el campo “userref”. (priv 600)
usersPOST/security/audit/users
Example URI
Headers
Authorization: Bearer sessionidHeaders
Content-Type: application/jsonBody
{
"filters": {
"search": "" // búsqueda por el usuario
},
"order": 1, // 1=Usuario (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 3,
"records": [
{
"user": "Pedro Pérez"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Auditoria - Módulos ¶
Este servicio obtiene una lista de los módulos registrados en la auditoría. (priv 600)
modulesPOST/security/audit/modules
Example URI
Headers
Authorization: Bearer sessionidHeaders
Content-Type: application/jsonBody
{
"filters": {
"search": "" // búsqueda por el módulo
},
"order": 1, // 1=Módulo (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 3,
"records": [
{
"module": "Módulo UNO"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Auditoria - Listar ¶
Este servicio obtiene una lista de los registros de auditoría. (priv 600)
auditPOST/security/audit
Example URI
Headers
Authorization: Bearer sessionidHeaders
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por dsc
"module": "Módulo UNO", // en blanco no filtra por módulo
"user": "Usuario UNO", // en blanco no filtra por módulo
"datefrom": "2024-12-23 23:34:00", // en blanco no filtra por módulo
"dateto": "2024-12-23 23:34:00", // en blanco no filtra por módulo
},
"order": 1, // 1=fecha de creación, 2=módulo, 3=usuario (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 3,
"records": [
{
"fecha": "23/12/2024 04:35pm",
"module": "Seguridad",
"dsc": "cualquiercosa...",
"userref": "Sistema",
"ipaddr": "192.168.1.1"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Home ¶
Servicios relacionados con el home inicial del sistema
Menú ¶
Este servicio obtiene una lista de los menús existentes ordenados por el campo orden
ListadoGET/home/menus
Example URI
Headers
Authorization: Bearer sessionid200Headers
Content-Type: application/jsonBody
{
"user":{
"name": "Pedro Pérez"
},
"mainmessage": "Lorem Ipsum...:", // Usar parámetro MAIN_MESSAGE
"shortcuts": [ // Leer de tabla "access" para este usuario
{
"label": "Campañas", // opción del menu
"group": "Organización", // Menú del father
"opt": "campañas", // content
"image": "https://..../imagen.png" // content
},
...
],
"options": [
{
"id": 1,
"dsc": "Dashboard",
"content": "main",
"image": "https://....../dashboard.png",
"enabled": true,
"submenu": []
},
{
"id": 2,
"dsc": "ORGANIZACIÓN",
"content": "",
"image": "https://....../dashboard.png",
"enabled": true,
"submenu": [
{
"id": 5,
"dsc": "Opcion 1",
"content": "opc1",
"image": "https://....../dashboard.png",
"enabled": true,
"submenu": []
},
{
"id": 6,
"dsc": "Opcion 2",
"content": "opc2",
"image": "https://....../dashboard.png",
"enabled": true,
"submenu": []
},
]
},
{
"id": 3,
"dsc": "Usuarios",
"content!": "users",
"image": "https://....../dashboard.png",
"enabled": true,
"submenu": []
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Roles ¶
Procesos relacionados a los roles del sistema.
Colección ¶
- Request
- Headers Authentication: Bearer JWT
ListarPOST/roles
Este proceso permite obtener un listado de los roles. (priv 620)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "" // busca por name
},
"order": 1, // 1=Fecha de creación, 2=nombre (valores negativos ordenan descentemente)
"offset": 0, // Primer registro a mostrar
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Administrador"
},
...
],
"entrypoints": [
{
"dsc": "Padre - Pantalla",
"value": "father/content"
},
...
],
"privileges": {
"view": true, // privilegio 620
"update": true, // privilegio 621
"add": true, // privilegio 622
"delete": true // privilegio 623
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Roles ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/roles/{roleid}
Obtiene la información de un rol en particular. (priv 620)
Example URI
- roleid
optional number(required)Identificador del rol
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Administrador",
"entrypoints": "home",
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/roles/{roleid}
Actualiza o Incluye un registro de un rol. (Si el roleid es 0 se incluye) (priv 621 mod, 622 inc)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- roleid
optional number(required)Identificador del rol
Headers
Content-Type: application/jsonBody
{
"name": "Administrador", // Long 128
"entrypoint": "default" // Long 128
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/roles/{roleid}
Eliminar un registro de un rol. (priv 623)
Example URI
- roleid
optional number(required)Identificador del rol
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Privilegios ¶
Procesos relacionados a los privilegios del sistema
Colección ¶
- Request
- Headers Authentication: Bearer JWT
ListarPOST/privileges
Este proceso permite obtener un listado de los privilegios ordenado por el campo ord. (priv 620)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "" // busca por grp y name
},
"order": 1 // 1=grupo, ord y nombre. Los roles deben estar ordenadas por name
"offset": 0, // Primer registro a mostrar
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"numofrecords": 234,
"records": [
{
"id": 1, // id del privilegio
"group": "Estructura",
"name": "Ver en el menú",
"crud": 0, // 0=Ver, 1=Modificar, 2=Agregar, 3=Eliminar
"roles": [
{
"id": 1,
"name": "Mercadeo",
"assigned": true // si el privilegio está asignado a este rol debe devolver true
},
...
]
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Asignación de Roles ¶
- Request
- Headers Authentication: Bearer JWT
Asignar/DesasignarPOST/privileges/{privilegeid}
Asigna/Desasigna un privilegio a un rol. Si está asignado lo desasgina si no está asignado lo asigna. (priv 621)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat en la tabla rolesprivileges
Example URI
- privilegeid
optional number(required)Identificador del privilegio
Headers
Content-Type: application/jsonBody
{
"roleid": 1 // identificados del rol a asignar/desasignar
}201Headers
Content-Type: application/jsonBody
{
"privilegeid": 1, // identificador del privilegio actualizado
"roleid": 1 // identificador del Rol asignado/desasignado
"assigned": true // indica si se asignó o desasigno
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Usuarios ¶
Procesos relacionados a los usuarios del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/users
Este proceso permite obtener un listado de los usuarios. (Priv 630)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por dscuser, name, email
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"role": 0, // 0=todos, otro número filtra por rol
},
"order": 1, // 1=fecha de creación, 2=nombre, 3=usuario, 4=email, 5=rol, 6=status (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"usr": "totalsoftusr01",
"name": "Pedro Pérez",
"email": "pedro@correo.com",
"worker": {
"id": 1,
"name": "Empleado UNO"
},
"supplier": {
"id": 0, // en cero si no tiene proveedor asignado
"name": "" // en blanco si no tiene proveedor asignado
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"role": {
"id": 1,
"name": "Administrador
}
},
...
],
"privileges": {
"view": true, // privilegio 630
"update": true, // privilegio 631
"add": true, // privilegio 632
"delete": true // privilegio 633
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Usuarios ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/users/{userid}
Obtiene la información de un usuario en particular. (priv 630)
Example URI
- userid
optional number(required)Identificador del usuario
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"usr": "totalsoftusr01",
"name": "Pedro Pérez",
"email": "pedro@correo.com",
"worker": {
"id": 1,
"name": "Empleado UNO"
},
"supplier": {
"id": 0, // en cero si no tiene proveedor asignado
"name": "" // en blanco si no tiene proveedor asignado
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"role": {
"id": 1,
"name": "Administrador
},
"units": [
{
"id": 1,
"name": "Unidad UNO"
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/users/{userid}
Actualiza o Incluye un registro de un usuario. (Si el userid es 0 se incluye). (priv 631 MOD Y 632 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- userid
optional number(required)Identificador del usuario
Headers
Content-Type: application/jsonBody
{
"status": 1,
"usr": "ventas", // Long 128
"name": "Pedro Pérez", // Long 128
"email": "pedro@correo.com", // Long 128
"roleid": 1, // 0=sin rol
"workerid": 0, // 0=sin empleado
"supplierid": 1, // 0=sin empleado
"units": [1,2,3,4] // ids de las unidades
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/users/{userid}
Eliminar un registro de un usuario. (priv 633)
Example URI
- userid
optional number(required)Identificador del usuario
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del usuario eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Unidades ¶
Procesos relacionados a las unidades del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/units
Este proceso permite obtener un listado de las unidades. (Priv 110) Este listado SIEMPRE debe filtrar las unidades, por las unidades que tiene asignadas el usuario que invoca el servicio
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc, ref, nombre vicepresidencia, nombre ubicación
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"unittype": "", // ""=cualquiera
"vicepresidencyid": 0, // 0=cualquira
"facilityid": 0, // 0=cualquira
"unitidlist": "" // ""= no hace nada, Listado separado por comas con los ids de las unidades que se desea obtener
},
"allunits" 1, // 1=Ignora el filtro por unidades del usuario, 0 o no se recibe filtra siempre por las unidades del usuario
"order": 1, // 1=nombre, 2=status, 3=nombre vicepresidencia, 4=ubicacion, 5=cantidad de procesos, 99=id (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Unidad UNO",
"dsc": "Descripción de la unidad UNO",
"ref": "AAA-000",
"processes": 234,
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": { // parametro UNIT_TYPE
"id": 1,
"dsc": "Tipo UNO"
},
"vicepresidency": {
"id": 1,
"dsc": "Vicepresidenia UNO"
},
"facility": {
"id": 1,
"dsc": "Ubicación UNO"
}
},
...
],
"types": [ // parámetro UNIT_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 110
"update": true, // privilegio 111
"add": true, // privilegio 112
"delete": true // privilegio 113
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Unidad UNO",
"status": {
"id": 1, // 1=Activa, 0=Inactiva
"name": "Activo"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Unidades ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/units/{unitid}
Obtiene la información de una unidad en particular. (priv 110)
Example URI
- unitid
optional number(required)Identificador de la unidad
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Unidad UNO",
"dsc": "Descripción de la unidad UNO",
"ref": "AAA-000",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": { // parametro UNIT_TYPE
"id": 1,
"dsc": "Tipo UNO"
},
"vicepresidency": {
"id": 1,
"dsc": "Vicepresidenia UNO"
},
"facility": {
"id": 1,
"dsc": "Instalación UNO"
},
"procesess": [
{
"id": 1,
"name": "Proceso UNO"
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/units/{unitid}
Actualiza o Incluye un registro de una unidad. (Si el unitid es 0 se incluye). (priv 111 MOD Y 112 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
##CONSIDERACIONES DE PROCESOS Comparar los procesos recibidos con los procesos asignados.
###Procesos eliminados
- Se intentan eliminar (hacer un delete)
- Los que no hayan podido eliminarse se marcan como borrados (fecha y hora en campo deleted) ###Procesos nuevos
- Se busca si están eliminados (tienen el campo delete distinto a NULL)
- Los que se consigan deben cambiar el campo deleted a NULL
- Los que no se hayan conseguido se incluyen simplemente
Example URI
- unitid
optional number(required)Identificador de la unidad
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Unidad UNO", // Long 128
"dsc": "", // Long 512
"ref": "", // Long 20
"unittypepar": 0,
"vicepresidencyid": 1, // Identificador de la Vicepresidencia
"facilityid": 1, // Identificador de la instalación
"processes": [1,2,3,4] // ids de los procesos
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/units/{unitid}
Eliminar un registro de una unidad. (priv 113)
Example URI
- unitid
optional number(required)Identificador de la unidad
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Vicepresidencias ¶
Procesos relacionados a las vicepresidencias del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/vicepresidencies
Este proceso permite obtener un listado de las vicepresidencias. (Priv 490)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc y por tipo de unidad
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"type": "", // ""=cualquiera
},
"order": 1, // 1=nombre, 2=status, 3=cant unidades, 4=tipo , 99=id's (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Unidad UNO",
"status": {
"id": 1, // 1=Activa, 0=Inactiva
"name": "Activo"
},
"ref": "00000001",
"dsc": "",
"units": 0,
"type": { // parametro UNIT_TYPE
"id": 1,
"dsc": "Tipo UNO"
}
},
...
],
"types": [ // parámetro UNIT_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 490
"update": true, // privilegio 491
"add": true, // privilegio 492
"delete": true // privilegio 493
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Vicepresidencia UNO",
"dsc": "",
"status": {
"id": 1, // 1=Activa, 0=Inactiva
"name": "Activo"
},
"type": { // parametro UNIT_TYPE
"id": 1,
"dsc": "Tipo UNO"
}
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Vicepresidencias ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/vicepresidencies/{vicepresidencyid}
Obtiene la información de una vicepresidencia en particular. (priv 490)
Example URI
- vicepresidencyid
optional number(required)Identificador de la vicepresidencia
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Vicepresidencia UNO",
"dsc": "Descripción de la vicepresidencias UNO",
"ref": "AAA-000",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": { // parametro UNIT_TYPE
"id": 1,
"dsc": "Tipo UNO"
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/vicepresidencies/{vicepresidencyid}
Actualiza o Incluye un registro de una vicepresidencia. (Si el vicepresidenciesid es 0 se incluye). (priv 491 MOD Y 492 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- vicepresidencyid
optional number(required)Identificador de la vicepresidencia
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Vicepresidencia UNO",
"dsc": "",
"ref": "",
"unittypepar": 0
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/vicepresidencies/{vicepresidencyid}
Eliminar un registro de una unidad. (priv 493)
Example URI
- vicepresidencyid
optional number(required)Identificador de la vicepresidencia
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Instalaciones ¶
Procesos relacionados a las instalaciones del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/facilities
Este proceso permite obtener un listado de las instalaciones. (Priv 480)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"type": 1, // FACILITY_TYPE
},
"order": 1, // 1=nombre, 2=status, 3=tipo , 4=certficacion , 5=Fecha , 6=VENCIMIENTO , 99=id (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Instalación UNO",
"address": "",
"type": { FACILITY_TYPE
"id": 1,
"dsc": "Tipo de instalación UNO"
},
"certification": { CERTIFICATION_TYPE
"id": 1,
"dsc": "Tipo de certificación UNO"
},
"date": "2025-12-23",
"expiration": "2025-12-23",
"country": "Venezuela",
"region": "Oriental",
"generator": { FACILITY_YESNO
"id": 1,
"dsc": "Sí"
},
"gasbackup": { FACILITY_YESNO
"id": 1,
"dsc": "Sí"
},
"ups": { FACILITY_YESNO
"id": 1,
"dsc": "Sí"
},
"ownership": { FACILITY_YESNO
"id": 1,
"dsc": "Sí"
},
},
...
],
"types": [ // parámetro FACILITY_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 480
"update": true, // privilegio 481
"add": true, // privilegio 482
"delete": true // privilegio 483
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Instalación UNO",
"status": {
"id": 1, // 1=Activa, 0=Inactiva
"name": "Activo"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Instalaciones ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/facilities/{facilityid}
Obtiene la información de una instalación en particular. (priv 480)
Example URI
- facilityid
optional number(required)Identificador de la instalación
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Instalación UNO",
"address": "",
"type": { //FACILITY_TYPE
"id": 1,
"dsc": "Tipo de instalación UNO"
},
"certification": { //CERTIFICATION_TYPE
"id": 1,
"dsc": "Tipo de certificación UNO"
},
"date": "2025-12-23",
"expiration": "2025-12-23",
"country": "Venezuela",
"region": "Oriental",
"generator": { //FACILITY_YESNO
"id": 1,
"dsc": "Sí"
},
"gasbackup": { //FACILITY_YESNO
"id": 1,
"dsc": "Sí"
},
"ups": { //FACILITY_YESNO
"id": 1,
"dsc": "Sí"
},
"ownership": { //FACILITY_YESNO
"id": 1,
"dsc": "Sí"
},
},
"types": [ // parámetro FACILITY_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"yesno": [ // Parámetro FACILITY_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
"certification": [ // Parámetro CERTIFICATION_TYPE
{
"dsc": "Tipo Uno",
"value": "1"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/facilities/{facilityid}
Actualiza o Incluye un registro de una instalación. (Si el facilityid es 0 se incluye). (priv 481 MOD Y 482 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- facilityid
optional number(required)Identificador de la instalación
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Nombre Instalación",
"address": "Dirección",
"country": "",
"region": "",
"type": 1, // FACILITY_TYPE
"certification": 1, // CERTIFICATION_TYPE
"date": "2025-12-23",
"expiration": "2025-12-23",
"generator": 1, // FACILITY_YESNO
"gasbackup": 1, // FACILITY_YESNO
"ups": 1, // FACILITY_YESNO
"ownership": 1, // FACILITY_YESNO
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/facilities/{facilityid}
Eliminar un registro de una istalación. (priv 483)
Example URI
- facilityid
optional number(required)Identificador de la instalación
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Procesos ¶
Procesos relacionados a los procesos del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/processes
Este proceso permite obtener un listado de los procesos. (Priv 120)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc, ref, nombre linea de operacion
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"processremote": "", // ""=cualquiera
"processtype": "", // ""=cualquiera
"unitidlist": "" // ""= no hace nada, Listado separado por comas con los ids de las unidades que se desea filtrar
"operationlineid": 0, // 0=cualquira
"channelid": 0, // 0=cualquira
},
"format": 1, // 1=formato actual, 2=formato listado
"order": 1, // 1=nombre, 2=status, 3=tipo de proceso, 4=remoto, 5=nombre de linea de operaciones, 6=cantidad de canales, 99=id's (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Proceso UNO",
"dsc": "Descripción del proceso UNO",
"ref": "AAA-000",
"channels": 13,
"unit": { //En caso de que unitidlist sea "", devolver id=0
"id": 1,
"unitprocessid": 1, +
"name": "Unidad UNO",
"relationdeleted": false
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"serviceoffers": [
{
"id": 1,
"name": "Oferta UNO"
},
...
],
"type": { // parametro PROCESS_TYPE
"id": 1,
"dsc": "Tipo UNO"
},
"remote": { // parametro PROCESS_REMOTE
"id": 1,
"dsc": "Tipo UNO"
},
"operationline": {
"id": 1,
"dsc": "Linea de Operaciones UNO"
}
},
...
],
"types": [ // parámetro PROCESS_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"remote": [ // parámetro PROCESS_REMOTE
{
"dsc": "Remoto UNO",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 120
"update": true, // privilegio 121
"add": true, // privilegio 122
"delete": true // privilegio 123
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Proceso UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Procesos ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/processes/{processid}
Obtiene la información de un proceso en particular. (priv 120)
Example URI
- processid
optional number(required)Identificador del proceso
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Proceso UNO",
"dsc": "Descripción del proceso UNO",
"ref": "AAA-000",
"channels": 13,
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": { // parametro PROCESS_TYPE
"id": 1,
"dsc": "Tipo UNO"
},
"remote": { // parametro PROCESS_REMOTE
"id": 1,
"dsc": "Tipo UNO"
},
"operationline": {
"id": 1,
"dsc": "Linea de Operaciones UNO"
},
"channels": [
{
"id": 1,
"name": "Canal UNO"
},
...
],
"serviceoffers": [
{
"id": 1,
"name": "Oferta UNO"
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/processes/{processid}
Actualiza o Incluye un registro de un proceso. (Si el processid es 0 se incluye). (priv 121 MOD Y 122 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- processid
optional number(required)Identificador del proceso
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Proceso UNO", // Long 128
"dsc": "", // Long 512
"ref": "", // Long 20
"processremotepar": 0,
"processtypepar": 0,
"operationlineid": 1,
"channels": [1,2,3,4], // ids de los procesos
"erviceoffers": [1,2,3,4] // ids de las ofertas de servicios
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/processes/{processid}
Eliminar un registro de un proceso. (priv 123)
Example URI
- processid
optional number(required)Identificador del proceso
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Canales ¶
Procesos relacionados a canales del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/channels
Este proceso permite obtener un listado de los canales. (Priv 220)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc , tipocanal
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"type": 0 // 0=cualquiera
},
"order": 1, // 1=nombre, 2=status, 3=dsc , 4=tipo , 99=id (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Canal UNO",
"dsc": "",
"type": {
"id": 1,
"name": "Canal UNO"
},
"serviceoffers": [
{
"id": 1,
"name": "Oferta UNO",
"offer_full": false
},
...
],
"amountOP": {
"number": 1234.56,
"formatted": "1.234,56"
},
"volumeOP": {
"number": 1234.56,
"formatted": "1.234,56"
},
"customerQty": 12,
"capacity": 123,
"capacityperiod": {
"id": 1,
"name": "Horas"
}
},
...
],
"types": [ // parámetro CHANNEL_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 220
"update": true, // privilegio 221
"add": true, // privilegio 222
"delete": true // privilegio 223
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Canal UNO",
"status": {
"id": 1, // 1=Activa, 0=Inactiva
"name": "Activo"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Canales ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/channels/{channelid}
Obtiene la información de un canal en particular. (priv 220)
Example URI
- channelid
optional number(required)Identificador del canal
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Canal UNO",
"dsc": "",
"type": {
"id": 1,
"name": "Canal UNO"
},
"serviceoffers": [
{
"id": 1,
"name": "Oferta UNO",
"offer_full": false
},
...
],
"amountOP": {
"number": 1234.56,
"formatted": "1.234,56"
},
"volumeOP": {
"number": 1234.56,
"formatted": "1.234,56"
},
"customerQty": 12,
"capacity": 123,
"capacityperiod": {
"id": 1,
"name": "Horas"
}
},
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/channels/{channelid}
Actualiza o Incluye un registro de un canal. (Si el /channels es 0 se incluye). (priv 221 MOD Y 222 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- channelid
optional number(required)Identificador del canal
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Canal UNO",
"dsc": "", // Long 512
"channeltypepar": "", // CHANNEL_TYPE
"serviceoffers": [2,3,4], // Listado de id de las ofertas
"amountop": 0,
"volumeop": 0,
"customerqty": 0,
"capacityqty": 0,
"capacityperiod": 0 // EVALPROC_PERIOD
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/channels/{channelid}
Eliminar un registro de un canal. (priv 223)
Example URI
- channelid
optional number(required)Identificador del canal
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Ofertas de Servicio ¶
Procesos relacionados las ofertas de servicio del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/serviceoffers
Este proceso permite obtener un listado de las ofertas de servicio. (Priv 495)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"offer_full": 0, // 0=cualquiera, 1=solo con oferta 24x7, 2=solo sin oferta 24x7
},
"order": 1, // 1=nombre, 2=status, 3=offer_full , 4-10=weekday , 99=id (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Oferta UNO UNO",
"offer_full": true,
"weekdays": {
"monday": true,
"tuesday": true,
"wednesday": true,
"thursday": true,
"friday": true,
"saturday": true,
"sunday": true
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"schedule": [
{
"from": "11:00",
"to": "23:00"
},
...
]
},
...
],
"privileges": {
"view": true, // privilegio 495
"update": true, // privilegio 496
"add": true, // privilegio 497
"delete": true // privilegio 498
}
}200Headers
Content-Type: application/jsonBody
{// formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Oferta UNO UNO",
"offer_full": true,
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Ofertas de Servicio ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/serviceoffers/{serviceofferid}
Obtiene la información de una oferta de servicio en particular. (priv 495)
Example URI
- serviceofferid
optional number(required)Identificador de la oferta de servicio
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Oferta UNO UNO",
"offer_full": true,
"weekdays": {
"monday": true,
"tuesday": true,
"wednesday": true,
"thursday": true,
"friday": true,
"saturday": true,
"sunday": true
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"schedule": [
{
"from": "11:00",
"to": "23:00"
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/serviceoffers/{serviceofferid}
Actualiza o Incluye un registro de una oferta de servicios. (Si el serviceofferid es 0 se incluye). (priv 496 MOD Y 497 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- serviceofferid
optional number(required)Identificador de la oferta de servicio
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Proceso UNO",
"offer_full": true,
"monday": true,
"tuesday": true,
"wednesday": true,
"thursday": true,
"friday": true,
"saturday": true,
"sunday": true,
"schedule": [
{
"from": "11:00",
"to": "23:00"
},
...
]
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/serviceoffers/{serviceofferid}
Eliminar un registro de una oferta de servicios. (priv 498)
Example URI
- serviceofferid
optional number(required)Identificador de la oferta de servicio
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Líneas de Operación ¶
Procesos relacionados a líneas de operación
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/operationlines
Este proceso permite obtener un listado de las líneas de Operación. (Priv 430)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
},
"order": 1, // 1=nombre, 2=status, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Línea de Operación UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
}
},
...
],
"privileges": {
"view": true, // privilegio 430
"update": true, // privilegio 431
"add": true, // privilegio 432
"delete": true // privilegio 433
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Lineas de Operación ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/operationlines/{operationlineid}
Obtiene la información de una línea de operación en particular. (priv 430)
Example URI
- operationlineid
optional number(required)Identificador de la línea de operación
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Línea UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/operationlines/{operationlineid}
Actualiza o Incluye un registro de una línea de opreación. (Si el workerid es 0 se incluye). (priv 431 MOD Y 432 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- operationlineid
optional number(required)Identificador de la línea de operación
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Línea UNO"
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/operationlines/{operationlineid}
Eliminar un registro de una línea de operación. (priv 433)
Example URI
- operationlineid
optional number(required)Identificador de la línea de operación
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Empleados ¶
Procesos relacionados a los empleados del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/workers
Este proceso permite obtener un listado de los empleados. (Priv 420)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, nombre del cargo, código de referencia
"status": 1 // 0=cualquiera, 1=solo activos, 2=solo inactivos
},
"order": 1, // 1=nombre, 2=status, 3=Nombre del cargo, 4=referencia, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Empleado UNO",
"ref": "000001",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"position": {
"id": 1,
"name": "Presidencia"
}
},
...
],
"privileges": {
"view": true, // privilegio 420
"update": true, // privilegio 421
"add": true, // privilegio 422
"delete": true // privilegio 423
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Empleados ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/workers/{workerid}
Obtiene la información de un empleado en particular. (priv 420)
Example URI
- workerid
optional number(required)Identificador del empleado
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Empleado UNO",
"ref": "000001",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"position": {
"id": 1,
"name": "Presidencia"
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/workers/{workerid}
Actualiza o Incluye un registro de un empleado. (Si el workerid es 0 se incluye). (priv 421 MOD Y 422 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- workerid
optional number(required)Identificador del empleado
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Pedro Pérez", // Nombre del Trabajador
"ref": "000001",
"positionunitid": 1 //NEW
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/workers/{workerid}
Eliminar un registro de un empleado. (priv 423)
Example URI
- workerid
optional number(required)Identificador del empleado
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Proveedores ¶
Procesos relacionados a los proveedores del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/suppliers
Este proceso permite obtener un listado de los proveedores. (Priv 440)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc ,
"suppliertypepar": "", // Tipo de proveedor. ""=Todos
"supportlinepar": "", // Linea de soporte. ""=Todos
"bcpdrpyesnopar": "", // Linea de soporte. ""=Todos
"dataprocyesnopar": "", // Linea de soporte. ""=Todos
"status": 1 // 0=cualquiera, 1=solo activos, 2=solo inactivos
},
"order": 1, // 1=nombre, 2=status, 3=ref , 4=dsc , 99=id (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"ref": "0000001",
"name": "Proveedor UNO",
"dsc": "",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"rtocontractual": {
"qty": 2,
"periodpar": {
"id": 1,
"name": "Días"
}
},
"rpocontractual": {
"qty": 2,
"periodpar": {
"id": 1,
"name": "Días"
}
},
"relatedcompanypar": {
"value": "1",
"dsc": "Sí"
},
"dataprocesspar": {
"value": "1",
"dsc": "Sí"
},
"bcpdrppar": {
"value": "1",
"dsc": "Sí"
}
},
...
],
"yesno": [ EVALPROC_YESNO
{
"id": 1,
"value": "Sí"
}
,
...
],
"types": [ SUPPLIER_TYPE
{
"id": 1,
"value": "Tipo UNO"
}
,
...
],
"linea": [ SUPPLIER_LINES
{
"id": 1,
"value": "Línea UNO"
}
,
...
],
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 440
"update": true, // privilegio 441
"add": true, // privilegio 442
"delete": true // privilegio 443
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Proveedor UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Empleados ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/suppliers/{supplierid}
Obtiene la información de un proveedor en particular. (priv 440)
Example URI
- supplierid
optional number(required)Identificador del proveedor
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"ref": "0000001",
"ruc": "J123456789",
"name": "Proveedor UNO",
"dsc": "",
"contractinfo": "",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": { // SUPPLIER_TYPE
"id": 1,
"name": "Tipo Uno"
},
"supportline": { // SUPPLIER_LINES
"id": 1,
"name": "Linea UNO"
},
"relatedcompanypar": {
"value": "1",
"dsc": "Sí"
},
"solutionsupportpar": {
"value": "1",
"dsc": "Sí"
},
"atttime": {
"qty": 2,
"periodpar": {
"id": 1,
"name": "Días"
}
},
"responsetime": {
"qty": 2,
"periodpar": {
"id": 1,
"name": "Días"
}
},
"dataprocesspar": {
"value": "1",
"dsc": "Sí"
},
"rtocontractual": {
"qty": 2,
"periodpar": {
"id": 1,
"name": "Días"
}
},
"rpocontractual": {
"qty": 2,
"periodpar": {
"id": 1,
"name": "Días"
}
},
"bcpdrppar": {
"value": "1",
"dsc": "Sí"
},
"contact": {
"name": "",
"phone": "",
"email": ""
}
},
"yesno": [ EVALPROC_YESNO
{
"id": 1,
"value": "Sí"
}
,
...
],
"types": [ SUPPLIER_TYPE
{
"id": 1,
"value": "Tipo UNO"
}
,
...
],
"linea": [ SUPPLIER_LINES
{
"id": 1,
"value": "Línea UNO"
}
,
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/suppliers/{supplierid}
Actualiza o Incluye un registro de un proveedor. (Si el supplierid es 0 se incluye). (priv 441 MOD Y 442 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- supplierid
optional number(required)Identificador del proveedor
Headers
Content-Type: application/jsonBody
{
"status": 1,
"ref": "000001",
"name": "Proveedor UNO",
"dsc": "",
"contractinfo": "",
"ruc": "J123456789",
"suppliertypepar": "1",
"supportlinepar": "1",
"relatedcompanyyesnopar": "1",
"solutionsupportpar": "1",
"atttime": {
"qty": 2,
"periodpar": 1,
},
"responsetime": {
"qty": 2,
"periodpar": 1
},
"dataprocyesnopar": "1",
"rtocontractual": {
"qty": 2,
"periodpar": 1
},
"rpocontractual": {
"qty": 2,
"periodpar": 1
},
"bcpdrpyesnopar": "1",
"contact": {
"name": "",
"phone": "",
"email": ""
}
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/suppliers/{supplierid}
Eliminar un registro de un proveedor. (priv 443)
Example URI
- supplierid
optional number(required)Identificador del proveedor
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Campañas ¶
Procesos relacionados a los procesos de las campañas
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/campaigns
Este proceso permite obtener un listado de las campañas. (Priv 100)
Para calcular los colores.
black > cualquier campaña expirada y cerrada
red > cualquier campaña expirada y abierta
green > cualquier campaña sin expirar excepto si falten menos días que los indicados en el prámetro CAMPAING_EXP_DAYS
yellow > cualquier campaña sin expirar solo si faltan menos días que los indicados en el prámetro CAMPAING_EXP_DAYS
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc,
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"datefrom": "", // ""=cualquiera -- Formato (YYYY-MM-DD)
"dateto": "", // ""=cualquiera -- Formato (YYYY-MM-DD)
},
"format": 1, // 1=formato actual, 2=formato listado
"order": 1, // 1=f desde, 2=f hasta, 3=nombre, 4=cantidad de unidades, 99=id´s (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{ // formato 1
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Campaña UNO",
"datefrom": "23/04/2025",
"dateto": "23/04/2025",
"color": "black", // colores black, red, green, yellow
"units": 35,
"status": {
"id": 1, // 1=Abierta, 0=Cerrada
"name": "Abierta"
},
},
...
],
"privileges": {
"view": true, // privilegio 100
"update": true, // privilegio 101
"add": true, // privilegio 102
"delete": true // privilegio 103
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"default": 1, // identificador de la campaña por defecto
"records": [
{
"id": 1,
"name": "Campaña UNO",
"status": {
"id": 1, // 1=Abierta, 0=Cerrada
"name": "Abierta"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Cambiar Estatus de Campañas ¶
- Request
- Headers Authentication: Bearer JWT
Cambiar EstatusGET/campaigns/{campaignid}/status/{action}
Cambia el estatus de una campaña. Siempre se desactivan todas las campañas (ojo si hay que desactivar una campaña vencida y no se tiene el Priv 105 falla el proceso). Y luego se procede a la acción.
Example URI
- campaignid
required number(required)Identificador de la campaña
- action
required number(required)0=inactivar, 1=activar, 2=toggle
200Headers
Content-Type: application/jsonBody
{
"status": 1 // estatus resultante
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Campañas ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/campaigns/{campaignid}
Obtiene la información de una campaña en particular. (priv 100)
Example URI
- campaignid
optional number(required)Identificador de la campaña
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Campaña UNO",
"dsc": "Descripción UNO",
"datefrom": "23/04/2025",
"dateto": "23/04/2025",
"expired": false,
"updatabledate": true,
"status": {
"id": 1, // 1=Abierta, 0=Cerrada
"name": "Abierta"
},
"units": [
{
"id": 1,
"name": "Unidad UNO"
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/campaigns/{campaignid}
Actualiza o Incluye un registro de una campaña. (Si el campaignid es 0 se incluye). (priv 101 MOD Y 102 INC) NOTA la campaña SIEMPRE debe crearse inactiva
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- campaignid
optional number(required)Identificador de la campaña
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Proceso UNO", // Long 256
"dsc": "", // Long 512
"datefrom": "YYYY-MM-DD",
"dateto": "YYYY-MM-DD",
"units": [1,2,3,4] // ids de las unidades
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/campaigns/{campaignid}
Eliminar un registro de una campaña. (priv 103)
Example URI
- campaignid
optional number(required)Identificador de la campaña
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Estrategias Generales ¶
Procesos relacionados a las estrategias generales del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/strategies
Este proceso permite obtener un listado de las estrategias generales. (Priv 300)
-
Las estrategias de tipo 2, deben filtrarse si no se tiene el Priv 314
-
Extraer el tipo 2 cuando se devuelve el type si no se tiene el Priv 314
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"strategytype": "", // ""=cualquiera
"strategydependency": "", // ""=cualquira
},
"order": 1, // 1=tipo y nombre, 2=dependencia y nombre, 3=nombre, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Unidad UNO",
"dsc":"Descripción",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": { // parametro STRATEGY_TYPE
"id": 1,
"dsc": "Tipo UNO"
},
"dependency": {// parametro STRATEGY_DEPENDENCY
"id": 1,
"dsc": "Dependencia"
},
"strategiesdet": 0 // Devuelve el número de eestrategias detalladas
},
...
],
"types": [ // parámetro STRATEGY_TYPE MOSCAR Priv 314
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"dependencies": [ // parámetro STRATEGY_DEPENDENCY
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 300
"update": true, // privilegio 301
"add": true, // privilegio 302
"delete": true // privilegio 303
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Estratedias Generales ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/strategies/{strategyid}
Obtiene la información de una estrategia en particular. (priv 300)
Example URI
- strategyid
optional number(required)Identificador de la estrategia
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Unidad UNO",
"dsc": "Descripción de la unidad UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": { // // parámetro STRATEGY_TYPE MOSCAR Priv 314
"id": 1,
"dsc": "Tipo UNO"
},
"dependency": {// parametro STRATEGY_DEPENDENCY
"id": 1,
"dsc": "Dependencia"
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/strategies/{strategyid}
Actualiza o Incluye un registro de una estrategia. (Si el strategyid es 0 se incluye). (priv 301 MOD Y 302 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- strategyid
optional number(required)Identificador de la estrategia
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Unidad UNO", // Long 256
"dsc": "", // TEXT (debe codificarse)
"strategytypepar": 0,
"strategydependencypar": 1,
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/strategies/{strategyid}
Eliminar un registro de una estrategia. (priv 303)
Example URI
- strategyid
optional number(required)Identificador de la estrategia
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador de la estrategia eliminada
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Estrategias Detalladas ¶
Procesos relacionados a las estrategias detalladas del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/strategiesdet
Este proceso permite obtener un listado de las estrategias detalladas. (Priv 310)
-
Las estrategias de tipo 2, deben filtrarse si no se tiene el Priv 314
-
Extraer el tipo 2 cuando se devuelve el type si no se tiene el Priv 314
Adicional a esos filtros
-
Si el usuario es un proveedor, se deben filtrar las estrategias por el supplierid
-
Si el usuario NO es un proveedor, Las estrategias deben filtrarse para que solo se vean las que correspondan a las unidades a las que pertenezca el usuario
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc, name de la,
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"strategyid": 1, // 0=cualquiera. Identificador de la estrategia general
"unitid": 1, // 0=cualquiera. Identificador de la unidad
"strategytype": "", // ""=cualquiera
"strategydependency": "", // ""=cualquira
},
"order": 1, // 1=tipo y nombre, 2=dependencia y nombre, 3=nombre, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Nombre de la Estrategia Detallada",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"strategy": {
"id": 1,
"name": "Estrategia General",
"type": { // buscar en estrategia general asociada
"id": 1,
"dsc": "Tipo UNO"
}
},
"units": [
{
"id": 1,
"name": "Unidad UNO",
"deleted": true,
"status": 1,
},
...
],
"processes": [
{
"unitprocessid": 1, +
"id": 1,
"name": "Proceso UNO",
"deleted": true,
"status": 1,
},
...
],
"dependency": { // dependiendo de cual campo es el que está
"id": 1, // parametro STRATEGY_DEPENDENCY
"dsc": "Dependencia",
"dependencyid": 1 // id del campo que corresponde a la dependencia seleccionada
"dependencyname": "Nombre" // nombre del campo que corresponde a la dependencia seleccionada
},
"coverages": 0 // Devuelve el número de evaluaciones de cobertura
},
...
],
"types": [ // parámetro STRATEGY_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"dependencies": [ // parámetro STRATEGY_DEPENDENCY
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 310
"update": true, // privilegio 311
"add": true, // privilegio 312
"delete": true // privilegio 313
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Estratedias Detalladas ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/strategiesdet/{strategydetid}
Obtiene la información de una estrategia en particular. (priv 310)
Example URI
- strategydetid
optional number(required)Identificador de la estrategia detallada
200Headers
Content-Type: application/jsonBody
{
"entry":
{
"id": 1,
"name": "Nombre de la estrategia detallada",
"dsc": "Descripción estrategia detallada",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"strategy": {
"id": 1,
"name": "Estrategia General",
"dsc": "",
"type": { // buscar en estrategia general asociada
"id": 1,
"dsc": "Tipo UNO"
}
},
"units": [
{
"id": 1,
"name": "Unidad UNO",
"deleted": true,
"status": 1,
},
...
],
"processes": [
{
"unitprocess": 1, +
"id": 1,
"name": "Proceso UNO",
"deleted": true,
"status": 1,
},
...
],
"dependency": { // dependiendo de cual campo es el que está
"id": 1, // parametro STRATEGY_DEPENDENCY
"dsc": "Dependencia",
"dependencyid": 1 // id del campo que corresponde a la dependencia seleccionada
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/strategiesdet/{strategydetid}
Actualiza o Incluye un registro de una estrategia. (Si el strategyid es 0 se incluye). (priv 311 MOD Y 312 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat Los campos applicationid, facilityid, supplierid, positionid, resourceid, channelid deben ponerse en nulo antes de actualizar el que corresponda
Example URI
- strategydetid
optional number(required)Identificador de la estrategia detallada
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Nombre estrategia DET",
"dsc": "", // TEXT (debe codificarse)
"strategyid": 1,
"strategydependencypar": 1, // indica el tipo de dependencia
"dependencyid": 1, // id de la dependencia
"unitsid": "1,2,45,67,54,56", // ""=Sin unidades
"processesid": "1,2,45,67" // ""=Sin procesos ///ELIMINAR ESTE PARAMETRO
"unitprocessesid": "1,1,45,67" // ""=Sin procesos +
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del regitro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/strategiesdet/{strategydetid}
Eliminar un registro de una estrategia. (priv 313)
Example URI
- strategydetid
optional number(required)Identificador de la estrategia detallada
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador de la estrategia eliminada
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Aplicaciones. ¶
Procesos relacionados a las aplicaciones del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/applications
Este proceso permite obtener un listado de las aplicaciones. (Priv 400)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc
"apptypepar": "", // Tipo de aplicación. ""=Todos
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"facility": 0, // 0=cualquiera
"drptestyesnopar": "", // Tipo de aplicación. ""=Todos
"serviceofferid": 0, //0=cualquiera
},
"order": 1, // 1=nombre, 2=status, 3=dsc , 4=offer_full , 5=instalación , 6=type , 99=id (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Aplicación UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"dsc": "",
"type": { // APPS_TYPE
"id": 1,
"name": "Ciberseguridad"
},
"drptest":{
"tested": { // APP_YESNO
"id": 1,
"name": "No"
},
"date": "2025-12-23",
"type": { // APPS_TESTTYPE
"id": 1,
"name": "Unitaria"
},
"result": { // APPS_TESTRESULT
"id": 1,
"name": "Unitaria"
}
},
"facility": {
"id": 1,
"name": "Instalación UNO"
},
"recuperation": {
"qty": 60,
"period": { // EVALPROC_PERIOD
"id": 1,
"name": "Horas"
}
},
"registered": {
"qty": 60,
"period": { // EVALPROC_PERIOD
"id": 1,
"name": "Horas"
}
},
"serviceoffers": [
{
"id": 1,
"name": "Oferta UNO",
"offer_full": false
},
...
],
"channels": [
{
"id": 1,
"name": "Canal UNO"
},
...
],
},
...
],
"apptype": [ // Parámetro APPS_TYPE
{
"dsc": "Ciberseguridad",
"value": "1"
},
...
],
"appyesno": [ // Parámetro APPS_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 400
"update": true, // privilegio 401
"add": true, // privilegio 402
"delete": true // privilegio 403
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Aplicación UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"dsc": "",
"facility": {
"id": 1,
"name": "Instalación UNO"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Aplicaciones ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/applications/{applicationid}
Obtiene la información de una aplicación en particular. (priv 400)
Example URI
- applicationid
optional number(required)Identificador de la aplicación
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Aplicación UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"dsc": "",
"type": { // APPS_TYPE
"id": 1,
"name": "Ciberseguridad"
},
"drptest":{
"tested": { // APP_YESNO
"id": 1,
"name": "No"
},
"date": "2025-12-23",
"type": { // APPS_TESTTYPE
"id": 1,
"name": "Unitaria"
},
"result": { // APPS_TESTRESULT
"id": 1,
"name": "Unitaria"
}
},
"facility": {
"id": 1,
"name": "Instalación UNO"
},
"recuperation": {
"qty": 60,
"period": { // EVALPROC_PERIOD
"id": 1,
"name": "Horas"
}
},
"registered": {
"qty": 60,
"period": { // EVALPROC_PERIOD
"id": 1,
"name": "Horas"
}
},
"serviceoffers": [
{
"id": 1,
"name": "Oferta UNO",
"offer_full": false
},
...
],
"channels": [
{
"id": 1,
"name": "Canal UNO"
},
...
]
},
"apptype": [ // Parámetro APPS_TYPE
{
"dsc": "Ciberseguridad",
"value": "1"
},
...
],
"appyesno": [ // Parámetro APPS_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
"testtypes": [ // Parámetro APPS_TESTTYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"testresults": [ // Parámetro APPS_TESTRESULT
{
"dsc": "Resultado UNO",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/applications/{applicationid}
Actualiza o Incluye un registro de una aplicación. (Si el applicationid es 0 se incluye). (priv 401 MOD Y 402 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- applicationid
optional number(required)Identificador de la aplicación
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Nombre Recurso",
"dsc": "Descripción",
"type": 1, // APPS_TYPE
"facilityid": 1,
"serviceoffers": [2,4,5],
"recuperation": 2,
"recperiod": 2, // EVALPROC_PERIOD
"registered": 2,
"regperiod": 2, // EVALPROC_PERIOD
"drptest":{
"tested": 1, // APP_YESNO
"date": "2025-12-23",
"type": 1, // APPS_TESTTYPE
"result": 1, // APPS_TESTRESULT
},
"channels": [1,2,4]
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/applications/{applicationid}
Eliminar un registro de una aplicación. (priv 403)
Example URI
- applicationid
optional number(required)Identificador de la aplicación
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Tecnología ¶
Procesos relacionados a las tecnologías del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/technologies
Este proceso permite obtener un listado de las tecnologías. (Priv 405)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc, ref
"techlayerpar": "", // Capa de aplicación. ""=Todos
"techtypepar": "", // Tipo de aplicación. ""=Todos
"application": 0, // 0=cualquiera
"facility": 0, // 0=cualquiera
},
"order": 1, // 1=ref, 2=nombre, 3=dsc , 4=capa , 5=tipo , 6=ult actividad , 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"ref": "0000001",
"name": "Aplicación UNO",
"lastact": "2026-12-31",
"layer": { // TECH_LAYER
"id": 1,
"name": "Red"
},
"type": { // TECH_TYPE
"id": 1,
"name": "Switch"
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"dsc": "",
}
},
...
],
"techlayer": [ // Parámetro TECH_LAYER
{
"dsc": "Red",
"value": "1"
},
...
],
"techtype": [ // Parámetro TECH_TYPE
{
"dsc": "Switch",
"value": "1"
},
...
],
"techyesno": [ // Parámetro TECH_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
"techmonitored": [ // Parámetro TECH_MONITORED
{
"dsc": "Sí",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 405
"update": true, // privilegio 406
"add": true, // privilegio 407
"delete": true // privilegio 408
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Aplicaciones ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/technologies/{technologyid}
Obtiene la información de una tecnología en particular. (priv 405)
Example URI
- technologyid
optional number(required)Identificador de la tecnología
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"ref": "0000001",
"name": "Tecnología UNO",
"layer": { // TECH_LAYER
"id": 1,
"name": "Red"
},
"type": { // TECH_TYPE
"id": 1,
"name": "Switch"
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"dsc": "",
"eoleos": 1, // TECH_EOLEOS
"facility": {
"id": 1,
"name": "Instalación UNO"
},
"application": {
"id": 1,
"name": "Aplicación UNO"
},
"dr": 1,
"hs": 1,
"sla": 1,
"monitored": 1,
"lastupdate": 1,
"classified": 1,
"techowner": "",
"businessowner": ""
},
"techlayer": [ // Parámetro TECH_LAYER
{
"dsc": "Red",
"value": "1"
},
...
],
"techtype": [ // Parámetro TECH_TYPE
{
"dsc": "Switch",
"value": "1"
},
...
],
"techyesno": [ // Parámetro TECH_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
"techmonitored": [ // Parámetro TECH_MONITORED
{
"dsc": "Sí",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/technologies/{technologyid}
Actualiza o Incluye un registro de una aplicación. (Si el applicationid es 0 se incluye). (priv 401 MOD Y 402 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- technologyid
optional number(required)Identificador de la tecnología
Headers
Content-Type: application/jsonBody
{
"status": 1,
"ref": "000001",
"name": "Tecnología UNO",
"dsc": "Descripción",
"layer": 1, // TECH_LAYER
"type": 1, // TECH_TYPE
"facilityid": 1, // 0=sin instalacion
"applicationid": 1, // 0=sin aplicación
"eoseos": 1, // TECH_EOLEOS
"dr": 1, // TECH_YESNO
"hs": 1, // TECH_YESNO
"sla": 1, // TECH_YESNO
"monitores": 1, // TECH_MONITORED
"lastupdate": 1,
"techowner": "",
"businessowner": ""
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/technologies/{technologyid}
Eliminar un registro de una aplicación. (priv 403)
Example URI
- technologyid
optional number(required)Identificador de la tecnología
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Recursos ¶
Procesos relacionados a los recursos del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/resources
Este proceso permite obtener un listado de los recursos. (Priv 470)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name y descripción
"status": 1 // 0=cualquiera, 1=solo activos, 2=solo inactivos
},
"order": 1, // 1=nombre, 2=status, 3=descripción, 99=id (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Recurso UNO",
"dsc": "Descripcion",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
}
},
...
],
"privileges": {
"view": true, // privilegio 470
"update": true, // privilegio 471
"add": true, // privilegio 472
"delete": true // privilegio 473
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Recurso UNO",
"dsc": "Descripción",
"status": {
"id": 1, // 1=Activa, 0=Inactiva
"name": "Activo"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Recursos ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/resources/{resourceid}
Obtiene la información de un recurso en particular. (priv 470)
Example URI
- resourceid
optional number(required)Identificador del recurso
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Recurso UNO",
"dsc": "Descripción",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/resources/{resourceid}
Actualiza o Incluye un registro de un recurso. (Si el resourceid es 0 se incluye). (priv 471 MOD Y 472 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- resourceid
optional number(required)Identificador del recurso
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Nombre Recurso",
"dsc": "Descripción"
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/resources/{resourceid}
Eliminar un registro de un recurso. (priv 473)
Example URI
- resourceid
optional number(required)Identificador del recurso
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Cargos ¶
Procesos relacionados a los cargos del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/positions
Este proceso permite obtener un listado de los cargos. (Priv 410)
El listado siempre vendrá filtrado por los cargos de las unidades a las que el usuario tenga acceso a menos de que se reciba el parámetro alwaysall=true en cuyo caso devolverá todos los cargos.
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name Y descripción
"status": 1 // 0=cualquiera, 1=solo activos, 2=solo inactivos
"unitid": 1 // identificador de la unidad. 0=Todas, -99=Todas más cargos sin unidades (visible para todos)
"showall": false // es opcional y el valor por defecto es false
},
"order": 1, // 1=nombre+unidad//NEW, 2=status, 3=descripción, 99=id (negativos ordenan descendentemente)
"format": 1, // 1=formato actual, 2=formato listado
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Cargo UNO",
"dsc": "Descripción",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"units": [
{
"positionunitid": 1, //NEW
"id": 1,
"name": "Unidad UNO"
},
...
]
},
...
],
"privileges": {
"view": true, // privilegio 410
"update": true, // privilegio 411
"add": true, // privilegio 412
"delete": true // privilegio 413
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Cargo UNO",
"status": {
"id": 1, // 1=Activa, 0=Inactiva
"name": "Activo"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Cargos ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/positions/{positionid}
Obtiene la información de un cargo en particular. (priv 410)
Example URI
- positionid
optional number(required)Identificador del cargo
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Cargo UNO",
"dsc": "Descripción",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"units": [
{
"positionunitid": 1, //NEW
"id": 1,
"name": "Unidad UNO"
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/positions/{positionid}
Actualiza o Incluye un registro de un cargo. (Si el campaignid es 0 se incluye). (priv 411 MOD Y 412 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- positionid
optional number(required)Identificador del cargo
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Presidencia", // Nombre del Cargo
"dsc": "Descripción", // Descripción del Cargo
"units": [1,2,3,4] // ids de las unidades
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/positions/{positionid}
Eliminar un registro de un cargo. (priv 413)
Example URI
- positionid
optional number(required)Identificador del cargo
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Exigencias Externas ¶
Procesos relacionados a los procesos de las exigencias externas
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/externalreqs
Este proceso permite obtener un listado de las exigencias externas. (Priv 320)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por scenary y plan (CONSULTAR ESTO)
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
"requesterid": 0, // 0=todos. Identificador del ente solicitante
"workerid": 0, // 0=todos. Identificador del responsable
},
"order": 1, // 1=nombre ente solicitante, 2=escenario, 3=nombre del responsable 99=id´s (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activa"
},
"requester": {
"id": 1,
"name": "Solicitante" // podria requerir encoding
},
"worker": {
"id": 1,
"name": "Responsable"
},
"requerimientos": "",
"term": {
"id": 1,
"name": "Días"
},
"scenary": "",
"plan": "" // podria requerir encoding
},
...
],
"term": [ // parámetro EXTERNALREQ_TERM
{
"dsc": "Días",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 320
"update": true, // privilegio 321
"add": true, // privilegio 322
"delete": true // privilegio 323
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Exigencias Externas ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/externalreqs/{externalreqid}
Obtiene la información de una exigencia externa en particular. (priv 320)
Example URI
- externalreqid
optional number(required)Identificador de la Exigencia Externa
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activa"
},
"requester": {
"id": 1,
"name": "Solicitante" // podria requerir encoding
},
"worker": {
"id": 1,
"name": "Responsable"
},
"requerimientos": "",
"term": {
"id": 1,
"name": "Días"
},
"scenary": "",
"plan": "" // podria requerir encoding
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/externalreqs/{externalreqid}
Actualiza o Incluye un registro de una exigencia externa. (Si el campaignid es 0 se incluye). (priv 321 MOD Y 322 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- externalreqid
optional number(required)Identificador de la Exigencia Externa
Headers
Content-Type: application/jsonBody
{
"status": 1,
"requesterid": 1, // Identificador del ente solicitante
"workerid": 1, // Identificador del resposable
"externaltermpar": "1", // Plan parámetro EXTERNALREQ_TERM
"requirements": "", // podria necesitar codificación
"scenary": "", // podria necesitar codificación
"plan": "", // podria necesitar codificación
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/externalreqs/{externalreqid}
Eliminar un registro de una exigencia externa. (priv 323)
Example URI
- externalreqid
optional number(required)Identificador de la Exigencia Externa
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Entidades Solicitantes ¶
Procesos relacionados a las entidades solicitantes del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/requesters
Este proceso permite obtener un listado de las entidades solicitantes. (Priv 450)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc y tipo
"type": 0, // 0=Todas
"status": 1 // 0=cualquiera, 1=solo activos, 2=solo inactivos
},
"order": 1, // 1=nombre, 2=status, 3=descripción , 4=tipo , 5=nro reportes , 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"numofrecords": 20 // número de registros a mostrar
"format": 1, // 1=formato actual, 2=formato listado
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Entidad UNO",
"dsc": "Entidad UNO",
"reportscount": 12,
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": {
"id": 1,
"dsc": "Tipo Uno"
}
},
...
],
"types": [ // parámetro REQUESTERS_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 450
"update": true, // privilegio 451
"add": true, // privilegio 452
"delete": true // privilegio 453
}
}200Headers
Content-Type: application/jsonBody
{ // formato 2
"sessionvalidthru": "2024-12-23 23:00",
"records": [
{
"id": 1,
"name": "Entidad",
"status": {
"id": 1, // 1=Activa, 0=Inactiva
"name": "Activo"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Entidades Solicitantes ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/requesters/{requesterid}
Obtiene la información de una entidad solicitante en particular. (priv 450)
Example URI
- requesterid
optional number(required)Identificador de la Entidad Solicitante
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Entidad UNO",
"dsc": "Entidad UNO",
"reportscount": 12,
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"type": {
"id": 1,
"dsc": "Tipo Uno"
},
"contact": {
"name": "Pedro Pérez",
"phone": "",
"email": "",
"other": ""
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/requesters/{requesterid}
Actualiza o Incluye un registro de una Entidad Solicitante. (Si el requesterid es 0 se incluye). (priv 451 MOD Y 452 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- requesterid
optional number(required)Identificador de la Entidad Solicitante
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Entidad UNO",
"dsc": "",
"contact": {
"name": "Pedro Pérez",
"phone": "",
"email": "",
"other": ""
},
"type": 1, // REUESTER_TYPE
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/requesters/{requesterid}
Eliminar un registro de una Entidad Solicitante. (priv 453)
Example URI
- requesterid
optional number(required)Identificador de la Entidad Solicitante
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Reportes Regulatorios ¶
Procesos relacionados a los reportes regulatorios del sistema
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/regreports
Este proceso permite obtener un listado de los Reportes Regulatorios. (Priv 460)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por name, dsc, entidad, Frecuencia, Penalidad
"requesterid": 0, // 0=Todas
"type": 0, // 0=Todas
"status": 1, // 0=cualquiera, 1=solo activos, 2=solo inactivos
},
"order": 1, // 1=nombre, 2=status, 3=descripción, 4=requester, 5=frequency, 6=penalty, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"numofrecords": 20 // número de registros a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Nombre del Horario",
"dsc": "",
"frequency": "",
"penalty": "",
"requester": {
"id": 1,
"name": "Ent Sol. UNO"
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
}
},
...
],
"types": [ // parámetro REGREPORT_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"privileges": {
"view": true, // privilegio 200
"update": true, // privilegio 201
"add": true, // privilegio 202
"delete": true // privilegio 203
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Reportes Regulatorios ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/regreports/{regreportid}
Obtiene la información de una reporte regulatorio en particular. (priv 460)
Example URI
- regreportid
optional number(required)Identificador del Reporte Regulatorio
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Nombre del Horario",
"dsc": "",
"frequency": "",
"penalty": "",
"type": {
"id": 1,
"dsc": "type"
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"requester": {
"id": 1,
"name": "Ent Sol. UNO"
}
},
"types": [ // parámetro REGREPORT_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/regreports/{regreportid}
Actualiza o Incluye un registro de un reporte regulatorio. (Si el requesterid es 0 se incluye). (priv 461 MOD Y 462 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- regreportid
optional number(required)Identificador del Reporte Regulatorio
Headers
Content-Type: application/jsonBody
{
"status": 1,
"type": 1, // REGREPORT_TYPE
"name": "Entidad UNO",
"dsc": "",
"requester": 1,
"frequency": "",
"penalty": ""
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/regreports/{regreportid}
Eliminar un registro de una Reporte Regulatorio. (priv 463)
Example URI
- regreportid
optional number(required)Identificador del Reporte Regulatorio
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Tipos de Factores de Riesgo ¶
Procesos relacionados a los tipos de factores de riesgo
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/riskfactors
Este proceso permite obtener un listado de los factores de riesgo. (Priv 800)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por esdenario, nombre, categoria
"status": 1 // 0=cualquiera, 1=solo activos, 2=solo inactivos
"sceneryid": 1 // Params RISK_SCENERIES
"showall": false // es opcional y el valor por defecto es false
},
"order": 1, // 1=escenario+nombre, 2=categoria, 3=nombre, 4=nro elementos, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Factor UNO",
"dsc": "",
"category": "Categoría UNO",
"scenery": { // Param RISK_SCENERIES
"id": 1,
"name": "Instalaciones"
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"elements": [
{
"id": 1,
"name": "Unidad UNO",
"weight": 24
},
...
]
},
...
],
"privileges": {
"view": true, // privilegio 800
"update": true, // privilegio 801
"add": true, // privilegio 802
"delete": true // privilegio 803
},
"sceneries": [
{
"value": "1",
"dsc": "Aplicaciones"
},
{
"value": "2",
"dsc": "Instalaciones"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Colección de Categorías ¶
- Request
- Headers Authorization: Bearer sessionid
Listar categoríasPOST/riskfactors/categories
Este proceso permite obtener un listado de las categorías de los factores de riesgo. (Priv 800)
Usar SELECT category FROM riskfactors ORDER BY category GROUP BY category;
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por categoría
},
"order": 1, // 1=categoria (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [ "Categoria UNO", "Categoria DOS", ...]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de factores de riesgo ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/riskfactors/{riskfactorid}
Obtiene la información de un factor de riesgo en particular. (priv 800)
Example URI
- riskfactorid
optional number(required)Identificador del factor de riesgo
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Factor UNO",
"category": "Categoría UNO",
"dsc":"descripción",
"scenery": { // Param RISK_SCENERIES
"id": 1,
"name": "Instalaciones"
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"elements": [
{
"id": 1,
"name": "Elemento UNO",
"weight": 24
},
...
]
},
"sceneries": [
{
"value": "1",
"dsc": "Aplicaciones"
},
{
"value": "2",
"dsc": "Instalaciones"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/riskfactors/{riskfactorid}
Actualiza o Incluye un registro de un factor de riesgo. (Si el campaignid es 0 se incluye). (priv 801 MOD Y 802 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- riskfactorid
optional number(required)Identificador del factor de riesgo
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Factor UNO",
"category": "Categoría UNO",
"scenery": 1,
"dsc":"Descripción",
"elements": [
{
"id": 1, // positivo=actualizar, negativo=borrar, 0=nuevo
"name": "Elemento UNO",
"weight": 24
},
...
]
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/riskfactors/{riskfactorid}
Eliminar un registro de un cargo. (priv 803)
Example URI
- riskfactorid
optional number(required)Identificador del factor de riesgo
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Instrumentos ¶
Procesos relacionados a los instrumentos
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/instruments
Este proceso permite obtener un listado de los instrumentos. (Priv 810)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por esdenario, nombre, categoria
"status": 1 // 0=cualquiera, 1=solo activos, 2=solo inactivos
"sceneryid": 1 // Params RISK_SCENERIES
"showall": false // es opcional y el valor por defecto es false
},
"order": 1, // 1escenario+nombre, 2=nombre, 3=estatus, 4=Factor de Riesgo, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"name": "Instrumento UNO",
"scenery": { // Param RISK_SCENERIES
"id": 1,
"name": "Instalaciones"
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"riskfactors": [
{
"id": 1,
"riskfactorid": 1,
"name": "Factor UNO",
"weight": 24
},
...
]
},
...
],
"privileges": {
"view": true, // privilegio 810
"update": true, // privilegio 811
"add": true, // privilegio 812
"delete": true // privilegio 813
},
"sceneries": [
{
"value": "1",
"dsc": "Aplicaciones"
},
{
"value": "2",
"dsc": "Instalaciones"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de instrumentos ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/instruments/{instrumentid}
Obtiene la información de un instrumento en particular. (priv 810)
Example URI
- instrumentid
optional number(required)Identificador del instrumento
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Instrumento UNO",
"scenery": { // Param RISK_SCENERIES
"id": 1,
"name": "Instalaciones"
},
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"riskfactors": [
{
"id": 1,
"riskfactorid": 1,
"name": "Factor UNO",
"weight": 24
},
...
]
},
"sceneries": [
{
"value": "1",
"dsc": "Aplicaciones"
},
{
"value": "2",
"dsc": "Instalaciones"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/instruments/{instrumentid}
Actualiza o Incluye un registro de un intrumento. (Si el instrumentid es 0 se incluye). (priv 811 MOD Y 812 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- instrumentid
optional number(required)Identificador del instrumento
Headers
Content-Type: application/jsonBody
{
"status": 1,
"name": "Instrumento UNO",
"scenery": 1,
"riskfactors": [
{
"id": 1, // positivo=actualizar, negativo=borrar, 0=nuevo
"riskfactorid": 1,
"name": "Factor UNO",
"weight": 24
},
...
]
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/instruments/{instrumentid}
Eliminar un registro de un instrumento. (priv 813)
Example URI
- instrumentid
optional number(required)Identificador del instrumento
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Evaluaciones de Riesgo ¶
Procesos relacionados a las evaluaciones de riesgo
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/riskevaluations
Este proceso permite obtener un listado de las evaluaciones de riesgo. (Priv 820)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por esdenario, instrumento, elemento
"status": 1 // 0=cualquiera, 1=solo activos, 2=solo cerrados
"sceneryid": 1 // Params RISK_SCENERIES
},
"order": 1, // 1=escenario+instrumento, 2=instrumento, 3=elemento, 4=probabilidad, 5=impacto, 6=Severidad, 7=Atenuador, 8=status, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"instrument": {
"id": 1,
"name": "Instrumento UNO"
},
"scenery": { // Param RISK_SCENERIES
"id": 1,
"name": "Instalaciones"
},
"element": {
"id": 1,
"name": "Elemento UNO",
},
"status": {
"id": 1, // 1=Activo, 0=Cerrado
"name": "Cerrado"
},
"hasfollowups": false, // NEW
"probability": 1,
"impact": 1,
"attenuator": 100;
"dsc": ""
},
...
],
"privileges": {
"view": true, // privilegio 820
"update": true, // privilegio 821
"add": true, // privilegio 822
"delete": true, // privilegio 823
"updatt": true // privilegio 825
},
"sceneries": [
{
"value": "1",
"dsc": "Aplicaciones"
},
{
"value": "2",
"dsc": "Instalaciones"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Actualización de Atenuación ¶
- Request
- Headers Authentication: Bearer JWT
Actualización de la AtenuaciónPOST/riskevaluations/attupdate/{riskevaluationid}
Actualiza de una evaluación de riesgo. (priv 821 y 825)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- riskevaluationid
optional number(required)Identificador de la evaluación a devolver
Headers
Content-Type: application/jsonBody
{
"attenuator": 100
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Verificar integridad de evaluación ¶
- Request
- Headers Authentication: Bearer JWT
Verificar Integridad de la EvaluaciónGET/riskevaluations/{riskevaluationid}/checkintegrity
Verifica la integridad de una evaluación de riesgo en particular respecto a los elementos que la componen (instrumentos, factores de riesgo y elementos de los factores). (priv 820)
Example URI
- riskevaluationid
required number(required)Identificador de la evaluación a devolver
200Headers
Content-Type: application/jsonBody
{
"fail": 0 // 0=Los componentes existen todos, 1=Alguno de los componentes fue cambiado o no existe, 2=No existe el instrumento que originó la evaluación
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Reconstruir una evaluación ¶
- Request
- Headers Authentication: Bearer JWT
Reconstruir una EvaluaciónGET/riskevaluations/{riskevaluationid}/rebuild
Proceso de Reconstrucción (priv 820)
Se asume que el instrumento aún existe Se asume que el instrumento aún existe
- Se deben recordar todos los elementos de los factores de riesgo detallados (riskelements) que estén marcados en riskevalelements.
- Se eliminan todos los factores asociados a la evaluación y se cargan de nuevo, tomando en cuenta de dejar marcados a nivel de riskevalelements los que ya estaban así. Los demás deben desmarcarse.
- Se debe resetear el valor del atenuador a 100%
- Se debe recalcular la probabilidad e impacto global del elemento
Example URI
- riskevaluationid
required number(required)Identificador de la evaluación a reconstruir
200Headers
Content-Type: application/jsonBody
{
"id": 1 // Identificador de la evaluación
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de evaluaciones de riesgo ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/riskevaluations/{riskevaluationid}
Obtiene la información de una evaluación de riesgo en particular. (priv 820)
Example URI
- riskevaluationid
optional number(required)Identificador de la evaluación a devolver
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"instrument": {
"id": 1,
"name": "Instrumento UNO"
},
"scenery": { // Param RISK_SCENERIES
"id": 1,
"name": "Instalaciones"
},
"element": {
"id": 1,
"name": "Elemento UNO",
},
"initialdate": {
"date": "2026-02-27 23:34",
"formatted": "27/02/2026 11:34pm",
},
"enddate": {
"date": "2026-02-27 23:34",
"formatted": "27/02/2026 11:34pm",
},
"status": {
"id": 1, // 1=Activo, 0=Cerrado
"name": "Cerrado"
},
"allowopen": true, //NEW
"allowtotalupdate": true, //NEW
"probability": 1,
"impact": 1,
"attenuator": 100;
"dsc": "",
"riskfactors": [
{
"id": 1,
"name": "Factor UNO",
"dsc": "",
"category": "Categoría UNO",
"status": {
"id": 1, // 1=Activo, 0=Inactivo
"name": "Activo"
},
"elements": [
{
"id": 1,
"name": "Unidad UNO",
"impact": 1,
"probability": 1,
"active": 1,
"weight": 24
},
...
]
},
...
]
},
"sceneries": [
{
"value": "1",
"dsc": "Aplicaciones"
},
{
"value": "2",
"dsc": "Instalaciones"
},
...
],
"scales": { // NEW
"impact":[ //RISK_SCALEIMPACT
{
"value": "1",
"dsc": "Descripción Corta",
"lng": "Descripción Larga",
},
...
],
"probability":[ //RISK_SCALEPROB
{
"value": "1",
"dsc": "Descripción Corta",
"lng": "Descripción Larga",
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/riskevaluations/{riskevaluationid}
Actualiza o Incluye un registro de una evaluación de riesgo. (Si el riskevaluationid es 0 se incluye). (priv 821 MOD Y 822 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- riskevaluationid
optional number(required)Identificador de la evaluación a devolver
Headers
Content-Type: application/jsonBody
{
"instrument": 1,
"initialdate": "2026-02-27 23:34",
"relateditemid": 1,
"relateditemdsc": "Descripción del elemento",
"status": 1,
"probability": 0, // se aceptan decimales
"impact": 0, // se aceptan decimales
"attenuator": 100, // valor entre 0 y 100
"dsc": "",
"factors": [
{
"id": 1,
"name": "Factor UNO",
"category": "Categoria UNO", // NEW
"dsc": "",
"weight": 2.3,
"elements": [
{
"id": 1,
"dsc": "Elemento UNO",
"probability": 1,
"impact": 1,
"active": 1,
"weight": 25
},
...
]
},
...
]
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/riskevaluations/{riskevaluationid}
Eliminar un registro de una evaluación de riesgo. (priv 823)
Example URI
- riskevaluationid
optional number(required)Identificador de la evaluación a devolver
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Seguimiento de Evaluaciones de Riesgo ¶
Procesos relacionados a los seguimientos de evaluaciones de riesgo
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/riskfollowups
Este proceso permite obtener un listado de los seguimientos evaluaciones de riesgo. (Priv 827)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por escenario, instrumento, item
"status": 0, // 0=todos, 1=solo con "Sin Asignar", 2=solo con "Asignados", 3=solo con "En Proceso", 4=solo con "Por Revisar", 5=solo con "Cerrados",
"remedy": 0, // 0=todos, 1=completados, 2=sin completar
"sceneryid": 1 // Params RISK_SCENERIES
"dates": {
"from": "2026-12-31", // en blanco se ignora
"to": "2026-12-31", // en blanco se ignora
}
},
"order": 1, // 1=escenario+instrumento, 2=instrumento, 3=item, 4=Sev Inicial, 5=Sev Final, 6=Fecha, 7=Atenuador, 8=sin asignar, 9=asignado, 10=en proceso, 11=por revisar, 12=cerrados, 99=id (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1, // id de la evaluación
"instrument": {
"id": 1,
"name": "Instrumento UNO"
},
"scenery": { // Param RISK_SCENERIES
"id": 1,
"name": "Instalaciones"
},
"item": {
"id": 1,
"name": "Item UNO",
},
"severity": {
"initial": 1,
"finals": 4
},
"date": "2026-12-31",
"status": {
"notassigned": 1,
"assigned": 1,
"inprocess¨: 3,
"forreview": 3,
"closed": 3
}
},
...
],
"privileges": {
"view": true, // privilegio 827
"update": true // privilegio 828
},
"sceneries": [
{
"value": "1",
"dsc": "Aplicaciones"
},
{
"value": "2",
"dsc": "Instalaciones"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD Seguimientos ¶
- Request
- Headers Authorization: Bearer sessionid
Obtener unaGET/riskfollowups/{riskevaluationid}
Obtiene la información de los seguimientos de una evaluación de riesgo en particular. (priv 827)
Example URI
- riskevaluationid
required number(required)Identificador de la evaluación
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"instrument": {
"id": 1,
"name": "Instrumento UNO"
},
"scenery": { // Param RISK_SCENERIES
"id": 1,
"name": "Instalaciones"
},
"element": {
"id": 1,
"name": "Elemento UNO",
},
"date": "2026-12-31",
"creationdate": "2026-12-31",
"probability": 1,
"impact": 1,
"color": "FFFFFF", // RISK_COLORSEVERITY
"riskfactors": [
{
"id": 1,
"name": "Factor UNO",
"elements": [
{
"id": 1,
"name": "Elemento UNO",
"impact": 1,
"probability": 1,
"colors": {
"impact": "FFFFFF", // RISK_COLORIPACT
"probability": "FFFFFF", // RISK_COLORPROB
"severity": "FFFFFF" // RISK_COLORSEVERITY
}
"status": "Sin Asignar", // Estatus probables "Sin Asignar", "Asignado", "En Proceso", "Por Revisar", "Cerrado"
"followups": {
"open": {
"name": "Nombre del Plan",
"responsable": "Pedro Pérez",
"estenddate": "2026-12-31"
},
"actions": [
{
"date": "2026-12-31",
"dsc": "Acción UNO",
"progress": 30
},
...
],
"close": {
"mitigation": { // PARAM RISK_MITIGATION
"id": 1, // en 0 cuando no haya valor (sea NULL)
"name": "Total"
},
"responsable": "Pedro Pérez",
"enddate": "2026-12-31"
}
}
},
...
]
},
...
]
},
"privileges": {
"view": true, // privilegio 827
"update": true, // privilegio 828
"close": true, // privilegio 830
"updateafterclose": true // privilegio 831
},
"mitigation": [ // PARAM RISK_MITIGATION
{
"value": "1",
"dsc": "Total"
},
{
"value": "2",
"dsc": "Parcial"
},
...
],
"scales": {
"impact":[ //RISK_SCALEIMPACT
{
"value": "1",
"dsc": "Descripción Corta",
"lng": "Descripción Larga",
},
...
],
"probability":[ //RISK_SCALEPROB
{
"value": "1",
"dsc": "Descripción Corta",
"lng": "Descripción Larga",
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/riskfollowups/{riskevaluationid}
Actualiza o Incluye un registro de los seguimientos de una evaluación de riesgo. (priv 828, 831 si esta cerrado) La actualización siempre borra todo y lo vuelve a crear con la nueva estructura
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat de la table riskfollowups
-
Request (application/json)
{ "creationdate": "2026-12-31", // en blanco la primera vez "riskfactors": [ { "elements": [ { "id": 1, // este es el riskevalfactorelementid "followups": { "open": { "name": "Nombre del Plan", "responsable": "Pedro Pérez", "estenddate": "2026-12-31" }, "actions": [ { "date": "2026-12-31", "dsc": "Acción UNO", "progress": 30 }, ... ], "close": { "mitigation": 0, // PARAM RISK_MITIGATION 0=no hay cierre "responsable": "Pedro Pérez", "enddate": "2026-12-31" } } }, ... ] }, ... ] }
Example URI
- riskevaluationid
required number(required)Identificador de la evaluación
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Cerrar Seguimiento ¶
- Request
- Headers Authorization: Bearer sessionid
RemediaciónPOST/riskfollowups/{riskevaluationid}/remedy
Actualiza el registro de la evaluación con la información de remediación. (priv 830) Si el valor anterior a la actualización de remedyprob y remedyimpact son distintos de 0 y no se tiene el privilegio 831 el servicio falla por 403.
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat de la table riskevaluations
-
Request (application/json)
{ "probability": 1, "impact": 1, "dsc": "" }
Example URI
- riskevaluationid
required number(required)Identificador de la evaluación
400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Evaluación por Procesos ¶
Procesos relacionados a las evaluaciones por procesos
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/evalprocesses
Este proceso permite obtener un listado de las evaluaciones por procesos. (Priv 200)
Al invocar este servicio se deben comparar todas las unidades de la campaña recibida en campaignid y sus procesos y se deben insertar en la tabla evalprocesses en caso de no existir.
Igualmente el listado debe estar filtrado por la unidades que tiene el usuario asignadas ##CONSIDERACIONES DE PROCESOS El proceso debe excluir los elementos cuya relación unidad-proceso (tabla unitprocess) se encuentre eliminada (el campo deleted sea distinto de NULL) ##ADENDUM DE LA CONSIDERACION
- La iserción de los los registros en evalprocesses debe realizarse solo si la campaña “campaignid” está abierta
- La exclusión de los elementos con el deleted activo se condiderará únicamente si todos los campos de estatus de la tabla evalprocesses están en 0
- Los estatus en la unidad y el proceso debe colocarse en 0 ambos en caso de que la relación entre ambos tenga encendido el deleted
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por nombre de la unidad, nombre del proceso
"status": 1, // 0=cualquiera, 1=completos, 2=con faltas
"campaignid": 0, // 0=todos. Identificador del ente solicitante
},
"order": 1, // 1=nombre unidad, 2=nombre proceso, 3-9=estatus... (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"unit": {
"id": 1,
"name": "Unidad UNO",
"status": {
"id": 1, 1=Activo, 0=Inactivo
"name": "Activo"
}
},
"process": {
"id": 1,
"name": "Proceso UNO",
"status": {
"id": 1, 1=Activo, 0=Inactivo
"name": "Activo"
}
},
"oprationline": {
"id": 1,
"name": "Línea UNO"
},
"status": {
"impact": false,
"app": false,
"supplier": false,
"record": false,
"period": false,
"input": false,
"report": false
},
},
...
],
"totals": {
"impact": "2/3",
"app": "2/3",
"supplier": "2/3",
"record": "2/3",
"period": "2/3",
"input": "2/3",
"report": "2/3"
},
"privileges": {
"view": true, // privilegio 200
"update": true, // privilegio 201
"add": true, // privilegio 202
"delete": true // privilegio 203
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Actualizar Estatus ¶
- Request
- Headers Authentication: Bearer JWT
Actualizar EstatusPOST/evalprocesses/{evalprocessid}
Actualiza el estatus de la tabla evalprocess según el campo recibido en field. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
Headers
Content-Type: application/jsonBody
{
"field": "impactst", // Los valores posibles son: impactst, appst, suplierst, recordst, periodst, inputst, reportst
"status": 1, // 1=cerrado/completado, 0=abierto/en progreso
}200Headers
Content-Type: application/jsonBody
{
"status": 1 // devuelve el nuevo estatus asignado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Impacto ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/evalprocesses/{evalprocessid}/impact/{evalprocimpactid}
Obtiene la información de impacto de una evaluación de procesos en particular. el párametro evalprocimpactid se ignora, si no hubiera devolvería el id en 0. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocimpactid
optional number(required)Identificador de la evaluación del impacto
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1, // 0 si no está creado
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
"rto": {
"qty": 1,
"periodpar": {
"id": 1,
"name": "Días"
},
"legal": 3,
"finantial": 2,
"operative": 1,
"reputational": 3,
"customer": 4,
"notes": ""
},
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
"scale": [ // parámetro EVALPROC_SCALEIMPACT
{
"dsc": "Bajo",
"value": "1"
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/evalprocesses/{evalprocessid}/impact/{evalprocimpactid}
Actualiza o Incluye un registro de un impacto de una evaluación de procesos. (Si el evalprocimpactid es 0 se incluye). (priv 201 MOD Y 202 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocimpactid
optional number(required)Identificador de la evaluación del impacto
Headers
Content-Type: application/jsonBody
{
"rtoqty": 1, // Identificador del ente solicitante
"evalprocrtoperiodpar": 1, // Parámetro EVALPROC_PERIOD
"rtolegalpar": "1", // parámetro EVALPROC_SCALEIMPACT
"rtofinantialpar": "1", // parámetro EVALPROC_SCALEIMPACT
"rtooperativepar": "1", // parámetro EVALPROC_SCALEIMPACT
"rtoreputationalpar": "1", // parámetro EVALPROC_SCALEIMPACT
"rtocustomerpar": "1", // parámetro EVALPROC_SCALEIMPACT
"notes": "", // podria necesitar codificación
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Aplicaciones ¶
- Request
- Headers Authentication: Bearer JWT
ListarGET/evalprocesses/{evalprocessid}/applications
Obtiene un listado de la información de las aplicaciones de una evaluación de procesos en particular. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
"records": [
{
"id": 1,
"applicationid": 1,
"name": "Aplicación UNO",
"type": {
"id": 1,
"name": "Tipo UNO"
},
"facility": {
"id": 1,
"name": "Instalación UNO"
},
"dependencypar": { //EVALPROC_SCALEAPP
"id": "2",
"name": "Alto"
},
"requiredpar": {
"id": "1",
"name": "Sí"
},
"qty": "2",
"periodpar": {
"id": "1",
"name": "Horas"
}
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Aplicaciones ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/evalprocesses/{evalprocessid}/applications/{evalprocappid}
Obtiene una de las aplicaciones de una evaluación de procesos en particular. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocappid
optional number(required)Identificador de la evaluación de la aplicacion
200Headers
Content-Type: application/jsonBody
{
"entry": [
{
"id": 1,
"applicationid": 1,
"name": "Aplicación UNO",
"dsc": "",
"type": {
"id": 1,
"name": "Tipo UNO"
},
"facility": {
"id": 1,
"name": "Instalación UNO"
},
"dependencypar": { //EVALPROC_SCALEAPP
"id": "2",
"name": "Alto"
},
"requiredpar": {
"id": "1",
"name": "Sí"
},
"qty": "2",
"periodpar": {
"id": "1",
"name": "Horas"
}
},
...
},
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
"scale": [ // Parámetro EVALPROC_SCALEAPP
{
"dsc": "Bajo",
"value": "1"
},
...
],
"apptype": [ // Parámetro APPS_TYPE
{
"dsc": "Ciberseguridad",
"value": "1"
},
...
],
"required": [ // Parámetro EVALPROC_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/evalprocesses/{evalprocessid}/applications/{evalprocappid}
Actualiza o Incluye un registro de una aplicación de una evaluación de procesos. (Si el evalprocappid es 0 se incluye). (priv 201 MOD Y 202 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocappid
optional number(required)Identificador de la evaluación de la aplicacion
Headers
Content-Type: application/jsonBody
{
"applicationid": 1, // Identificador de la aplicación
"evalprocdependencypar": "1", // Parámetros EVALPROC_SCALEAPP
"evalprocapprequiredpar": "1", // Parámetro EVALPROC_YESNO
"evalprocappperiodpar": "1", // Parámetro EVALPROC_PERIOD
"qty": 1
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/evalprocesses/{evalprocessid}/applications/{evalprocappid}
Eliminar un registro de una aplicación. (priv 203)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocappid
optional number(required)Identificador de la evaluación de la aplicacion
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Proveedores ¶
- Request
- Headers Authentication: Bearer JWT
ListadoGET/evalprocesses/{evalprocessid}/suppliers
Obtiene un listado de la información de los proveedores de una evaluación de procesos en particular. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
"records": [
{
"id": 1,
"supplierid": 1,
"name": "Proveedor UNO",
"dsc": "",
"type": {
"id": 1,
"name": "Tipo UNO"
},
"rto": {
"qty": 1,
"period": { // EVALPROC_PERIOD
"id": "1",
"name": "Días"
},
},
"rpo": {
"qty": 1,
"period": { // EVALPROC_PERIOD
"id": "1",
"name": "Días"
},
},
"requiredpar": { // EVALPROC_YESNO
"id": "1",
"name": "Sí"
},
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Proveedores ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/evalprocesses/{evalprocessid}/suppliers/{evalprocsupid}
Obtiene uno de los proveedores de una evaluación de procesos en particular. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocsupid
optional number(required)Identificador de la evaluación del proveedor
200Headers
Content-Type: application/jsonBody
{
"entry": [
{
"id": 1,
"supplierid": 1,
"name": "Proveedor UNO",
"dsc": "",
"type": {
"id": 1,
"name": "Tipo UNO"
},
"relatedcompanypar": {
"value": "1",
"dsc": "Sí"
},
"dataprocesspar": {
"value": "1",
"dsc": "Sí"
},
"bcpdrppar": {
"value": "1",
"dsc": "Sí"
},
"rtocontractual": {
"qty": 1,
"period": { // EVALPROC_PERIOD
"id": "1",
"name": "Días"
},
},
"rpocontractual": {
"qty": 1,
"period": { // EVALPROC_PERIOD
"id": "1",
"name": "Días"
},
},
"rto": {
"qty": 1,
"period": { // EVALPROC_PERIOD
"id": "1",
"name": "Días"
},
},
"rpo": {
"qty": 1,
"period": { // EVALPROC_PERIOD
"id": "1",
"name": "Días"
},
},
"requiredpar": { // EVALPROC_YESNO
"id": "1",
"name": "Sí"
},
"dependencypar": { //EVALPROC_SCALESUP
"id": "2",
"name": "Alto"
},
},
...
},
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
"scale": [ // Parámetro EVALPROC_SCALESUP
{
"dsc": "Bajo",
"value": "1"
},
...
],
"apptype": [ // Parámetro SUPPLIER_TYPE
{
"dsc": "Ciberseguridad",
"value": "1"
},
...
],
"required": [ // Parámetro EVALPROC_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/evalprocesses/{evalprocessid}/suppliers/{evalprocsupid}
Actualiza o Incluye un registro de un proveedor de una evaluación de procesos. (Si el evalprocsupid es 0 se incluye). (priv 201 MOD Y 202 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocsupid
optional number(required)Identificador de la evaluación del proveedor
Headers
Content-Type: application/jsonBody
{
"evalprocsupid": 1, // Identificador del proveedor
"rtoqty": 1,
"rtoperiodpar": "1", // Parámetro EVALPROC_PERIOD
"rpoqty": 1,
"rpoperiodpar": "1", // Parámetro EVALPROC_PERIOD
"evalprocdependencypar": "1", // Parámetro EVALPROC_SCALESUP
"evalprocsuprequiredpar": "1", // Parámetro EVALPROC_YESNO
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/evalprocesses/{evalprocessid}/suppliers/{evalprocsupid}
Eliminar un registro de una aplicación. (priv 203)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocsupid
optional number(required)Identificador de la evaluación del proveedor
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Registros Vitales ¶
- Request
- Headers Authentication: Bearer JWT
ListadoGET/evalprocesses/{evalprocessid}/records/
Obtiene uno un registro vitales de una evaluación de procesos en particular. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
"records": [
{
"id": 1,
"name": "Registro UNO",
"dsc": "",
"location": "",
"type": {
"id": 1,
"name": "Tipo UNO"
},
"rpo": {
"qty": 1,
"period": { // EVALPROC_PERIOD
"id": "1",
"name": "Días"
},
},
"rguardpar": { // EVALPROC_YESNO
"id": "1",
"name": "Sí"
},
},
...
],
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
"scale": [ // Parámetro EVALPROC_SCALESUP
{
"dsc": "Bajo",
"value": "1"
},
...
],
"rectype": [ // Parámetro RECORD_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"guard": [ // Parámetro EVALPROC_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Registros Vitales ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/evalprocesses/{evalprocessid}/records/{evalprocrecid}
Obtiene uno un registro vitales de una evaluación de procesos en particular. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocrecid
optional number(required)Identificador del registro vital
200Headers
Content-Type: application/jsonBody
{
"entry": [
{
"id": 1,
"name": "Registro UNO",
"dsc": "",
"location": "",
"type": {
"id": 1,
"name": "Tipo UNO"
},
"rpo": {
"qty": 1,
"period": { // EVALPROC_PERIOD
"id": "1",
"name": "Días"
},
},
"rguardpar": { // EVALPROC_YESNO
"id": "1",
"name": "Sí"
},
},
...
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/evalprocesses/{evalprocessid}/records/{evalprocrecid}
Actualiza o Incluye un registro vital de una evaluación de procesos. (Si el evalprocrecid es 0 se incluye). (priv 201 MOD Y 202 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocrecid
optional number(required)Identificador del registro vital
Headers
Content-Type: application/jsonBody
{
"evalproctypepar": "1", // Identificador del tipo de registro vital RECORD_TYPE
"name": "Registro UNO", // Nombre del registro vital
"dsc": "", // Descripción (podría requerir codificación)
"location": "", // Ubicación (podría requerir codificación)
"evalprocrecguardpar": "1", // Parámetro EVALPROC_YESNO
"rpoqty": 1
"evalprocrecperiodpar": "1", // Parámetro EVALPROC_PERIOD
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/evalprocesses/{evalprocessid}/records/{evalprocrecid}
Eliminar un registro de una aplicación. (priv 203)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocrecid
optional number(required)Identificador del registro vital
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Periodos Críticos ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/evalprocesses/{evalprocessid}/periods/{evalprocperiodid}
Obtiene la información de los períodos críticos de una evaluación de procesos en particular. el párametro evalprocperiodid se ignora, si no hubiera devolvería el id en 0. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocperiodid
optional number(required)Identificador de la evaluación del período crítico
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1, // 0 si no está creado
"notes": "",
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
"timetable": [
{
"name": "Nombre del Horario",
"from": "23:45",
"to": "23:54"
},
...
],
"days": {
"mon": 2,
"tue": 2,
"wed": 2,
"thu": 2,
"fri": 2,
"sat": 2,
"sun": 2
},
"months": {
"jan": 2,
"feb": 2,
"mar": 2,
"apr": 2,
"may": 2,
"jun": 2,
"jul": 2,
"aug": 2,
"sep": 2,
"oct": 2,
"nov": 2,
"dec": 2
},
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
"scale": [ // parámetro EVALPROC_SCALEIMPACT
{
"dsc": "Bajo",
"value": "1"
},
...
]
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/evalprocesses/{evalprocessid}/periods/{evalprocperiodid}
Actualiza o Incluye un registro de un perído crítico de una evaluación de procesos. (Si el evalprocperiodid es 0 se incluye). (priv 201 MOD Y 202 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocperiodid
optional number(required)Identificador de la evaluación del período crítico
Headers
Content-Type: application/jsonBody
{
"notes": "",
"timetable": "[{'name':'Horario UNO','from':'23:40','to':'23:50'},...]",
"d1evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"d2evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"d3evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"d4evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"d5evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"d6evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"d7evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m1evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m2evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m3evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m4evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m5evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m6evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m7evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m8evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m9evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m10evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m11evalprocscalepar": 1, // Parámetro EVALPROC_PERIOD
"m12evalprocscalepar": 1 // Parámetro EVALPROC_PERIOD
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Insumos ¶
- Request
- Headers Authentication: Bearer JWT
ListadoGET/evalprocesses/{evalprocessid}/inputs/
Obtiene uno un listado de insumos de una evaluación de procesos en particular. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
"records": [
{
"id": 1,
"name": "Registro UNO",
"dsc": "",
"type": { // INPUT_TYPE
"id": 1,
"name": "Tipo UNO"
},
"unit": {
"id": 1,
"name": "Unidad UNO"
},
"process": {
"id": 1,
"name": "Proceso UNO"
},
},
...
],
"inputtype": [ // Parámetro INPUT_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Insumos ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unaGET/evalprocesses/{evalprocessid}/inputs/{evalprocinpid}
Obtiene un insumo de una evaluación de procesos en particular. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocinpid
optional number(required)Identificador del insumo
200Headers
Content-Type: application/jsonBody
{
"entry":{
"id": 1,
"name": "Registro UNO",
"dsc": "",
"type": { // INPUT_TYPE
"id": 1,
"name": "Tipo UNO"
},
"unit": {
"id": 1,
"name": "Unidad UNO"
},
"process": {
"id": 1,
"name": "Proceso UNO"
},
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/evalprocesses/{evalprocessid}/inputs/{evalprocinpid}
Actualiza o Incluye un insumo de una evaluación de procesos. (Si el evalprocinpid es 0 se incluye). (priv 201 MOD Y 202 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocinpid
optional number(required)Identificador del insumo
Headers
Content-Type: application/jsonBody
{
"evalprocinoid": 1, // Identificador del insumo
"evalproctypepar": "1", // Identificador del tipo de insumo INPUT_TYPE
"name": "Insumo UNO", // Nombre del insumo
"dsc": "", // Descripción (podría requerir codificación)
"unitid": 1, // Identificador de la Unidad Depediente
"processid": 1, // Identificador del Proceso Depediente
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/evalprocesses/{evalprocessid}/inputs/{evalprocinpid}
Eliminar un registro de un insumo. (priv 203)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
- evalprocinpid
optional number(required)Identificador del insumo
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Reportes Regulatorios ¶
- Request
- Headers Authentication: Bearer JWT
Obtener ListadoPOST/evalprocesses/{evalprocessid}/reports
Obtiene el listado de los reportes regulatorios de una evaluación de procesos en particular. el párametro evalprocreportid se ignora, si no hubiera devolvería el id en 0. (priv 200)
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // búsqueda por el nombre, entidad solicitante, frecuencia, penalidad
"assigned": -1, // -1=todos, 1=asignado, 0=sin asignar
"type": 0 // 0=todos
},
"order": 1, // 1=Nombre, 2=entidad solicitate, 3=frecuencia, 4=tipo penalidad (negativo orden descendente)
"offset": 0, // Primer registro a mostrar
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
/// QUITAR >> "selected": [1, 5, 23, 24, ...], // Lista de Reportes seleccionados
"records": [
{
"id": 1, // Identificador del reporte
"selected": true, // indica si el reporte está o no seleccionado para esta evaluación << NUEVO
"name": "Nombre del Horario",
"dsc": "",
"frequency": "",
"penalty": "",
"requester": {
"id": 1,
"name": "Ent Sol. UNO"
}
},
...
],
"types": [ // parámetro REGREPORT_TYPE
{
"dsc": "Tipo UNO",
"value": "1"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Seleccionar Reporte Regulatorio ¶
- Request
- Headers Authentication: Bearer JWT
Seleccionar/DeseleccionarPOST/evalprocesses/{evalprocessid}/reports/set
Incluye y quita los reportes regulatorios de una evaluación de procesos. (priv 201 MOD Y 202 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalprocessid
required number(required)Identificador de la Evaluación de Procesos
Headers
Content-Type: application/jsonBody
{
"action": 1, // 1=seleccionar, 2=deseleccionar
"reportid": 1, // Identificador del reporte a seleccionar/deseleccionar -1=selecciona todos, -2=desselecciona todos
"filter": "", // Si hay una seleccion masiva se filtra por este campo por el nombre, entidad solicitante, frecuencia, penalidad
}201Headers
Content-Type: application/jsonBody
{
"cnt": 1 // número de registros afectados
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Evaluación por Unidades - Recursos y Personas ¶
Procesos relacionados a las evaluaciones por unidades
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/evalunits
Este proceso permite obtener un listado de las evaluaciones por unidades. (Priv 210)
Al invocar este servicio se deben comparar todas las unidades de la campaña recibida en campaignid y sus procesos y se deben insertar en la tabla evalunits en caso de no existir.
Igualmente el listado debe estar filtrado por la unidades que tiene el usuario asignadas
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por nombre de la unidad
"status": 1, // 0=cualquiera, 1=completos, 2=con faltas
"campaignid": 0, // 0=todos. Identificador del la campaña
},
"order": 1, // 1=nombre unidad, 2-3=estatus... (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"unit": {
"id": 1,
"name": "Unidad UNO",
"status": {
"id": 1, 1=Activo, 0=Inactivo
"name": "Activo"
}
},
"status": {
"position": false,
"resource": false
},
},
...
],
"totals": {
"position": "2/3",
"resource": "2/3"
},
"privileges": {
"view": true, // privilegio 210
"update": true, // privilegio 211
"add": true, // privilegio 212
"delete": true // privilegio 213
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Actualizar Estatus ¶
- Request
- Headers Authentication: Bearer JWT
Actualizar EstatusPOST/evalunits/{evalunitid}
Actualiza el estatus de la tabla evalunits según el campo recibido en field. (priv 210)
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Unidades
Headers
Content-Type: application/jsonBody
{
"field": "positionst", // Los valores posibles son: positionst, resourcest
"status": 1, // 1=cerrado/completado, 0=abierto/en progreso
}200Headers
Content-Type: application/jsonBody
{
"status": 1 // devuelve el nuevo estatus asignado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Cargos ¶
- Request
- Headers Authentication: Bearer JWT
ListarGET/evalunits/{evalunitid}/positions
Obtiene un listado de la información de los cargos de una evaluación de unidades en particular. (priv 210)
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Uidades
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
"records": [
{
"id": 1,
"positionid": 1,
"name": "Cargo UNO",
"condition": "",
"note": "",
"quantities": {
"total": 5,
"key": 5,
"ranges": [
{
"id": 1,
"label": "0 a 2 Hrs",
"weight": 1, // 1 para horas, 24 para días
"qty": 0
},
{
"id": 2,
"label": "2 a 4 Hrs",
"weight": 1, // 1 para horas, 24 para días
"qty": 0
},
....
{
"id": 11,
"label": "7+ Días",
"weight": 24, // 1 para horas, 24 para días
"qty": 0
}
]
}
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Cargos ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/evalunits/{evalunitid}/positions/{evalunitposid}
Obtiene uno de los cargos de una evaluación de unidades en particular. (priv 210)
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Unidades
- evalunitposid
optional number(required)Identificador de la evaluación del cargo
200Headers
Content-Type: application/jsonBody
{
"entry": [
{
"id": 1,
"positionid": 1,
"name": "Cargo UNO",
"condition": "",
"note": "",
"quantities": {
"total": 5,
"key": 5,
"ranges": [
{
"id": 1,
"label": "0 a 2 Hrs", // esto es cableado, or ahora
"qty": 0
},
{
"id": 2,
"label": "2 a 4 Hrs", // esto es cableado, or ahora
"qty": 0
},
....
{
"id": 11,
"label": "7+ Días",
"weight": 24, // 1 para horas, 24 para días
"qty": 0
}
]
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/evalunits/{evalunitid}/positions/{evalunitposid}
Actualiza o Incluye un registro de un cargo de una evaluación de unidades. (Si el evalunitpos es 0 se incluye). (priv 211 MOD Y 212 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Unidades
- evalunitposid
optional number(required)Identificador de la evaluación del cargo
Headers
Content-Type: application/jsonBody
{
"positionid": 1, // Identificador del cargo
"condition": "",
"note": "",
"qtytotal": 5,
"qtykey": 5,
"range01": 0, // de 0 a 2 hrs
"range02": 0, // de 2 a 4 hrs
...
"range11": 0, // 7+ Dias
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/evalunits/{evalunitid}/positions/{evalunitposid}
Eliminar un registro de un cargo. (priv 213)
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Unidades
- evalunitposid
optional number(required)Identificador de la evaluación del cargo
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Recursos ¶
- Request
- Headers Authentication: Bearer JWT
ListarGET/evalunits/{evalunitid}/resources
Obtiene un listado de la información de los recursos de una evaluación de unidades en particular. (priv 210)
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Unidades
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"status": {
"id": 1, // 0 = Abierta y 1 = Cerrada
"name": "Cerrada"
},
"records": [
{
"id": 1,
"resourceid": 1,
"name": "Regurso UNO",
"condition": "",
"note": "",
"quantities": {
"total": 5,
"key": 5,
"ranges": [
{
"id": 1,
"label": "0 a 2 Hrs",
"weight": 1, // 1 para horas, 24 para días
"qty": 0
},
{
"id": 2,
"label": "2 a 4 Hrs",
"weight": 1, // 1 para horas, 24 para días
"qty": 0
},
....
{
"id": 11,
"label": "7+ Días",
"weight": 24, // 1 para horas, 24 para días
"qty": 0
}
]
}
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de Recursos ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/evalunits/{evalunitid}/resources/{evalunitresid}
Obtiene uno de los recursos de una evaluación de unidades en particular. (priv 210)
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Unidades
- evalunitresid
optional number(required)Identificador de la evaluación del recurso
200Headers
Content-Type: application/jsonBody
{
"entry": [
{
"id": 1,
"resourceid": 1,
"name": "Recurso UNO",
"condition": "",
"note": "",
"quantities": {
"total": 5,
"key": 5,
"ranges": [
{
"id": 1,
"label": "0 a 2 Hrs", // esto es cableado, or ahora
"qty": 0
},
{
"id": 2,
"label": "2 a 4 Hrs", // esto es cableado, or ahora
"qty": 0
},
....
{
"id": 11,
"label": "7+ Días",
"weight": 24, // 1 para horas, 24 para días
"qty": 0
}
]
}
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/evalunits/{evalunitid}/resources/{evalunitresid}
Actualiza o Incluye un registro de un recurso de una evaluación de unidades. (Si el evalunitpos es 0 se incluye). (priv 211 MOD Y 212 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Unidades
- evalunitresid
optional number(required)Identificador de la evaluación del recurso
Headers
Content-Type: application/jsonBody
{
"resourceid": 1, // Identificador del recurso
"condition": "",
"note": "",
"qtytotal": 5,
"qtykey": 5,
"range01": 0, // de 0 a 2 hrs
"range02": 0, // de 2 a 4 hrs
...
"range11": 0, // 7+ Dias
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/evalunits/{evalunitid}/resources/{evalunitresid}
Eliminar un registro de un recurso. (priv 213)
Example URI
- evalunitid
required number(required)Identificador de la Evaluación de Unidades
- evalunitresid
optional number(required)Identificador de la evaluación del recurso
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Cobertura de Procesos ¶
Procesos relacionados a las Coberturas de procesos
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/coverageprocesses
Este proceso permite obtener un listado de las Coberturas por procesos. (Priv 340)
Al invocar este servicio se deben incluir en la tabla coverageprocesses las estrategias detalladas filtrando por la unidades asociadas al usuario
strategiesdetunits > strategiesdet > strategiesdetprocesses
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por nombre de la estrategia detallada, nombre del proceso y nombre de la unidad
"status": 1, // 0=cualquiera, 1=completos, 2=con faltas
},
"order": 1, // 1=Unidad, 2=Proceso, 3=Estrategia (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"unit": {
"id": 1,
"name": "Unidad UNO",
"deleted": true,
"status": 1
},
"process": {
"id": 1,
"name": "Proceso UNO",
"deleted": true,
"status": 1
},
"strategydet": {
"id": 1,
"name": "Estrategia Detallada UNO",
"status": 1 // 1=Activo, 0=Inactivo
},
"evaluations": {
"cnt": 5,
"completed": true // si todas las evaluaciones están cerradas
}
},
...
],
"privileges": {
"view": true, // privilegio 340
"update": true, // privilegio 341
"add": true, // privilegio 342
"delete": true // privilegio 343
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Evaluaciones ¶
- Request
- Headers Authentication: Bearer JWT
ListarGET/coverageprocesses/{coverageprocessid}/history
Obtiene un listado de la información de las evaluaciones (historia) de una cobertura por procesos en particular ordenada por fecha descendentemente. (priv 340)
Example URI
- coverageprocessid
required number(required)Identificador de la CObertura por Procesos
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"unit": {
"id": 1,
"name": "Unidad UNO",
"deleted": true,
"status": 1
},
"process": {
"id": 1,
"name": "Proceso UNO",
"deleted": true,
"status": 1
},
"strategydet": {
"id": 1,
"name": "Estrategia Detallada UNO",
"status": 1 // 1=Activo, 0=Inactivo
},
"records": [
{
"id":1, //coverageprocesshistoryid
"date": "2025-12-24",
"state": {
"id": 1,
"name": "Diseñada"
},
"status": {
"id": 0, // 0=en progreso, 1=Completado
"name": "En Progreso"
},
"coverage": { // Parámetro COVERAGE_LEVEL
"id": 1,
"name": "Aceptable"
},
"dsc": "",
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de evaluaciones - Historia ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/coverageprocesses/{coverageprocessid}/history/{coverageprocesseshistoryid}
Obtiene una de las evaluaciones (historia) de una cobertura por procesos en particular. (priv 340)
Example URI
- coverageprocessid
required number(required)Identificador de la Cobertura por Procesos
- coverageprocesseshistoryid
optional number(required)Identificador de la evaluación de la cobertura por procesos
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"date": "2025-12-24",
"state": {
"id": 1,
"name": "Diseñada"
},
"status": {
"id": 0, // 0=en progreso, 1=Completado
"name": "En Progreso"
},
"coverage": { // Parámetro COVERAGE_LEVEL
"id": 1,
"name": "Aceptable"
},
"dsc": "",
},
"levels": [ // parámetro COVERAGE_LEVEL
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"states": [ // parámetro COVERAGE_STATES
{
"dsc": "Diseñada",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/coverageprocesses/{coverageprocessid}/history/{coverageprocesseshistoryid}
Actualiza o Incluye un registro de una evaluación (historia) de una cobertura por procesos. (Si el coverageprocesseshistoryid es 0 se incluye). (priv 341 MOD Y 342 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- coverageprocessid
required number(required)Identificador de la Cobertura por Procesos
- coverageprocesseshistoryid
optional number(required)Identificador de la evaluación de la cobertura por procesos
Headers
Content-Type: application/jsonBody
{
"date": "2025-01-01",
"status": 0,
"coveragestatepar": "1", // parámetro COVERAGE_STATE
"coveragelevelpar": "1", // parámetro COVERAGE_LEVEL
"dsc": "",
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/coverageprocesses/{coverageprocessid}/history/{coverageprocesseshistoryid}
Eliminar un registro de un cargo. (priv 343)
Example URI
- coverageprocessid
required number(required)Identificador de la Cobertura por Procesos
- coverageprocesseshistoryid
optional number(required)Identificador de la evaluación de la cobertura por procesos
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Cobertura de Aplicaciones ¶
Procesos relacionados a las Coberturas de aplicaciones
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/coverageapps
Este proceso permite obtener un listado de las Coberturas por aplicacioneS. (Priv 350)
Al invocar este servicio se deben incluir en la tabla coverageapps las estrategias detalladas con apliaciones asociadas
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por nombre de la estrategia detallada, nombre de la aplicación
"status": 1, // 0=cualquiera, 1=completos, 2=con faltas
},
"order": 1, // 1=Aplicación, 2=Estrategia (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"application": {
"id": 1,
"name": "Aplicación UNO"
},
"strategydet": {
"id": 1,
"name": "Estrategia Detallada UNO",
"status": 1 // 1=Activo, 0=Inactivo
},
"evaluations": {
"cnt": 5,
"completed": true // si todas las evaluaciones están cerradas
}
},
...
],
"privileges": {
"view": true, // privilegio 350
"update": true, // privilegio 351
"add": true, // privilegio 352
"delete": true // privilegio 353
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Evaluaciones ¶
- Request
- Headers Authentication: Bearer JWT
ListarGET/coverageapps/{coverageappid}/history
Obtiene un listado de la información de las evaluaciones (historia) de una cobertura por aplicaciones en particular ordenada por fecha descendentemente. (priv 350)
Example URI
- coverageappid
required number(required)Identificador de la Cobertura por Aplicacione
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"application": {
"id": 1,
"name": "Aplicación UNO"
},
"strategydet": {
"id": 1,
"name": "Estrategia Detallada UNO",
"status": 1 // 1=Activo, 0=Inactivo
},
"records": [
{
"id":1, //coverageappshistoryid
"date": "2025-12-24",
"state": {
"id": 1,
"name": "Diseñada"
},
"status": {
"id": 0, // 0=en progreso, 1=Completado
"name": "En Progreso"
},
"coverage": { // Parámetro COVERAGE_LEVEL
"id": 1,
"name": "Aceptable"
},
"dsc": "",
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de evaluaciones - Historia ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/coverageapps/{coverageappid}/history/{coverageappshistoryid}
Obtiene una de las evaluaciones (historia) de una cobertura por aplicaciones en particular. (priv 340)
Example URI
- coverageappid
required number(required)Identificador de la Cobertura por Aplicación
- coverageappshistoryid
optional number(required)Identificador de la evaluación de la cobertura por aplicación
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"date": "2025-12-24",
"state": {
"id": 1,
"name": "Diseñada"
},
"status": {
"id": 0, // 0=en progreso, 1=Completado
"name": "En Progreso"
},
"coverage": { // Parámetro COVERAGE_LEVEL
"id": 1,
"name": "Aceptable"
},
"dsc": "",
},
"levels": [ // parámetro COVERAGE_LEVEL
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"states": [ // parámetro COVERAGE_STATES
{
"dsc": "Diseñada",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/coverageapps/{coverageappid}/history/{coverageappshistoryid}
Actualiza o Incluye un registro de una evaluación (historia) de una cobertura por aplicaciones. (Si el coverageappshistoryid es 0 se incluye). (priv 351 MOD Y 352 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- coverageappid
required number(required)Identificador de la Cobertura por Aplicación
- coverageappshistoryid
optional number(required)Identificador de la evaluación de la cobertura por aplicación
Headers
Content-Type: application/jsonBody
{
"date": "2025-01-01",
"status": 0,
"coveragestatepar": "1", // parámetro COVERAGE_STATE
"coveragelevelpar": "1", // parámetro COVERAGE_LEVEL
"dsc": "",
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/coverageapps/{coverageappid}/history/{coverageappshistoryid}
Eliminar un registro de un cargo. (priv 353)
Example URI
- coverageappid
required number(required)Identificador de la Cobertura por Aplicación
- coverageappshistoryid
optional number(required)Identificador de la evaluación de la cobertura por aplicación
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Cobertura de Canales ¶
Procesos relacionados a las Coberturas de canales
Colección ¶
- Request
- Headers Authorization: Bearer sessionid
ListarPOST/coveragechannels
Este proceso permite obtener un listado de las Coberturas por canales. (Priv 350)
Al invocar este servicio se deben incluir en la tabla coveragechannes las estrategias detalladas con canales asociadas
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por nombre de la estrategia detallada, nombre del canal
"status": 1, // 0=cualquiera, 1=completos, 2=con faltas
},
"order": 1, // 1=Canal, 2=Estrategia (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // Si el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"channel": {
"id": 1,
"name": "Canal UNO"
},
"strategydet": {
"id": 1,
"name": "Estrategia Detallada UNO",
"status": 1 // 1=Activo, 0=Inactivo
},
"evaluations": {
"cnt": 5,
"completed": true // si todas las evaluaciones están cerradas
}
},
...
],
"privileges": {
"view": true, // privilegio 350
"update": true, // privilegio 351
"add": true, // privilegio 352
"delete": true // privilegio 353
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Listado de Evaluaciones ¶
- Request
- Headers Authentication: Bearer JWT
ListarGET/coveragechannels/{coveragechannelid}/history
Obtiene un listado de la información de las evaluaciones (historia) de una cobertura por canales en particular ordenada por fecha descendentemente. (priv 360)
Example URI
- coveragechannelid
required number(required)Identificador de la Cobertura por canales
200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"canal": {
"id": 1,
"name": "Canal UNO"
},
"strategydet": {
"id": 1,
"name": "Estrategia Detallada UNO",
"status": 1 // 1=Activo, 0=Inactivo
},
"records": [
{
"id":1, //coveragechannelshistoryid
"date": "2025-12-24",
"state": { // Parámetro COVERAGE_STATE
"id": 1,
"name": "Diseñada"
},
"status": {
"id": 0, // 0=en progreso, 1=Completado
"name": "En Progreso"
},
"coverage": { // Parámetro COVERAGE_LEVEL
"id": 1,
"name": "Aceptable"
},
"dsc": "",
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}CRUD de evaluaciones - Historia ¶
- Request
- Headers Authentication: Bearer JWT
Obtener unoGET/coveragechannels/{coveragechannelid}/history/{coveragechannelshistoryid}
Obtiene una de las evaluaciones (historia) de una cobertura por canales en particular. (priv 360)
Example URI
- coveragechannelid
required number(required)Identificador de la Cobertura por Canal
- coveragechannelshistoryid
optional number(required)Identificador de la evaluación de la cobertura por canal
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"date": "2025-12-24",
"state": {
"id": 1,
"name": "Diseñada"
},
"status": {
"id": 0, // 0=en progreso, 1=Completado
"name": "En Progreso"
},
"coverage": { // Parámetro COVERAGE_LEVEL
"id": 1,
"name": "Aceptable"
},
"dsc": "",
},
"levels": [ // parámetro COVERAGE_LEVEL
{
"dsc": "Tipo UNO",
"value": "1"
},
...
],
"states": [ // parámetro COVERAGE_STATES
{
"dsc": "Diseñada",
"value": "1"
},
...
],
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}ActualizarPOST/coveragechannels/{coveragechannelid}/history/{coveragechannelshistoryid}
Actualiza o Incluye un registro de una evaluación (historia) de una cobertura por canales. (Si el coveragechannelshistoryid es 0 se incluye). (priv 361 MOD Y 362 INC)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- coveragechannelid
required number(required)Identificador de la Cobertura por Canal
- coveragechannelshistoryid
optional number(required)Identificador de la evaluación de la cobertura por canal
Headers
Content-Type: application/jsonBody
{
"date": "2025-01-01",
"status": 0,
"coveragestatepar": "1", // parámetro COVERAGE_STATE
"coveragelevelpar": "1", // parámetro COVERAGE_LEVEL
"dsc": "",
}201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del registro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Registro duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}EliminarDELETE/coveragechannels/{coveragechannelid}/history/{coveragechannelshistoryid}
Eliminar un registro de un cargo. (priv 363)
Example URI
- coveragechannelid
required number(required)Identificador de la Cobertura por Canal
- coveragechannelshistoryid
optional number(required)Identificador de la evaluación de la cobertura por canal
201Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del rol eliminado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "No se pudo borrar por alguna razón"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Sistema ¶
Procesos relacionados a el sistema
Colección Parámetros ¶
- Request
- Headers Authorization: Bearer sessionid
paramsPOST/system/params
Este proceso permite obtener un listado de los parámetros (tabla “params”) (Priv 610)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "" // busca por paramname, name, group
},
"order": 1, // 1=grupo y nombre, 2=grupo, 3=nombre (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"numofrecords": 20 // número de registros a mostrar
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"id": 1,
"paramname": "GRUPO_UNO",
"group": "Grupo",
"name": "Parámetro UNO",
"type": 1, // 0=Texto, 1=Entero, 2=Número, 3=Lista, 4=Fecha, 5=Si/No
"value": "cualquier cosa siempre como texto",
"info": "Lorem Ipsum..."
},
...
],
"privileges": {
"view": true, // privilegio XXX
"update": true, // privilegio XXX
}
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Actualizar Parámetros ¶
-
Request
- Headers Authorization: Bearer sessionid
ActualizarPOST/system/params/{parmid}
Actualiza un registro de un parámetro. (priv 611)
Al actualizar se debe hacer un registo en la tabla “audit” Se debe actualizar el campo modifiedat
Example URI
- parmid
required number(required)Identificador del parámetro
Headers
Content-Type: application/jsonBody
{
"value": "valor"
}200Headers
Content-Type: application/jsonBody
{
"id": 1 // identificador del parametro actualizado
}400Headers
Content-Type: application/jsonBody
{
"msg": "Llamada al servicio malformado"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Registro no encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Reportes ¶
Procesos para generar los reportes del sistema
Gestión de Continuidad ¶
-
Request
- Headers Authorization: Bearer sessionid
continuityPOST/reports/continuity
Este proceso devuele la inforación necesaria para el reporte continuidad. (priv 500)
Example URI
Headers
Content-Type: application/jsonBody
{
"date": "20250123",
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Reporte de Banco Central de los Trabajadores - 23-Ene-2025"
},
"body": {
"section1": {
"title": "Resumen de Estado del BCM",
"content": {
"inventory": [
{
"name": "Aplicaciones",
"qty": {
"active": 123,
"inactive": 0,
"total": 123
}
},
...
],
"recuperationgaps": [
{
"name": "Cantidad de Canales Fuera de RTO Esperado",
"qty": 123
},
...
],
"drpstrategies": [
{
"label": "Con DRP",
"value": 60
},
{
"label": "Sin DRP",
"value": 40
}
],
"bcpstrategies": [
{
"label": "Con BCP",
"value": 60
},
{
"label": "Sin BCP",
"value": 40
}
],
"drpcoverage": [
{
"label": "En Validación",
"value": 35
},
...
],
"bcpcoverage": [
{
"label": "En Validación",
"value": 35
},
...
],
"appteststatus": [
{
"label": "Unitaria",
"items": [
{
"label": "Tipo de Prueba",
"value": 47
},
...
]
},
...
],
}
},
"section2": {
"title": "Resumen de Canales antes de 24 Horas",
"content": {
"channelresume": [
{
"channel": "Banca en Línea",
"type": "Transaccional",
"processes": 16,
"weight": 35,
"realrto": "35 min",
"rto": "30 min"
},
...
],
}
},
"section3": {
"title": "Resumen de Aplicaciones del BCM",
"content": {
"appresume": [
{
"application": "Way 4 Core",
"processes": 8,
"channels": 0,
"type": "Core & Satélites",
"realrto": "35 min",
"rto": "30 min"
},
...
]
}
}
},
"footer": {
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Ranking de Aplicaciones ¶
-
Request
- Headers Authorization: Bearer sessionid
appsrankingPOST/reports/appsranking
Este servicio devuelve la consulta de Ranking de Aplicaciones. (priv 530)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por nombre app
"apptypepar": "", // Tipo de aplicación. ""=Todos
"drptestyesnopar": "", // Posee DRP. ""=Todos
"serviceofferid": 0, //0=cualquiera
},
"order": 1, // 1=nombre, 2=tipo, 3=poser DRP, 4=RTO Min, 5=RTO TI, 6=nro procesos, 7=nro canales (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2]
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"format":2 //1 Listado normal, 2 Salida de reporte csv
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"application": {
"id": 1,
"name": "APlicación UNO"
},
"type": { // APPS_TYPE
"id": 1,
"name": "Ciberseguridad"
},
"drptested":{ // APP_YESNO
"id": 1,
"name": "No"
},
"rto": {
"min": 30,
"ti": 35
},
"processes": [
{
"id": 1,
"name": "Proceso UNO",
"rtomin": 23,
"type": { // parametro PROCESS_TYPE
"id": 1,
"dsc": "Tipo UNO"
},
"operationline": {
"id": 1,
"dsc": "Linea de Operaciones UNO"
}
},
...
],
"channels": [
{
"id": 1,
"name": "Canal UNO",
"type": {
"id": 1,
"name": "Tipo UNO"
},
"rtomin": 23
},
...
]
},
...
],
"apptype": [ // Parámetro APPS_TYPE
{
"dsc": "Ciberseguridad",
"value": "1"
},
...
],
"appyesno": [ // Parámetro APPS_YESNO
{
"dsc": "Sí",
"value": "1"
},
...
],
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Ranking de Canales ¶
-
Request
- Headers Authorization: Bearer sessionid
channelsrankingPOST/reports/channelsranking
Este servicio devuelve la consulta de Ranking de Canales. (priv 540)
Example URI
Headers
Content-Type: application/jsonBody
{
"filters": {
"search": "", // busca por nombre app
"channeltypepar": "", // Tipo de aplicación. ""=Todos
"serviceofferid": 0, //0=cualquiera
},
"order": 1, // 1=nombre, 2=tipo, 3=poser DRP, 4=RTO Min, 5=RTO TI, 6=nro procesos, 7=nro canales (negativos ordenan descendentemente)
"offset": 0, // Primer registro a mostrar [IGNORAR EN FORMATO 2]
"numofrecords": 20 // número de registros a mostrar [IGNORAR EN FORMATO 2] "content": "", // SI el content es distinto de "" incluir acción en la tabla access
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
"format":2 //1 Listado normal, 2 Salida de reporte csv
}200Headers
Content-Type: application/jsonBody
{
"sessionvalidthru": "2024-12-23 23:00",
"numofrecords": 234, // número total de registros
"records": [
{
"channel": {
"id": 1,
"name": "Canal UNO"
},
"type": { // CHANNEL_TYPE
"id": 1,
"name": "Tipo UNO"
},
"weight": {
"value": 35,
"formatted": "35%"
},
"avgtx": {
"value": 1234.56,
"formatted": "1.234,56"
},
"totamt": {
"value": 1234.56,
"formatted": "1.234,56"
},
"customerscnt": {
"value": 1234,
"formatted": "1.234"
},
"rto": {
"min": 30,
"ti": 35,
"delta": 35
},
"processes": [
{
"id": 1,
"name": "Proceso UNO",
"rtomin": 23,
"type": { // parametro PROCESS_TYPE
"id": 1,
"dsc": "Tipo UNO"
},
"operationline": {
"id": 1,
"dsc": "Linea de Operaciones UNO"
}
},
...
],
"applications": [
{
"id": 1,
"name": "Canal UNO",
"type": {
"id": 1,
"name": "Tipo UNO"
},
"drptested":{ // APP_YESNO
"id": 1,
"name": "No"
},
"rtomin": 23
},
...
]
},
...
],
"channeltype": [ // Parámetro CHANNEL_TYPE
{
"dsc": "Tipo Canal UNO",
"value": "1"
},
...
]
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Análisis de Impacto y Continuidad ¶
-
Request
- Headers Authorization: Bearer sessionid
impactPOST/reports/impact
Este proceso devuele la información necesaria para el reporte de análisis de impacto y ranking (priv 520)
Example URI
Headers
Content-Type: application/jsonBody
{
"campaignid": 1,
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Análsis de Impacto y Ranking"
"subtitle": "Formabotella"
},
"body": {
"section1": {
"title": "Descripción de la Campaña",
"content": {
"scoperesume": [
{
"name": "Unidades con evaluaciones",
"qty": 64
},
{
"name": "Cantidad de procesos evaluados",
"qty": 165
},
...
],
}
},
"section2": {
"title": "Resumen de Análisis de Procesos y Unidades",
"content": {
"recoveryprocesses": [
{
"label": "1 Hrs",
"value": 60
},
{
"label": "2 Hrs",
"value": 40
},
...
],
"recoveryexpectation": [
{
"label": "1 Hrs",
"value": 60
},
{
"label": "2 Hrs",
"value": 40
},
...
],
}
},
"section3": {
"title": "Resumen de Canales antes de 24 horas",
"content": {
"channelresume": [
{
"channel": "Canal UNO",
"type": "Tipo UNO",
"processes": 16,
"rto": "30 min"
},
...
]
}
},
"section4": {
"title": "Resumen de Aplicaciones antes de 24 horas",
"content": {
"appsresume": [
{
"application": "Aplicación UNO",
"type": "Tipo UNO",
"channels": 16,
"processes": 16,
"rto": "30 min"
},
...
]
}
},
"section5": {
"title": "Condición de personal y recursos claves",
"content": {
"trending": [
{
"label": "0-4 Hrs",
"value": 60,
"percent": 30
},
{
"label": "4-8 Hrs",
"value": 40,
"percent": 20
},
...
],
"staff": {
"units": [
"Préstamos",
"Créditos Corporativos - Zona Libre",
...
],
"chart": [
{
"label": "Total BBC",
"value": 60
},
{
"label": "Total CHampions",
"value": 40
},
...
]
},
"resources": {
"units": [
"Préstamos",
"Créditos Corporativos - Zona Libre",
...
],
"chart": [
{
"label": "Total BBC",
"value": 60
},
{
"label": "Total CHampions",
"value": 40
},
...
]
},
}
},
"section6": {
"title": "Anexo Resumen por Unidad",
"content": {
"unitpriority": [
{
"unit": "Unidad UNO",
"rto": "1 hora",
"temperature": 1, // color del fondo de 1 a 4
"processes": 16,
"vitalregs": 16,
"persons": 16,
"resources": 16,
"strategies": 16
},
...
],
"staff": [
{
"unit": "Unidad UNO",
"normal": 27,
"0_4H": 15,
"4_8H": 15,
"day1": 15,
"day2": 15,
...
"day7plus": 15
},
...
],
"resources": [
{
"resource": "Recurso UNO",
"normal": 27,
"0_4H": 15,
"4_8H": 15,
"day1": 15,
"day2": 15,
...
"day7plus": 15
},
...
]
}
},
},
"footer": {
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Resumen BIA Proceso ¶
-
Request
- Headers Authorization: Bearer sessionid
biaresumeproPOST/reports/biaresumepro
Este proceso devuele la información necesaria para el reporte de Resumen BIA Proceso (priv 510)
Example URI
Headers
Content-Type: application/jsonBody
{
"campaignid": 1,
"unitid": 1,
"processid": 1
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Resumen BIA Proceso"
},
"body": {
"section1": {
"title": "Procesos",
"content": {
"timetable": [
{
"name": "1",
"from": "15:22",
"to": "15:18"
},
...
],
"rto": {
"qty": 1,
"periodpar": {
"id": 1,
"name": "Días"
},
},
"offer_full": true
}
},
"section2": {
"title": "Impactos Operativos y Financieros",
"content": {
"impacts": [
{
"label": "Exposición Legal",
"value": "Alto"
},
{
"label": "Impacto Financiero",
"value": "Alto"
},
...
]
}
},
"section3": {
"title": "Períodos Sensibles para el proceso",
"content": {
"periods": [
{
"label": "Meses",
"value": "Jul - Sep - Dic"
},
...
]
}
},
"section4": {
"title": "Proveedores",
"content": {
"suppliers": [
{
"label": "Credicard"
},
...
]
}
},
"section5": {
"title": "Recursos Requerido Unidad 1 día",
"content": {
"resources": [
{
"label": "Laptop",
"value": 4
},
{
"label": "Headset",
"value": 2
},
...
]
}
},
"section6": {
"title": "Personal Requerido en Contingencia 1 día",
"content": {
"personnel": [
{
"label": "Oficial",
"value": 2
},
{
"label": "Analista",
"value": 1
},
...
]
}
},
"section7": {
"title": "Aplicaciones Tecnológicas",
"content": {
"apps": [
{
"label": "IBS",
},
{
"label": "Join SAAS",
},
...
]
}
},
"section8": {
"title": "Reportería Regulatoria",
"content": {
"reports": [
{
"label": "Atomo 15 - SBP",
},
...
]
}
},
"section9": {
"title": "Registros Vitales",
"content": {
"records": [
{
"type": "Archivo Digital",
"label": "Carpetas OP/Cuadres",
},
...
]
}
},
},
"footer": {
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Resumen de Unidades por prioridad BCP ¶
-
Request
- Headers Authorization: Bearer sessionid
priorityunitresumebcpPOST/reports/priorityunitresumebcp
Este proceso devuele la información necesaria para el reporte de Resumen de Unidades por prioridad cuando se selecciona BCP (priv 550)
Example URI
Headers
Content-Type: application/jsonBody
{
"unitid": 1,
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Resumen de Unidades por Prioridad y y Concentración Dependencias"
"customer": "ALIMENTOS LA BRISA",
"user": "Juan Silva",
},
"body": {
"section1": {
"title": "Iformación General para la Unidad",
"content": {
"rto": "2 Hrs",
"processes": 5,
"records": 2,
"suppliers": 0,
"persons": 1,
"resources": 0,
"strategies": 7
},
"section2": {
"title": "Escenarios Tipo Considerados y Estrategias",
"content": [
{
"strategy": {
"scenary": "Provedores",
"name": "Salida de mercado 1",
"detail": [
"Salida de mercado - IBM",
"Salida de mercado - Polar",
...
]
}
},
...
],
"section3": {
"title": "Procesos RTO asociados a las estategias definidas",
"content": [
{
"process": "Atender clientes en caja",
"rto": "2 horas"
},
...
],
"section4": {
"title": "Relación de estrategias por Escenario"
"content": [
{
"strategy": {
"scenary": "Provedores",
"name": "Lineamientos de estrategias generales para proveedores",
"dsc": "......FULL HTML ........",
"detail": [
{
"name": "1. Estrategias Detalladas Relacionadas", // El numero se calcula en el back
"dependency": "CTEA",
"modifiedat": "25/03/2025",
"dsc": "......FULL HTML ........",
}
...
]
}
},
...
]
},
},
"footer": {
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Resumen de Unidades por prioridad DRP ¶
-
Request
- Headers Authorization: Bearer sessionid
priorityunitresumedrpPOST/reports/priorityunitresumedrp
Este proceso devuele la información necesaria para el reporte de Resumen de Unidades por prioridad cuando se selecciona DRP (priv 550)
Example URI
Headers
Content-Type: application/jsonBody
{
"applicationid": 1,
"content": "", // SI el content es distinto de "" incluir acción en la tabla access
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Resumen de Unidades por Prioridad y y Concentración Dependencias"
"customer": "ALIMENTOS LA BRISA",
"user": "Juan Silva",
},
"body": {
"section1": {
"title": "Relación de estrategias de Aplicaciones"
"content": [
{
"strategy": {
"scenary": "Aplicaciones",
"name": "Lineamientos de estrategias generales para proveedores",
"dsc": "......FULL HTML ........",
"detail": [
"name": "1. Estrategias Detalladas Relacionadas", // El numero se calcula en el back
"dependency": "CTEA",
"modifiedat": "25/03/2025",
"dsc": "......FULL HTML ........",
...
]
}
},
...
]
},
},
"footer": {
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Dashboard ¶
Procesos para generar los dashboards del sistema
Estado Pruebas ¶
-
Request
- Headers Authorization: Bearer sessionid
teststatusPOST/dashboard/teststatus
Este proceso devuele la información necesaria para el dashboard Estado de las Pruebas. (priv 700)
Example URI
Headers
Content-Type: application/jsonBody
{
"units": 0, // 0=Todas as unidades, 1=Solo las Unidades a las que el usuario tiene acceso
"apptype": "", // Tipo de aplicación. ""=Todos >> pars APPS_TYPE
"testtype": "", // Tipo de aplicación. ""=Todos >> pars APPS_TESTTYPE
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Estado de Pruebas DRP con Aplicaciones que poseen BIA"
},
"content": [
{
"name": "Fallidas",
"value": {
"number": 14,
"percent": "14%"
}
},
...
],
"filters": {
"apptypes": [ // Parámetro APPS_TYPE
{
"dsc": "Ciberseguridad",
"value": "1"
},
...
],
"drptesttypes": { // APPS_TESTTYPE
"id": 1,
"name": "Unitaria"
}
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Cobertura de Aplicaciones ¶
-
Request
- Headers Authorization: Bearer sessionid
appcoveragePOST/dashboard/appcoverage
Este proceso devuele la información necesaria para el dashboard Cobertura de Aplicaciones. (priv 700)
Example URI
Headers
Content-Type: application/jsonBody
{
"units": 0, // 0=Todas as unidades, 1=Solo las Unidades a las que el usuario tiene acceso
"qty": 24, // default 24
"period": "2", // default "2"
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Cobertura de Aplicaciones con Estrategia DRP"
},
"content": [
{
"name": "Poseen",
"value": {
"number": 18,
"percent": "18%"
}
},
...
],
"filters": {
"periods": [ // Parámetro EVALPROC_PERIOD
{
"dsc": "Horas",
"value": "1"
},
...
],
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Estrategias vs Pruebas DRP ¶
-
Request
- Headers Authorization: Bearer sessionid
appstrategypropPOST/dashboard/appstrategyprop
Este proceso devuele la información necesaria para el dashboard Estrategias vs Pruebas DRP. (priv 700)
Example URI
Headers
Content-Type: application/jsonBody
{
"testtype": "1,2" // Tipo de aplicación. ""=Todos >> pars APPS_TESTTYPE
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Proporción de Aplicaciones con Estrategis DRP con algún tipo de prueba"
},
"content": [
{
"name": "Probadas",
"value": {
"number": 10,
"percent": "100.00"
}
},
{
"name": "No Probadas",
"value": {
"number": 0,
"percent": "0.00"
}
}
],
"filters": [
{
"id": 1,
"name": "Unitaria"
},
...
]
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Expectativas de Cumplimiento RTO ¶
-
Request
- Headers Authorization: Bearer sessionid
rtocompliancespecPOST/dashboard/rtocompliancespec
Este proceso devuele la información necesaria para el dashboard Expectativas de Cumplimiento de RTO. (priv 700)
Example URI
Headers
Content-Type: application/jsonBody
{
"units": 0, // 0=Todas as unidades, 1=Solo las Unidades a las que el usuario tiene acceso
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Expectativas de Cumplimiento de RTO"
},
"content": [
{
"name": "Canales",
"sections": [
{
"label": "Cubierto",
"value": 4
},
{
"label": "No Cubierto",
"value": 6
}
]
},
{
"name": "Aplicaciones",
"sections": [
{
"label": "Cubierto",
"value": 32
},
{
"label": "No Cubierto",
"value": 22
}
]
},
],
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Proporcion con Estrategias BCP ¶
-
Request
- Headers Authorization: Bearer sessionid
bcpstrategiesPOST/dashboard/bcpstrategies
Este proceso devuele la información necesaria para el dashboard Proporcion con Estrategias BCP. (priv 700)
Example URI
Headers
Content-Type: application/jsonBody
{
"units": 0, // 0=Todas as unidades, 1=Solo las Unidades a las que el usuario tiene acceso
"period": "2", // EVALPROC_PERIOD
"qty": 1
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Proporción de procesos con estrategia BCP"
},
"content": [
{
"name": "Con BCP",
"value": {
"number": 5.15,
"percent": "5.15%"
}
},
...
],
"filters": {
"periods": [
{
"value": "2",
"dsc": "Horas"
},
{
"value": "1",
"dsc": "Días"
},
{
"value": "3",
"dsc": "Minutos"
}
]
}
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}Top 10 Aplicaciones con Concentración de Procesos ¶
-
Request
- Headers Authorization: Bearer sessionid
appprocessdisttop10POST/dashboard/appprocessdisttop10
Este proceso devuele la información necesaria para el dashboard Estado de la Campaña. (priv 700)
Example URI
Headers
Content-Type: application/jsonBody
{
"units": 0, // 0=Todas as unidades, 1=Solo las Unidades a las que el usuario tiene acceso
"campaignid": 1, // Por defecto debe traer la campaña activa
}200Headers
Content-Type: application/jsonBody
{
"header": {
"title": "Top 10 de Aplicaciones con Concentración de Procesos"
},
"content": [
{
"list": [
{
"label": "T24",
"value": 47
},
{
"label": "Onbase",
"value": 32
},
{
"label": "Sara",
"value": 22
},
...
]
}
]
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene los privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error interno. Descripción del error"
}