Gestión API
Evaluación de Reglas y Tablas de Decisión
En esta guía, te mostraremos paso a paso cómo conectarte a nuestros servicios desde tus propias aplicaciones. ¡Vamos a empezar!
1. Generar token de acceso
¡Antes de comenzar, necesitamos obtener un token de acceso para conectarnos con nuestro servicio evaluador! Pero no te preocupes, es muy sencillo. Sigue estos pasos:
-
Ve al menú principal y selecciona la opción "Aplicaciones".
-
Escoge la aplicación con la que deseas generar el token y haz clic en el botón con icono de editar.
-
Se abrirá una ventana emergente donde encontrarás los valores que necesitas. ¡Cópialos y estaremos listos para seguir adelante!
- Client Id
- Client Secret
- Audience: DecisionSenseAPI
- Grant Type: client_credentials
Abre tu Postman o la herramienta que prefieras y generas un nuevo request de tipo post e ingresas la siguiente información:
- Url:
https://sec.decisionsense.io/oauth/token
- Body: ingresas la información que se obtuvo desde el menú aplicaciones.
{
"client_id": "",
"client_secret": "",
"audience": "DecisionSenseAPI",
"grant_type": "client_credentials"
}
Una vez que hayas ejecutado el servicio, recibirás una respuesta. En ella, busca el campo "access_token" y toma nota del contenido que contiene.
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im5ZZkFpRTJad0lTc3VMUGdkM3BYeSJ9.eyJvcmdJZCI6Im9uY2VkZXYiLCJpc3MiOiJodHRwczovGnTdg",
"expires_in": 86398,
"token_type": "Bearer"
}
2. Evaluación Regla
¡Es hora de poner en marcha tus reglas en nuestro API REST Evaluate! Pero primero, necesitamos obtener el Tenant ID desde la aplicación Decision Sense.
En tu postman o la herramienta que prefieras, crea una nueva petición de tipo post e ingresas la siguiente información:
- EndPoint:
https://rl.decisionsense.io/api/app/rule/evaluate
Cabecera:
- Para el campo __tenant obtén el valor desde la sección de Aplicaciones en Decision Sense.
- En el campo de Authorization, asegúrate de escribir "Bearer valor". Puedes encontrar el valor en el campo access_token del servicio que ejecutaste previamente para generar el token de acceso.
Nombre | Tipo | Descripción |
---|---|---|
Authorization* | string | Bearer |
Content-Type* | string | application/json |
__tenant* | string |
Body:
A continuación, envía la estructura que te mostramos:
- Id: Identificador de la regla a evaluar
- TraceId: Identificador único para la evaluación de la regla.
- Values: Se trata de un objeto que contiene los códigos de las entidades y propiedades asociadas a la regla que estás evaluando, junto con el valor asignado a cada uno.
- Nota: Siempre se deben manejar los códigos de entidades y los codigos de las códigos en el request.
Estructura
[
{
"id": {IdRegla},
"traceId": {Guid},
"values": {
"{CódigoEntidad1}": {
"{CódigoPropiedad1}": "{ValorPropiedad1}",
"{CódigoPropiedad2}": "{ValorPropiedad2}",
},
"{CódigoEntidad2}": {
"{CódigoPropiedad1}": "{ValorPropiedad1}",
}
}
}
]
Ejemplo
[
{
"id": 184,
"traceId": "9b0c16fa-1841-4d51-bb93-cdd1f4678920",
"values": {
"CLIENT": {
"AGE": 20
}
}
}
]
Response:
Tiene la siguiente estructura en la cual se identifica:
- Id: Identificador de la regla evaluada.
- Version: Número de versión de la regla.
- TraceId: Identificador unico que fue enviado en el body.
- IsSuccess: Resultado de la evaluación de la regla (true o false).
- ErrorMessage: Mensaje de error si existe error en la evaluación de la regla.
[
{
"id": 184,
"version": 1,
"name": "Regla Mayor Edad",
"traceId": "9b0c16fa-1841-4d51-bb93-cdd1f4678920",
"isSuccess": true,
"errorMessage": ""
}
]
3. Evaluación Tabla de Decisión
Con el servicio API REST Evaluate podremos evaluar las tablas con sus decisiones creadas. Pero antes debemos configurar el postman o la herramienta a elección de la siguiente manera:
Crea una nueva petición de tipo post e ingresas la siguiente información:
- EndPoint:
https://rl.decisionsense.io/api/app/decision-table/evaluate
Cabecera:
- Para el campo __tenant obtén el valor desde la sección de Aplicaciones en Decision Sense.
- En el campo de Authorization, asegúrate de escribir "Bearer valor". Puedes encontrar el valor en el campo access_token del servicio que ejecutaste previamente para generar el token de acceso.
Nombre | Tipo | Descripción |
---|---|---|
Authorization* | string | Bearer |
Content-Type* | string | application/json |
__tenant* | string |
Body:
A continuación, envía la estructura que te mostramos:
- Id: Identificador de la tabla de decisión.
- TraceId: Identificador único para la evaluación de la regla.
- Values: Se trata de un objeto que contiene los códigos de las entidades y propiedades asociadas a la regla que estás evaluando, junto con el valor asignado a cada uno.
- Nota: Siempre se deben manejar los códigos de entidades y los codigos de las códigos en el request.
Estructura
{
{
"id": {Id tabla de decisión},
"traceId": {Guid},
"values": {
"{CódigoEntidad1}": {
"{CódigoPropiedad1}": "{ValorPropiedad1}",
"{CódigoPropiedad2}": "{ValorPropiedad2}",
},
"{CódigoEntidad2}": {
"{CódigoPropiedad1}": "{ValorPropiedad1}",
}
}
}
}
Ejemplo
{
"id": 16,
"traceId": "9b0c16fa-1841-4d51-bb93-cdd1f46789dd",
"values": {
"PROD": {
"PVP": 0,
"NAME": ""
},
"CLIENT": {
"NAME": "PepA",
"AGE": 62
}
}
}
Response:
Tiene la siguiente estructura en la cual se identifica:
- DetailId: Identificador de la decisión de la tabla.
- RuleResult: Es toda la información response relacionada a la regla asociada al detalle de la decisión.
- JsonResponse: Response que se ha configurado por la decisión de la tabla.
- ErrorMessage: Mensaje de error si existe error en la evaluación de la tabla de decisión.
[
{
"detailId": 18,
"ruleResult": {
"id": 153,
"version": 1,
"name": null,
"traceId": "9b0c16fa-1841-4d51-bb93-cdd1f46789dd",
"isSuccess": false,
"errorMessage": "No cumple la regla."
},
"jsonResponse": null,
"errorMessage": null
},
]