Skip to main content

6.6. Flujo consulta listado

Este documento actualiza el servicio legacy listado (sin request) que devolvía un catálogo tipo:

{
"ResultCollection": [
{ "f_id": 14056146, "f_desc": "No cuenta con sello" },
{ "f_id": 14056147, "f_desc": "Sello revisado - coincide y bien colocado" },
{ "f_id": 14056148, "f_desc": "Sello revisado - coincide y mal colocado" },
{ "f_id": 14056149, "f_desc": "Sello revisado - no coincide y bien colocado" },
{ "f_id": 14056150, "f_desc": "Sello revisado - no coincide y mal colocado" },
{ "f_id": 14056151, "f_desc": "Sello revisado - se encuentra roto" }
]
}

y lo mapea al nuevo endpoint, además del mapeo a tablas de catálogo en BD.


1) Nuevo servicio equivalente

Servicio: Quality Assurance Service (v1)
Base URL: https://api.alpura.mx/quality/v1
Endpoint: POST /seals/evaluations
Descripción: Devuelve el catálogo de evaluaciones de sellos y/o el resultado de una evaluación según input.

Aunque el legacy no requería cuerpo, el endpoint nuevo requiere un requestBody mínimo con input (puedes enviar "" si solo quieres el catálogo).

1.1 Request (mínimo)

POST /seals/evaluations
Content-Type: application/json

{ "input": "" }

1.2 Response (equivalente al legacy)

{
"o_estatus": "OK",
"o_descripcion": "Catálogo de evaluaciones",
"ResultCollection": [
{ "f_id": 14056146, "f_desc": "No cuenta con sello" },
{ "f_id": 14056147, "f_desc": "Sello revisado - coincide y bien colocado" },
{ "f_id": 14056148, "f_desc": "Sello revisado - coincide y mal colocado" },
{ "f_id": 14056149, "f_desc": "Sello revisado - no coincide y bien colocado" },
{ "f_id": 14056150, "f_desc": "Sello revisado - no coincide y mal colocado" },
{ "f_id": 14056151, "f_desc": "Sello revisado - se encuentra roto" }
]
}

Estas listas suelen residir en tablas de catálogos flexibles (EBS-like). Para este caso, el catálogo de evaluaciones de sellos se modela con:

  • ALP_FND_FLEX_VALUE_SETSconjunto (e.g., SEAL_EVALUATION_CODES)
  • ALP_FND_FLEX_VALUESvalores (IDs/códigos)
  • ALP_FND_FLEX_VALUES_TLtextos/descr. (multilenguaje)

2.1 Mapeo de campos

Campo (API)Tabla.ColumnaDescripción
f_idALP_FND_FLEX_VALUES.FLEX_VALUE_IDIdentificador del valor de catálogo
f_descALP_FND_FLEX_VALUES_TL.DESCRIPTION o FLEX_VALUE_MEANINGDescripción legible (elige uno según tu estándar)
(opcional) códigoALP_FND_FLEX_VALUES.FLEX_VALUECódigo interno del catálogo
(scoping) setALP_FND_FLEX_VALUE_SETS.FLEX_VALUE_SET_NAMENombre del conjunto (e.g., SEAL_EVALUATION_CODES)

Si trabajas con múltiples idiomas, filtra ALP_FND_FLEX_VALUES_TL.LANGUAGE = 'ES' (o el que aplique).


3) SQL de referencia (catálogo de evaluaciones de sellos)

Ajusta :VALUE_SET_NAME al nombre real del conjunto configurado para evaluaciones de sellos.

SELECT
v.FLEX_VALUE_ID AS f_id,
NVL(t.DESCRIPTION, t.FLEX_VALUE_MEANING) AS f_desc,
v.FLEX_VALUE AS codigo
FROM ALP_FND_FLEX_VALUES v
JOIN ALP_FND_FLEX_VALUE_SETS s
ON s.FLEX_VALUE_SET_ID = v.FLEX_VALUE_SET_ID
LEFT JOIN ALP_FND_FLEX_VALUES_TL t
ON t.FLEX_VALUE_ID = v.FLEX_VALUE_ID
WHERE s.FLEX_VALUE_SET_NAME = :VALUE_SET_NAME
AND (t.LANGUAGE = :LANG OR :LANG IS NULL);

Sugerencia de VALUE_SET_NAME: SEAL_EVALUATION_CODES (o el alias que uses actualmente en tu instancia).


5) Diagrama de secuencia