Saltar al contenido principal

CasePrimaryLevelModule

Módulo para la gestión de Niveles Primarios (Primary Levels) en Shori.

Permite consultar, crear y buscar niveles primarios, así como obtener los estados de trabajo asociados a un nivel específico.

Ejemplo de uso

ShoriClient client = ShoriClient.builder()
.environment(ShoriEnvironment.PROD)
.portalId("portal-id")
.tenantId("tenant-id")
.apiKey("api-key")
.build();

PrimaryLevelResponse response =
client.caso()
.primaryLevel()
.findById("primary-level-documentId");

Metodos

findById(String primaryLevelId)

Obtiene la información detallada de un Nivel Primario.

Retorna toda la configuración asociada al nivel primario, incluyendo niveles secundarios, estados de trabajo, campos de datos y configuraciones relacionadas.

Endpoint consumido:

GET /v3/primarylevel?primaryLevelId={primaryLevelId}

Ejemplo

PrimaryLevelResponse level =
client.caso()
.primaryLevel()
.findById("a8c3f770-f87c-41ef-b8fc-9c88d78eab12");

System.out.println(level.getName());

Parametros:

  • primaryLevelId — Identificador único del nivel primario.

Retorna: Información completa del nivel primario encontrado.


update(UpdatePrimaryLevelRequest request)

Actualiza la información de un servicio (Primary Level) existente.

Endpoint consumido:

PUT /v3/primarylevel

Ejemplo

client.caso().primaryLevel().update(
UpdatePrimaryLevelRequest.builder()
.primaryLevelId("servicio-uuid")
.name("Soporte Técnico")
.description("Servicio de soporte técnico")
.timezone("America/Lima")
.build()
);

Parametros:

  • request — Datos del servicio a actualizar.

create(PrimaryLevelCreateRequest request)

Crea un nuevo Nivel Primario en Shori.

Permite registrar un nivel primario indicando su nombre, descripción y configuración básica requerida por la plataforma.

Endpoint consumido:

POST /v3/primarylevel

Ejemplo

PrimaryLevelResponse created =
client.caso()
.primaryLevel()
.create(
PrimaryLevelCreateRequest.builder()
.name("Atención al Cliente")
.description("Nivel principal de atención")
.build()
);

System.out.println(created.getPrimaryLevelId());

Parametros:

  • request — Datos necesarios para la creación del nivel primario.

Retorna: Nivel primario creado con la información persistida.


getWorkingSubstates(String primaryLevelId, boolean inUse)

Obtiene los working substates de un servicio por su UUID.

Endpoint consumido:

GET /v3/primarylevel/workingSubstatesPrimaryLevel?primaryLevelId={id}&inUse={inUse}

Ejemplo

List substates =
client.caso().primaryLevel().getWorkingSubstates("servicio-uuid", true);
substates.forEach(s -> System.out.println(s.getName()));

Parametros:

  • primaryLevelId — UUID del servicio.
  • inUsetrue para filtrar solo los que están en uso.

Retorna: Lista de working substates del servicio.


updateWorkingSubstates(UpdateWorkingSubstatesPrimaryLevel request)

Crea o actualiza los working substates de un servicio.

Endpoint consumido:

PUT /v3/primarylevel/workingSubstatesPrimaryLevel

Ejemplo

List updated =
client.caso().primaryLevel().updateWorkingSubstates(
UpdateWorkingSubstatesPrimaryLevel.builder()
.primaryLevelId("servicio-uuid")
.workingSubStatePrimaryLevels(List.of(
WorkingSubstatesPrimaryLevelRequest.builder()
.name("En revisión").active(true).build()
))
.build()
);

Parametros:

  • request — UUID del servicio y lista de working substates a crear/actualizar.

Retorna: Lista actualizada de working substates.


updateCasoDataField(UpdateCasoDataFieldPrimaryLevelRequest request)

Actualiza los campos de datos de negocio (caso data fields) de un servicio.

Endpoint consumido:

PUT /v3/primarylevel/caso_data_field

Parametros:

  • request — UUID del servicio y campos a actualizar.

deactivateWorkingSubstates(String workingSubStatesPrimaryLevelId)

Desactiva un working substate de un servicio por su UUID.

Endpoint consumido:

POST /v3/primarylevel/workingSubstatesPrimaryLevel/deactivate?workingSubStatesPrimaryLevelId={id}

Parametros:

  • workingSubStatesPrimaryLevelId — UUID del working substate a desactivar.

activateWorkingSubstates(String workingSubStatesPrimaryLevelId)

Activa un working substate de un servicio por su UUID.

Endpoint consumido:

POST /v3/primarylevel/workingSubstatesPrimaryLevel/activate?workingSubStatesPrimaryLevelId={id}

Parametros:

  • workingSubStatesPrimaryLevelId — UUID del working substate a activar.

deactivate(String primaryLevelId)

Desactiva un servicio por su UUID.

Endpoint consumido:

POST /v3/primarylevel/deactivate?primaryLevelId={id}

Parametros:

  • primaryLevelId — UUID del servicio a desactivar.

activate(String primaryLevelId)

Activa un servicio por su UUID.

Endpoint consumido:

POST /v3/primarylevel/activate?primaryLevelId={id}

Parametros:

  • primaryLevelId — UUID del servicio a activar.

search(PrimaryLevelFilter filter)

Realiza una búsqueda paginada de Niveles Primarios.

Permite consultar niveles primarios aplicando filtros dinámicos sobre los campos soportados por la API de Shori.

Los filtros de tipo IN son completados automáticamente antes de ejecutar la búsqueda.

Endpoint consumido:

POST /v3/primarylevel/search

Ejemplo

PrimaryLevelSearchResponse result =
client.caso()
.primaryLevel()
.search(
PrimaryLevelFilter.builder()
.name(FilterOperator.LIKE, "Cliente")
.active(FilterOperator.EQ, true)
.page(1)
.pageSize(20)
.build()
);

System.out.println(result.getCount());

Parametros:

  • filter — Criterios de búsqueda y paginación.

Retorna: Resultado paginado con los servicios encontrados.