---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideFlow : client

# GlideFlow : client {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 minutes de lecture

L'API GlideFlow fournit des méthodes pour les interactions côté client avec des actions, des flux et des flux secondaires.

Vous pouvez utiliser cette API n'importe où dans la plateforme qui accepte les scripts clients. L'action, le flux ou le flux secondaire doit être défini comme appelable par le client et disposer d'une ACL valide à l'aide de la fonctionnalité Gérer la sécurité de .Studio de workflow

Certaines des méthodes de l'API GlideFlow renvoient des objets `de promesse` . Une `promesse` représente le résultat final d'une opération asynchrone. Pour plus d'informations sur les promesses, consultez [la documentation Promise - Javascript MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) ou [AngularJS](https://docs.angularjs.org/api/ng/service/$q).  
À l'aide de cette API, vous pouvez :

* Démarrez des actions, des flux ou des flux secondaires via un script.
* Obtenir une exécution existante.
* Obtenez l'état et toutes les sorties disponibles.
* Attendez l'achèvement d'une action, d'un flux ou d'un flux secondaire.
{#GlideFlowAPI__ul_bdk_tf2_xs}

Il n'existe aucun constructeur pour l'API GlideFlow . Accédez aux méthodes GlideFlow à l'aide de l'objet global `GlideFlow` .

## GlideFlow : execution.awaitCompletion() {#ariaid-title2}

Renvoie un objet de complétion pour l'exécution.
{#execution-awaitCompletion__table_bqv_1q2_ffb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 1. Paramètres]

{#execution-awaitCompletion__table_bqv_1q2_ffb} {#execution-awaitCompletion__table_cqv_1q2_ffb__entry__2}

| Type | Description |
|-|-|
| Objet | Objet qui contient les détails de complétion d'un flux ou d'une exécution d'action. |
[Tableau 2. Renvoie]

{#execution-awaitCompletion__table_cqv_1q2_ffb}  
Dans cet exemple, une action est exécutée à l'aide de startAction(), qui renvoie un objet d'exécution. Le code utilise ensuite awaitCompletion() sur cet objet d'exécution, qui renvoie un objet de complétion. Le code utilise cet objet de complétion pour consigner l'état et les sorties au sein de l'exécution.


    (function() {
    	var inputs = {};

    	inputs['input1'] = 'string input'; // String

    	GlideFlow.startAction('global.action_name', inputs)
    		.then(function(execution) {
    			return execution.awaitCompletion();
    		}, errorResolver)
    		.then(function(completion) {
    			var status = completion.status;
    			console.log(status);

    			// Available Outputs:
    			var outputs = completion.outputs;
    			console.log(outputs);
    		}, errorResolver());

    	function errorResolver(error) {
    		// Handle errors in error resolver
    		console.error(error);
    	}
    })();

## GlideFlow : execution.getExecutionStatus() {#ariaid-title3}

Renvoie une chaîne contenant l'état d'exécution de l'exécution en cours.
{#execution-getExecutionStatus__table_utm_jp2_ffb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 3. Paramètres]

{#execution-getExecutionStatus__table_utm_jp2_ffb} {#execution-getExecutionStatus__table_vtm_jp2_ffb__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne contenant l'état d'exécution. |
[Tableau 4. Renvoie]

{#execution-getExecutionStatus__table_vtm_jp2_ffb}  
Dans cet exemple, le code obtient un objet d'exécution à l'aide de la méthode getExecution. La méthode getExecution nécessite un ID, qui est renvoyé par la méthode utilisée pour démarrer l'exécution. Le code utilise ensuite getExecutionStatus() pour déterminer si l'exécution a été terminée avant de continuer.


    // Get an existing action, getStatus, and getOutputs if complete
    (function() {
       GlideFlow.getExecution('mamIN4Q35vmEFe744EwJV5GHrSz8fmJG')
          .then(function(execution) {
             execution.getExecutionStatus().then(
                function(status) {
                   if (status === 'COMPLETE')
                      execution.getOutputs().then(
                         function(outputs) {
                            console.log(outputs);
                         },
                         errorResolver
                      );
                },
                errorResolver
             );
          }, errorResolver);

       function errorResolver(error) {
          // Handle errors in error resolver
          console.error(error);
       }
    })();

## GlideFlow : execution.getOutputs() {#ariaid-title4}

Renvoie un objet de sortie pour l'exécution.
Utilisez cette méthode pour accéder à la sortie générée par l'exécution d'une action, d'un flux ou d'un flux secondaire.
{#execution-getOutputs__table_jsw_f42_ffb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 5. Paramètres]

{#execution-getOutputs__table_jsw_f42_ffb} {#execution-getOutputs__table_ksw_f42_ffb__entry__2}

| Type | Description |
|-|-|
| Objet | Objet contenant les sorties d'une action, d'un flux ou d'un flux secondaire. |
[Tableau 6. Renvoie]

{#execution-getOutputs__table_ksw_f42_ffb}  
Dans cet exemple, le code obtient un objet d'exécution à l'aide de la méthode getExecution. Une fois l'exécution terminée, le code utilise getOutputs() pour renvoyer un objet outputs, qu'il enregistre ensuite à l'aide de la méthode console.log.


    // Get an existing action, getStatus, and getOutputs if complete
    (function() {
       GlideFlow.getExecution('mamIN4Q35vmEFe744EwJV5GHrSz8fmJG')
          .then(function(execution) {
             execution.getExecutionStatus().then(
                function(status) {
                   if (status === 'COMPLETE')
                      execution.getOutputs().then(
                         function(outputs) {
                            console.log(outputs);
                         },
                         errorResolver
                      );
                },
                errorResolver
             );
          }, errorResolver);

       function errorResolver(error) {
          // Handle errors in error resolver
          console.error(error);
       }
    })();

## GlideFlow : getExecution(String executionId) {#ariaid-title5}

Obtenir une instance d'exécution existante par ID.
{#GlideFlow-getExecution__table_hpx_tqd_ffb__entry__3}

| Nom | Type | Description |
|-|-|-|
| executionId | Chaîne | L'ID de l'exécution à récupérer. |
[Tableau 7. Paramètres]

{#GlideFlow-getExecution__table_hpx_tqd_ffb} {#GlideFlow-getExecution__table_ipx_tqd_ffb__entry__2}

| Type | Description |
|-|-|
| Objet | Promesse d'un objet d'exécution. |
[Tableau 8. Renvoie]

{#GlideFlow-getExecution__table_ipx_tqd_ffb}  
Dans cet exemple, le code obtient une exécution, puis attend qu'elle soit terminée avant de consigner l'état d'achèvement des exécutions et les sorties à l'aide de console.log.


    // Get an existing action and await completion
    (function() {
    	GlideFlow.getExecution('79cd437e0b202300a150a95e93673ae3')
    		.then(function(execution) {
    			return execution.awaitCompletion();
    		}, errorResolver)
    		.then(function(completion) {

    			var status = completion.status;
    			console.log(status);

    			// Available Outputs:
    			var outputs = completion.outputs;
    			console.log(outputs);
    		}, errorResolver());

    	function errorResolver(error) {
    		// Handle errors in error resolver
    		console.error(error);
    	}
    })();

## GlideFlow : startAction(String scopedName.actionName, entrées de carte) {#ariaid-title6}

Démarrez une action.
{#GlideFlow-startAction__table_q1w_r4d_ffb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Nom d'étendue | Chaîne | Nom délimité du flux à exécuter. |
| entrées | Objet | Objet contenant des entrées définies pour l'action. |
[Tableau 9. Paramètres]

{#GlideFlow-startAction__table_q1w_r4d_ffb} {#GlideFlow-startAction__table_r1w_r4d_ffb__entry__2}

| Type | Description |
|-|-|
| Objet | Objet contenant des détails sur l'exécution de l'action. |
[Tableau 10. Renvoie]

{#GlideFlow-startAction__table_r1w_r4d_ffb}  
Dans cet exemple, le code démarre l'action de action_name globale à l'aide d'arguments dans la variable objet d'entrée des entrées. Une fois l'opération terminée, l'exemple utilise console.log ou console.error pour signaler la réussite ou l'échec du flux.


    // Start an action and await completion.
    (function() {
    	var inputs = {};

    	inputs['input1'] = 'string input'; // String

    	GlideFlow.startAction('global.action_name', inputs)
    		.then(function(execution) {
    			return execution.awaitCompletion();
    		}, errorResolver)
    		.then(function(completion) {
    			var status = completion.status;
    			console.log(status);

    			// Available Outputs:
    			var outputs = completion.outputs;
    			console.log(outputs);
    		}, errorResolver());

    	function errorResolver(error) {
    		// Handle errors in error resolver
    		console.error(error);
    	}
    })();

## GlideFlow : startFlow(String scopedName.flowName, entrées de carte) {#ariaid-title7}

Démarrez un flux.
{#GlideFlow-startFlow__table_jl5_xqc_ffb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Nom d'étendue | Chaîne | Nom délimité du flux à exécuter. |
| entrées | Objet | Un objet contenant des entrées définies pour le flux. |
[Tableau 11. Paramètres]

{#GlideFlow-startFlow__table_jl5_xqc_ffb} {#GlideFlow-startFlow__table_kl5_xqc_ffb__entry__2}

| Type | Description |
|-|-|
| Objet | Objet contenant des détails sur l'exécution du flux. |
[Tableau 12. Renvoie]

{#GlideFlow-startFlow__table_kl5_xqc_ffb}  
Cet exemple de flux est normalement déclenché lorsqu'un enregistrement de la table d'incidents est mis à jour. Étant donné que vous activez le flux à partir du script client, vous devez fournir ces informations. Le code crée une variable d'entrées qui contient l'enregistrement actuel et la table de l'enregistrement


    // Start a Flow
    (function() {
          var inputs = {};
          inputs['current'] = { // GlideRecord 
            table : 'incident', 
            sys_id : '79cd437e0b202300a150a95e93673ae3'  
        };
            inputs['table_name'] = 'incident';
             GlideFlow.startFlow('global.flow_name', inputs)
    		.then(
    			function(execution) {
    				console.log('Started flow_name with execution id :' + execution.getExecutionId());
    			},
    			function(error) {
    				console.log('Unable to start flow: ' + error);
    			}
    		);
    })();

## GlideFlow : startSubflow(String scopedName.subflowName, entrées de carte) {#ariaid-title8}

Démarrez un flux secondaire.
{#GlideFlow-startSubflow__table_ftt_5pd_ffb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Nom d'étendue | Chaîne | Nom délimité du flux à exécuter. |
| entrées | Objet | Objet contenant les entrées utilisées pour le flux secondaire. |
[Tableau 13. Paramètres]

{#GlideFlow-startSubflow__table_ftt_5pd_ffb} {#GlideFlow-startSubflow__table_gtt_5pd_ffb__entry__2}

| Type | Description |
|-|-|
| Objet | Objet contenant des détails sur l'exécution du flux secondaire. |
[Tableau 14. Renvoie]

{#GlideFlow-startSubflow__table_gtt_5pd_ffb}  
Dans cet exemple, le code démarre le flux secondaire de subflow_name globale à l'aide d'arguments dans la variable tableau d'entrées. Une fois l'opération terminée, l'exemple utilise console.log ou console.error pour signaler la réussite ou l'échec du flux.


    // Start an action and await completion.
    (function() {
    	var inputs = {};

    	inputs['input1'] = 'string input'; // String

    	GlideFlow.startSubflow('global.subflow_name', inputs)
    		.then(function(execution) {
    			return execution.awaitCompletion();
    		}, errorResolver)
    		.then(function(completion) {
    			var status = completion.status;
    			console.log(status);

    			// Available Outputs:
    			var outputs = completion.outputs;
    			console.log(outputs);
    		}, errorResolver());

    	function errorResolver(error) {
    		// Handle errors in error resolver
    		console.error(error);
    	}
    })();


