Desabilitar Script

Desativa um script específico, impedindo que novos invites sejam criados para ele.

Endpoint

MétodoRotaResposta
PATCH/video-agreement/api/v1/account/script/:script_identifier/disable204 No Content

O parâmetro script_identifier pode ser o script_id (UUID) ou o script_reference (identificador customizado).


Snippets

cURL

curl -X PATCH "[https://apigw.nuvidio.com/video-agreement/api/v1/account/script/[meu-script-ref]/disable(https://apigw.nuvidio.com/video-agreement/api/v1/account/script/meu-script-ref/disable)" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

 
const disableScript = async (scriptIdentifier) => {
  const response = await fetch(
    `https://api.nuvidio.com/scripts/${scriptIdentifier}/disable`,
    {
      method: 'PATCH',
      headers: {
        'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
      },
    }
  );

  if (!response.ok) {
    const error = await response.json();
    throw new Error(error.description);
  }

  return true;
};

// Uso com script_reference
await disableScript('meu-script-ref');

// Uso com script_id (UUID)
await disableScript('550e8400-e29b-41d4-a716-446655440000');
package main

import (
	"fmt"
	"net/http"
)

func DisableScript(scriptIdentifier, accessToken string) error {
	url := fmt.Sprintf("[https://apigw.nuvidio.com/scripts/%s/disable](https://apigw.nuvidio.com/scripts/%s/disable)", scriptIdentifier)

	req, err := http.NewRequest(http.MethodPatch, url, nil)
	if err != nil {
		return fmt.Errorf("creating request: %w", err)
	}

	req.Header.Set("Authorization", "Bearer "+accessToken)

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		return fmt.Errorf("executing request: %w", err)
	}
	defer resp.Body.Close()

	if resp.StatusCode != http.StatusNoContent {
		return fmt.Errorf("unexpected status: %d", resp.StatusCode)
	}

	return nil
}

func main() {
	// Uso com script_reference
	DisableScript("meu-script-ref", "YOUR_ACCESS_TOKEN")

	// Uso com script_id (UUID)
	DisableScript("550e8400-e29b-41d4-a716-446655440000", "YOUR_ACCESS_TOKEN")
}

Regras de Scripts e Invites


1. Desabilitar Script

Desativa um script, impedindo a criação de novos invites.

CenárioResultado
✅ Script sem invites ativosScript desabilitado com sucesso
✅Script sem invites multicase ativosScript é desabilitado com sucesso
❌ Script possui invite em andamentoErro: não é possível desabilitar
❌ Script é usado por invite multicase ativoErro: não é possível desabilitar
❌ Script não existeErro: script não encontrado

Antes de desabilitar um script, certifique-se de que todos os invites associados a ele estejam finalizados ou expirados.


2. Criar Script Multicase

Scripts multicase permitem definir fluxos condicionais com múltiplos scripts.

ValidaçãoResultado
✅ Todos os scripts referenciados estão ativosScript criado com sucesso
❌ Script referenciado está desabilitadoErro: script desabilitado
❌ Condição redireciona para o próprio scriptErro: redirecionamento inválido

Verifique se todos os scripts que serão usados nas condições estão habilitados antes de criar o multicase.


3. Criar Invite

Invites são sessões de interação com o cliente final.

ValidaçãoResultado
✅ Script está ativoInvite criado com sucesso
❌ Script está desabilitadoErro: não é possível criar invite

4. Criar Invite Multicase

Invites multicase utilizam scripts com fluxos condicionais.

ValidaçãoResultado
✅ Script principal e todos os cases estão ativosInvite criado com sucesso
❌ Algum script case está desabilitadoErro: script {reference} desabilitado

Mesmo que o script principal esteja ativo, o invite não será criado se algum script filho (case) estiver desabilitado.


Códigos de Resposta

CódigoSignificado
201 CreatedRecurso criado com sucesso
204 No ContentOperação realizada com sucesso (sem corpo)
400 Bad RequestViolação de regra de negócio
404 Not FoundRecurso não encontrado

Mensagens de Erro

ErroDescrição
`Script não encontradoO script informado não existe
` Script DesabilitadoO script está desabilitado e não pode ser usado
`Script associado com invite ativoExistem invites ativos usando este script