Loading
Assicurazioni
InsQuoteService:invokeRules

InsQuoteService:invokeRules

Utilizzare questo servizio per invocare le regole di transizione tra stati associate a una transizione tra stati di destinazione in un preventivo di destinazione.

Se le regole soddisfano i criteri di transizione, questo servizio esegue le azioni associate alla transizione, se si desidera registra i risultati delle esecuzioni delle regole e trasferisce il preventivo di destinazione al nuovo stato.

Nota
Nota

Prima dell'esecuzione di questo servizio, il sistema esegue un controllo utente guest.

Questo servizio può essere utilizzato dagli utenti guest. Un utente guest che esegue un'operazione OmniScript, Procedura di integrazione o interfaccia utente potrà continuare; questo servizio verrà eseguito. Tuttavia, i quoteId e i opportunityId sono crittografati in questi casi, quindi gli utenti guest non possono visualizzare questi ID.

Classe: InsQuoteService

Metodo: invokeRules

Funzionamento

  1. Questo servizio recupera l'oggetto specificato dall'opzione quoteId.

  2. In base al tipo di oggetto, allo stato corrente dell'oggetto e all'opzione toState, viene determinata la transizione dello stato di destinazione.

  3. Dalle azioni transizione stato, regole transizione stato e regole transizione stato, le regole prodotto vengono recuperate ed eseguite.

  4. Se le regole di transizione tra stati soddisfano i criteri di completamento della transizione specificati nella transizione tra stati, l'oggetto viene trasferito a toState.

    Se alla transizione di stato è associata un'azione, tale azione viene eseguita.

    Se i criteri di completamento della transizione non sono soddisfatti, l'oggetto viene trasferito allo stato alternativo specificato nella transizione di stato, se esistente. Se la transizione di stato non ha uno stato alternativo, l'oggetto mantiene lo stato corrente.

  5. Se è specificata l'opzione logResults, vengono registrati i risultati di ogni regola e il risultato della transazione dell'oggetto (esito positivo o negativo).

Opzioni remote

Opzione

Descrizione

quoteID

Obbligatorio.

Il QuoteId o il QuoteId crittografato se la richiesta è per un cliente o un utente guest.

toState

Obbligatorio

Provincia in cui spostare il preventivo target in base ai criteri di transizione provincia

lastDefaultState

Facoltativo

Nome dell'ultimo stato predefinito del preventivo target

invokeStateTransitionRules

Facoltativo

true Utilizza per invocare le regole di transizione tra stati. Questa è l'impostazione predefinita.

false Utilizzare se non si desidera invocare regole di transizione tra stati.

invokeProductRules

Facoltativo

true Utilizza per invocare le regole prodotto. Questa è l'impostazione predefinita.

false Utilizzare se non si desidera invocare le regole del prodotto.

invokeActionType

Facoltativo

Se specificato, indica il tipo di azioni da invocare se i criteri sono soddisfatti. L'impostazione predefinita è predefinita.

default Esegui solo le azioni predefinite associate alla transizione tra stati

tutti Esegui tutte le azioni associate alla transizione tra stati

none Non invocare alcuna azione associata alla transizione tra stati

actionScope

Facoltativo

Se specificato, indica se le azioni invocate devono essere definite nella versione corrente del modello di stato o in qualsiasi versione del modello di stato. L'impostazione predefinita è versione.

versione Esegui solo azioni associate alla versione corrente del modello di stato

qualsiasi azione Esegui associata a qualsiasi versione del modello di stato

logResults

Facoltativo

true Utilizza per registrare i risultati. Questa è l'impostazione predefinita.

false Utilizzare se non si desidera registrare i risultati.

fromNoneState

Facoltativo

true Object sta passando dallo stato Nessuno.

false Oggetto non è in transizione da Nessuno stato. Questa è l'impostazione predefinita.

Input JSON

L'esempio seguente mostra il JSON di input di esempio.

{ 
    "quoteId": "02i3h0000009OqCAAU",
    "toState": "Review",
    "lastDefaultState": "Draft",
    "invokeStateTransitionRules": true,
    "invokeProductRules": true,
    "invokeActionType": "draft",
    "actionScope": "version",
    "logResults": true,
    "fromNoneState": false
}

JSON di output

L'esempio seguente mostra il JSON di output di esempio.

{  
    "transition": true,
    "transitedState": "Review",
    "stateTransitionRules": {
        "result": true,
        "ruleDetails": [{
            "result": true,
            "conditions": "Quote.Status == 'Draft'",
            "name": "Status is Draft",
            "ruleId": "a5Q6g0000005vSPEAY",
            "transitionName": "Draft > Review",
            "objId": "02i3h0000009OqCAAU"
        }, {
            "result": false,
            "conditions": "Quote.Name == 'Test'",
            "name": "Name is Test",
            "ruleId": "a5Q6g0000005vSPEAZ",
            "transitionName": "Draft > Review",
            "objId": "02i3h0000009OqCAAU"
        }]
    },
    "productRules": {
        "allFalse": false,
        "trueRules": {
            "Quote": [{
                "ruleDetails": {
                    "ruleId": "a5Q6g0000005vSPEBX",
                    "objectId": "02i3h0000009OqCAAU",
                    "transitionName": "Draft > Review",
                    "productId": "01t6g000000RzFAAA0",
                    "action class": null,
                    "action method": null,
                    "message": "Name is not blank",
                    "conditions": "Quote.Name != ''",
                    "requirement name": "Name is not blank"
                } 
            }]
        },
        "falseRules": {
            "Quote": [{
                "ruleDetails": {
                    "ruleId": "a5Q6g0000005vSPEBX",
                    "objectId": "02i3h0000009OqCAAU",
                    "transitionName": "Draft > Review",
                    "productId": "01t6g000000RzFAAA0",
                    "action class": null,
                    "action method": null,
                    "message": "Name is blank",
                    "conditions": "Quote.Name == ''",
                    "requirement name": "Name is blank"
                } 
            }]
        }
    }
}

Descrizione risultato

risultato Risultato generale delle regole eseguite. Se true, l'oggetto di destinazione viene trasferito a toState. Se false, lo stato di destinazione rimane lo stesso o passa allo stato alternativo definito nella transizione di stato.

ruleDetails Elenco delle regole eseguite e dei relativi risultati

Questo JSON include queste coppie chiave/valore:

Chiave

Valore

conditions

Condizione regola

name

Nome della regola

objId

ID oggetto per cui sono state eseguite le regole

Risultato

Risultato della valutazione della condizione regola rispetto al preventivo target

ruleId

ID regola

transitionName

Nome della transizione associata alla regola

 
Caricamento
Salesforce Help | Article