Saltar al contenido principal

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.