Você está aqui:
InsScheduledAutomatedTransitionService:scheduleAutomatedTransition
Use esse serviço para automatizar a transição de estado agendando uma transição de estado de objeto, de um estado de origem para um estado de destino (Estados de Vlocity), usando padrões por hora, diário ou semanal.
Classe: InsScheduledAutomatedTransitionService
Método: scheduleAutomatedTransition
Como funciona
Essa transição é para fluxos de trabalho do Modelo de estado do Vlocity. Não há suporte para padrões de agendamento complexos (a cada dois dias, a cada primeira segunda-feira do mês etc.).
-
Com as entradas objectName e fieldName (e as entradas typeName e typeValue opcionais), a versão específica do modelo de estado do Vlocity que representa o fluxo de trabalho é determinada.
-
Com as entradas fromState e toState, a Transição de estado do Vlocity específica nesse fluxo de trabalho, ou seja, dentro da Versão do modelo de estado do Vlocity da etapa anterior, é determinada. As entradas de agenda fornecem informações sobre com que frequência e quando executar um trabalho agendado do Salesforce que realizaria a transição de estado automatizada, de "fromState" para "toState". Sempre que o trabalho agendado é executado, ele executa estas ações:
-
Recupere até cinco instâncias do tipo representado por "objectName", em que o valor do campo representado por "fieldName" = o valor representado por "fromState". Isso garante que apenas as instâncias de objeto que estão no momento no estado representado pelo "fromState" sejam selecionadas para realizar a transição.
-
Todas as regras de Transição de estado do Vlocity configuradas para a Transição de estado do Vlocity especificada (como determinado na Etapa 2 acima) são executadas.
-
Se o resultado geral da execução da regra (que é controlado pelos Critérios de conclusão da transição definidos na Transição de estado do Vlocity) for verdadeiro, como a execução da regra aprovada, o estado da instância do objeto será atualizado para o estado e representado pelo "toState".
-
Se o resultado geral da execução da regra for falso, ou seja, a execução da regra falhou, o estado da instância do objeto será atualizado para o estado Alternativo configurado na Transição de estado do Vlocity, se existir.
-
Se o estado da instância do objeto for atualizado para um novo estado (o estado "toState" ou o estado Alternativo para a transição especificada), as Ações do Vlocity correspondentes configuradas para esse estado (por exemplo, o campo "Para estado" na Ação do Vlocity) serão executadas.
-
O número de instâncias de objeto cujo estado foi atualizado para "toState" é retornado em "noOfUpdatedRecords". O número de instâncias de objeto cujo estado foi atualizado para o estado Alternativo é retornado em "noOfUpdatedRecordsToAlternateStates".
-
Se nenhuma transição tiver sido realizada, a instância do objeto permanecerá em "fromState".
-
Contribuições
Entrada |
Descrição |
|---|---|
|
Obrigatório. Nome da API do objeto |
|
Obrigatório. Nome da API de campo que hospeda o valor de estado. |
|
Obrigatório. O valor do campo Estado (origin) da transição de estado. |
|
Obrigatório. Valor do campo Estado (alvo) da transição de estado. |
|
Opcional.
|
|
Opcional.
Nota
Por exemplo, com typeName = 'Type__c' e typeValue = 'Provedor individual', um Modelo de estado do Vlocity específico configurado para o objeto Application__c será usado. |
|
Um objeto de mapa que contém chaves |
|
Obrigatório. Valor de string
|
|
Formato: HH:MM, horário militar. Não necessário se |
|
Valor de string. Valores aceitáveis: Os dias também podem ser representados numericamente, de 1 a 7, onde domingo = Obrigatório se |
JSON de entrada
Aqui está um exemplo do JSON de entrada cujo padrão de agenda é semanal às 13h30 todas as segundas-feiras:
{
"objectName":"prefix__Application__c",
"fieldName":"prefix__Status__c",
"fromState":"New",
"toState":"Submitted",
"schedule":{
"pattern":"WEEKLY",
"startTime":"13:30",
"dayOfTheWeek":"MON"
}
}JSON de saída
O JSON de saída mostra o número de registros atualizados (máximo de cinco) e lista quaisquer exceções.
{
"noOfRecordsForProcessing": <Number of records for processing from a search, max=5>,
"noOfUpdatedRecords": <Number of records that have successful 'from state' to 'to state' transition>,
"noOfUpdatedRecordsToAlternateStates": <Number of records that have successful 'from state' to 'alternate state' transition>,
"errors":<Consolidated error mapping between record ID and error detail. This is null when there's no error.>
}
