---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideFlow - Cliente

# GlideFlow - Cliente {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 min. de leitura

A API GlideFlow fornece métodos para interações do lado do cliente com ações, fluxos e subfluxos.

Você pode usar esta API em qualquer lugar na plataforma que aceite client scripts. A ação, fluxo ou subfluxo deve ser definido como cliente chamável e ter uma ACL válida usando o recurso Gerenciar segurança em Workflow Studio.

Alguns dos métodos na API GlideFlow retornam objetos de `promessa`. Uma `promessa` representa o resultado final de uma operação assíncrona. Para obter mais informações sobre promessas, consulte a documentação [Promessa - 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).  
Usando esta API, você pode:

* Inicie ações, fluxos ou subfluxos por meio de um script.
* Obtenha uma execução existente.
* Obtenha o status e todas as saídas disponíveis.
* Aguarde a conclusão de uma ação, fluxo ou subfluxo.
{#GlideFlowAPI__ul_bdk_tf2_xs}

Não há nenhum construtor para a API GlideFlow. Acesse os métodos GlideFlow usando o objeto global `GlideFlow`.

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

Retorna um objeto de conclusão para a execução.
{#execution-awaitCompletion__table_bqv_1q2_ffb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 1. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Objeto | Um objeto que contém detalhes de conclusão para uma execução de fluxo ou ação. |
[Tabela 2. Retorna]

{#execution-awaitCompletion__table_cqv_1q2_ffb}  
Neste exemplo, uma ação é executada usando startAction(), que retorna um objeto de execução. O código usa awaitCompletion() neste objeto de execução, que retorna um objeto de conclusão. O código usa este objeto de conclusão para registrar o status e as saídas na execução.


    (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}

Retorna uma cadeia de caracteres que contém o status da execução atual.
{#execution-getExecutionStatus__table_utm_jp2_ffb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 3. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres que contém o status de execução. |
[Tabela 4. Retorna]

{#execution-getExecutionStatus__table_vtm_jp2_ffb}  
Neste exemplo, o código obtém um objeto de execução usando o método getExecution. O método getExecution requer um ID, que é retornado pelo método usado para iniciar a execução. O código usa getExecutionStatus() para determinar se a execução foi concluída antes de continuar.


    // 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}

Retorna um objeto de saída para a execução.
Use este método para acessar a saída gerada pela execução de uma ação, fluxo ou subfluxo.
{#execution-getOutputs__table_jsw_f42_ffb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 5. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Objeto | Um objeto que contém saídas para uma ação, fluxo ou subfluxo. |
[Tabela 6. Retorna]

{#execution-getOutputs__table_ksw_f42_ffb}  
Neste exemplo, o código obtém um objeto de execução usando o método getExecution. Depois que a execução é concluída, o código usa getOutputs() para retornar um objeto de saída, que é registrado usando o método 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(cadeia de caracteres executionId) {#ariaid-title5}

Obtenha uma instância de execução existente por ID.
{#GlideFlow-getExecution__table_hpx_tqd_ffb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| executionId | Cadeia de caracteres | O ID da execução a ser recuperado. |
[Tabela 7. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Objeto | Uma promessa de um objeto de execução. |
[Tabela 8. Retorna]

{#GlideFlow-getExecution__table_ipx_tqd_ffb}  
Neste exemplo, o código obtém uma execução e espera que ela seja concluída antes de registrar o status de conclusão das execuções e as saídas usando 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(cadeia de caracteres scopedName.actionName, entradas de mapa) {#ariaid-title6}

Inicie uma ação.
{#GlideFlow-startAction__table_q1w_r4d_ffb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| scopedName | Cadeia de caracteres | O nome com escopo do fluxo a ser executado. |
| entradas | Objeto | Um objeto que contém entradas definidas para a ação. |
[Tabela 9. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Objeto | Um objeto que contém detalhes sobre a execução da ação. |
[Tabela 10. Retorna]

{#GlideFlow-startAction__table_r1w_r4d_ffb}  
Neste exemplo, o código inicia a ação global action_name usando argumentos na variável de objeto de entrada de entradas. Após a conclusão, o exemplo usa console.log ou console.error para relatar o sucesso ou a falha do fluxo.


    // 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, Mapear entradas) {#ariaid-title7}

Iniciar um fluxo.
{#GlideFlow-startFlow__table_jl5_xqc_ffb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| scopedName | Cadeia de caracteres | O nome com escopo do fluxo a ser executado. |
| entradas | Objeto | Um objeto que contém entradas definidas para o fluxo. |
[Tabela 11. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Objeto | Um objeto que contém detalhes sobre a execução do fluxo. |
[Tabela 12. Retorna]

{#GlideFlow-startFlow__table_kl5_xqc_ffb}  
Este fluxo de exemplo normalmente é acionado quando um registro na tabela de incidentes é atualizado. Como você está ativando o fluxo do script do cliente, forneça essas informações. O código cria uma variável de entradas que contém o registro atual e a tabela do registro


    // 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, Mapear entradas) {#ariaid-title8}

Inicie um subfluxo.
{#GlideFlow-startSubflow__table_ftt_5pd_ffb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| scopedName | Cadeia de caracteres | O nome com escopo do fluxo a ser executado. |
| entradas | Objeto | Um objeto que contém entradas usadas para o subfluxo. |
[Tabela 13. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Objeto | Um objeto que contém detalhes sobre a execução do subfluxo. |
[Tabela 14. Retorna]

{#GlideFlow-startSubflow__table_gtt_5pd_ffb}  
Neste exemplo, o código inicia o subfluxo global subflow_name usando argumentos na variável de matriz de entradas. Após a conclusão, o exemplo usa console.log ou console.error para relatar o sucesso ou a falha do fluxo.


    // 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);
    	}
    })();


