CaseSecondaryLevelModule
Módulo para la gestión de Niveles Secundarios (Secondary Level) en Shori.
Este módulo encapsula las operaciones disponibles para consultar,
crear y buscar niveles secundarios dentro del dominio de casos.
Sigue la misma arquitectura, estilo de documentación y convención
de uso que el módulo CasePrimaryLevelModule.
Responsabilidades del módulo
- Obtener un Secondary Level por su identificador.
- Crear un nuevo Secondary Level.
- Buscar Secondary Levels utilizando filtros y paginación.
Ejemplo de uso:
ShoriClient client = ShoriClient.builder()
.environment(ShoriEnvironment.UAT)
.portalId("portal-id")
.tenantId("tenant-id")
.apiKey("api-key")
.build();
SecondaryLevelResponse response = client
.caso()
.secondaryLevel()
.findById("secondary-level-documentId");
Metodos
findById(String secondaryLevelId)
Obtiene el detalle de un Secondary Level por su identificador.
El identificador debe corresponder a un Secondary Level existente. Si el recurso no existe, la API devolverá el error correspondiente.
Endpoint consumido:
GET /v3/secondarylevel?secondaryLevelId={secondaryLevelId}
Ejemplo
SecondaryLevelResponse level = client
.caso()
.secondaryLevel()
.findById("1c8b9f38-2f1f-4b2f-a2ab-8b6d2c7f0d11");
System.out.println(level.getSecondaryLevelId());
System.out.println(level.getName());
Parametros:
secondaryLevelId— identificador único del secondary level a consultar.
Retorna: detalle completo del secondary level.
create(SecondaryLevelCreateRequest request)
Crea un nuevo Secondary Level.
El cuerpo de la petición debe incluir al menos los datos obligatorios definidos por la API.
Endpoint consumido:
POST /v3/secondarylevel
Ejemplo
SecondaryLevelCreateRequest request = SecondaryLevelCreateRequest.builder()
.name("Nivel Secundario de Atención")
.description("Agrupa subniveles de atención al cliente")
.primaryLevelId("primary-level-documentId")
.active(true)
.build();
SecondaryLevelResponse created = client
.caso()
.secondaryLevel()
.create(request);
System.out.println(created.getSecondaryLevelId());
Parametros:
request— datos necesarios para crear el secondary level.
Retorna: información del secondary level creado.
update(UpdateSecondaryLevelRequest request)
Actualiza la información de un proceso (Secondary Level) existente.
Endpoint consumido:
PUT /v3/secondarylevel
Ejemplo
client.caso().secondaryLevel().update(
UpdateSecondaryLevelRequest.builder()
.secondaryLevelId("proceso-uuid")
.name("Atención al Cliente")
.description("Proceso de atención")
.timezone("America/Lima")
.build()
);
Parametros:
request— Datos del proceso a actualizar.
activate(String secondaryLevelId)
Activa un proceso por su UUID.
Endpoint consumido:
POST /v3/secondarylevel/activate?secondaryLevelId={id}
Ejemplo
client.caso().secondaryLevel().activate("proceso-uuid");
Parametros:
secondaryLevelId— UUID del proceso a activar.
deactivate(String secondaryLevelId)
Desactiva un proceso por su UUID.
Endpoint consumido:
POST /v3/secondarylevel/deactivate?secondaryLevelId={id}
Ejemplo
client.caso().secondaryLevel().deactivate("proceso-uuid");
Parametros:
secondaryLevelId— UUID del proceso a desactivar.
search(SecondaryLevelFilter filter)
Realiza una búsqueda paginada de Secondary Levels.
El filtro permite combinar operadores, paginación y navegación entre páginas.
Antes de ejecutar la búsqueda, el SDK aplica automáticamente el operador
IN a los campos que no especifican operador explícito.
Endpoint consumido:
POST /v3/secondarylevel/search
Ejemplo
SecondaryLevelSearchResponse response = client
.caso()
.secondaryLevel()
.search(
SecondaryLevelFilter.builder()
.name(FilterOperator.LIKE, "Atención")
.primaryLevelName(FilterOperator.EQ, "Casos")
.pageNumber(0)
.pageSize(20)
.build());
System.out.println(response.getCount());
Parametros:
filter— criterios de búsqueda y paginación para secondary levels.
Retorna: resultado paginado con los procesos encontrados.