Objetivo
O objetivo deste guia é apresentar o conceito de personificação, e listar os serviços que receberam o controle de personificação.
Conceito
Personificação é quando uma pessoa executa ações em nome de outra. A plataforma possui serviços (APIs, datasets, webservices) que permitem que o usuário do contexto seja diferente do usuário logado. Por exemplo, o usuário acessa a API de workflow com o id "user1" e chama o método que movimenta uma solicitação workflow. Porém esse método tem um parâmetro que informa a partir de qual usuário será feita a movimentação, nesse caso pode ser passado o id "user2", possibilitando que o user1 consiga movimentar uma solicitação que está com o user2.
Esse recurso é essencial para automatizar alguns processos, no caso de ter um usuário "Integrador" que movimenta as solicitações atrasadas automaticamente.
Utilização
O recurso de Personificação está disponível no TOTVS Fluig Plataforma a partir da atualização 1.7.1 (Crystal Lake).
É possível controlar de permissões de acesso pelo Painel de controle da plataforma, buscando a seguinte configuração:
- Tipo: Personification
- Nome do recurso: Personificação de usuários
- Permissão: Personificar: Quando ativada, permite executar ações utilizando o ID de outro usuário.
Itens que receberam controle de personificação
Além de ter a permissão liberada, é necessário que o serviço desejado tenha sido implementado com o controle de personificação. Confira a seguir a lista completa de webservices, APIs e datasets que suportam esse recurso:
Services
Webservice | Método | Observações |
---|
ECMCardIndexService | - getCardIndexesWithoutApprover
- updateSimpleCardIndex
- updateSimpleCardIndexWithDataset
- updateSimpleCardIndexWithDatasetAndGeneralInfo
- updateSimpleCardIndexWithRelatedDatasets
- createSimpleCardIndex
- createSimpleCardIndexWithDataset
- createSimpleCardIndexWithDatasetPersisteType
- createSimpleCardIndexWithRelatedDatasets
- getCardIndexContent
- getActiveCardIndex
|
|
ECMCardService | |
|
ECMColleagueGroupService | - getColleagueGroupsByColleagueId
- getColleagueGroup
- deleteColleagueGroup
|
|
ECMColleagueService | - getColleague
- colab
- removeColleague
- activateColleague
|
|
ECMDashBoardService | - Todos os métodos menos o getUrlEcm que não usa personificação
|
|
ECMDatasetService | |
|
ECMDocumentService | - getActiveDocument
- getDocumentContent
- getDocumentVersion
- getDocumentByExternalId
- createSimpleDocument
- findMostPopularDocuments
- findMostPopularDocumentsOnDemand
- deleteDocument
- destroyDocument
- findRecycledDocuments
- restoreDocument
- copyDocumentToUploadArea
- updateSimpleDocument
- moveDocument
- updateGroupSecurityType
- destroyDocumentApproval
- approveDocument
|
|
ECMFavoritesService | - findFavorites
- findFavoritesProcess
- addProcessToFavorites
- addDocumentToFavorites
- removeFavoriteDocument
- removeFavoriteProcess
- isFavoriteDocument
|
|
ECMKnowledgeService | |
|
ECMOutstandingService | |
|
ECMReportService | |
|
ECMSearchDocumentServiceService | - searchDocuments
- searchFavoritesDocuments
- advancedSearchDocuments
- advancedSearchDocumentsWithMetadata
|
|
ECMWorkflowEngineService | - cancelInstance
- cancelInstanceByReplacement
- calculateDeadLineHours
- calculateDeadLineTime
- getAttachments
- getAvailableProcess
- getAvailableProcessOnDemand
- getCardValue
- getInstanceCardDataResponse
- startProcess
- startProcessClassic
- saveAndSendTask
- saveAndSendTaskByReplacement
- saveAndSendTaskClassic
- searchProcess
- setAutomaticDecisionClassic
- takeProcessTask
- takeProcessTaskByReplacement
- setTasksComments
- createWorkFlowProcessVersion
- releaseProcess
- getHistories
- getActualThread
- getAllActiveStates
- getAvailableStates
- getAvailableUsers
- getAllProcessAvailableToExport
- getAllProcessAvailableToImport
- getAvailableUsersStart
- getAvailableUsersStartOnDemand
- getProcessFormId
- getWorkFlowProcessVersion
|
|
ECMOutstandingService | |
|
ECMDashBoardService | |
|
ECMColleagueReplacementService |
|
|
ECMCardIndexService | - getAttachmentsList
- getCustomizationEvents
- getFormDatasets
- getFormFields
|
|
APIs
API | Método | Observações |
---|
/ecm/document | |
|
/2.0/documents | - createDocument
- createPrivateDocument
- updateFile
|
|
/v2/documents | - (PATCH) /{id}/users/{userCode}/hits
- (PATCH) /{id}/users/{userCode}/version/{version}/hits
|
|
/2.0/favorites | - findFavoritesDocuments/{colleagueId}/
- findFavoritesProcess/{colleagueId}/
|
|
/2.0/folderdocuments | |
|
/2.0/security | |
|
/2.0/users | |
|
hAPI | - publishWorkflowAttachment
|
|
Endpoints
Veja a seguir quais os endpoints que recebem personificação:
- Content Management, que envolve a parte ECM/Documentos.
- Process Management, que envolve a parte de BPM/Processos.
Para consultar as APIs disponíveis, acesse aqui.
Endpoint | Usercode | Observações |
---|
Process | - ProcessRest-GET /v2/processes/{processId}/activities
- ProcessRest-GET /v2/processes/{processId}/process-versions/{processVersion}/activities
- ProcessRest-GET /v2/processes/{processId}/process-versions/{processVersion}/requests
- ProcessRest-GET /v2/processes/{processId}/process-versions/{processVersion}/requests/tasks
- ProcessRest-GET /v2/processes/{processId}/requests
- ProcessRest-GET /v2/processes/{processId}/requests/tasks
- ProcessRest-GET /v2/processes/{processId}/requests/tasks/resume
- ProcessRest-POST /start
|
|
Request | - RequestRest-GET /v2/requests/{processInstanceId}/tasks
- RequestRest-GET /v2/requests/{processInstanceId}/possible-assignees
- RequestRest-POST /v2/requests/{processInstanceId}/move
- RequestRest-GET /v2/requests/{processInstanceId}/histories
- RequestRest-GET /v2/requests/{processInstanceId}/attachments/{attachmentSequence}/download
- RequestRest-GET /v2/requests/{processInstanceId}/attachments/download
- RequestRest-GET /v2/requests/{processInstanceId}
- RequestRest-GET /v2/requests/{processInstanceId}/activities
- RequestRest-GET /v2/requests/{processInstanceId}/attachments
|
|
Activities | - ActivityRest-GET /v2/activities
|
|
Tasks | |
|
DOCUMENT MANAGEMENT - ECM (UTILIZANDO USERCODE)
- Documents /v2/documents/{id}/users/{userCode}/hits
- Documents /v2/documents/{id}/users/{userCode}/version/{version}/hits
Datasets
Chamadas de datasets que usem:
- CardIndexDataset
- MetaListDataset