Árvore de páginas

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

WebserviceMétodoObservações
ECMCardIndexService
  • getCardIndexesWithoutApprover
  • updateSimpleCardIndex
  • updateSimpleCardIndexWithDataset
  • updateSimpleCardIndexWithDatasetAndGeneralInfo
  • updateSimpleCardIndexWithRelatedDatasets
  • createSimpleCardIndex
  • createSimpleCardIndexWithDataset
  • createSimpleCardIndexWithDatasetPersisteType
  • createSimpleCardIndexWithRelatedDatasets
  • getCardIndexContent
  • getActiveCardIndex

ECMCardService
  • getCardVersion


ECMColleagueGroupService
  • getColleagueGroupsByColleagueId
  • getColleagueGroup
  • deleteColleagueGroup

ECMColleagueService
  • getColleague
  • colab
  • removeColleague
  • activateColleague

ECMDashBoardService
  • Todos os métodos menos o getUrlEcm que não usa personificação

ECMDatasetService

  • getDataset

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
  • findLastDocumentsByUser

ECMOutstandingService
  • transfer

ECMReportService
  • getReportContent

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
  • transfer

ECMDashBoardService
  • findMyDocumentsOnDemand

ECMColleagueReplacementService

ECMCardIndexService
  • getAttachmentsList
  • getCustomizationEvents
  • getFormDatasets
  • getFormFields

APIs

APIMétodoObservações
/ecm/document
  • /create
  • /createDocument

/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
  • create

/2.0/security
  • changeUserPassword

/2.0/users
  • changeUserPassword

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.

EndpointUsercodeObservaçõ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
  • TaskRest-GET /v2/tasks


DOCUMENT MANAGEMENT - ECM (UTILIZANDO USERCODE)

  • Documents /v2/documents/{id}/users/{userCode}/hits
  • Documents /v2/documents/{id}/users/{userCode}/version/{version}/hits

Datasets

  • Document
  • Colleague

Chamadas de datasets que usem:

  • CardIndexDataset
  • MetaListDataset