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.inUse—truepara 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.