Recurso e endpoints do Script

Última atualização: 19 de julho de 2026

Um Script é um endpoint de backend declarativo que o frontend chama por HTTP (o conceito e a estrutura de nível superior são abordados na Visão geral do Script). Esta página aborda a estrutura sys e as propriedades do corpo do recurso Script, além da especificação dos endpoints HTTP que criam e executam um Script.

Um Script é gerenciado por duas APIs de gerenciamento. No CMA (identidade Weegloo User) você pode fazer tudo: listar, consultar, criar, atualizar, excluir, executar e fazer polling. No ACMA (a identidade ServiceUser de um usuário final que se cadastrou no produto) você pode apenas executar e fazer polling; a autoria (criar, atualizar, excluir) é exclusiva do CMA. As APIs de entrega somente leitura (CDA, ACDA) não têm Script.

Um Script é um recurso que carrega um version e é um recurso faturável sujeito a um limite de quantidade por plano. Diferente de Content ou Media, no entanto, ele não tem status de publicação. Seu sys não tem propriedades relacionadas a publicação como status ou publish; apenas o version aumenta a cada alteração. Como não há conceito de publicação nem de cancelamento de publicação, a exclusão também ocorre imediatamente, sem cancelar a publicação primeiro.

Estrutura do recurso

A seguir está a resposta de consulta única do Script "t6-http". Junto com sys (propriedades de sistema), ele tem duas propriedades do corpo, name e definition.

{
  "sys": {
    "id": "3trmXRMZcTAjDnphewjj1AaxYcaxlK",
    "type": "Script",
    "space": { "sys": { "id": "6jSUUAWT", "type": "Refer", "targetType": "Space" } },
    "createdBy": { "sys": { "id": "3p4tcFbQYJNvYTBJf2rYKr42xegQLJ", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-07-15T12:35:47.575Z",
    "updatedBy": { "sys": { "id": "3p4tcFbQYJNvYTBJf2rYKr42xegQLJ", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-07-15T12:35:47.575Z",
    "version": 1
  },
  "name": "t6-http",
  "definition": {
    "method": "Post",
    "executionMode": "Async",
    "statements": [
      {
        "name": "resp",
        "method": "POST",
        "url": "https://postman-echo.com/post",
        "headers": [ { "key": "Content-Type", "value": "application/json", "secret": false } ],
        "body": { "prompt": "{ /payload/prompt }" },
        "timeoutMs": 10000,
        "retry": 0,
        "type": "Http"
      },
      {
        "value": { "status": "{ /resp/status }", "prompt": "{ /resp/body/json/prompt }" },
        "isError": false,
        "statusCode": 200,
        "type": "Return"
      }
    ]
  }
}

Chaves principais:

  • sys.id: O identificador único do Script. Entra em {scriptId} nos caminhos de consulta única, atualização, exclusão e execução.
  • name: O nome do Script (1 a 64 caracteres). Usado na listagem em tela e para identificação de gerenciamento.
  • definition: O ScriptDefinition que declara o que este Script faz. É composto pelo método de chamada (method), pelo modo de execução (executionMode), pelo array statements e por um schema de payload opcional (payloadSchema). Sua estrutura detalhada é abordada em Definição e nome abaixo e em a estrutura de nível superior na Visão geral do Script.

Observe que sys não tem status, publish nem archive. Um Script não é um recurso que é publicado em um caminho de entrega; é um recurso que você cria e executa através das APIs de gerenciamento.

Propriedades de sistema (sys)

Todo Script carrega propriedades de sistema comuns no objeto sys. space, createdBy e updatedBy vêm no formato Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropriedadeTipoDescrição
idstringIdentificador único do recurso.
typestringTipo do recurso. Para um Script, é sempre "Script".
spaceRefer<Space>O Space ao qual este Script pertence.
createdByRefer<User>O usuário que o criou.
createdAtstring (date-time)Data e hora de criação.
updatedByRefer<User>O usuário que o atualizou por último.
updatedAtstring (date-time)Data e hora da última atualização.
versioninteger (≥1)Versão do recurso. Aumenta em 1 a cada criação e atualização.

O status (status de publicação) e o publish (histórico de publicação) presentes no sys de Content, Content Type e Media não existem em um Script, porque um Script não é publicado. Também não há a propriedade archive. Por isso, o version de um Script aumenta puramente conforme o número de criações e atualizações, sem nenhuma publicação.

Definição e nome (name, definition)

Um Script tem duas propriedades do corpo: name e definition.

PropriedadeObrigatórioDescrição
nameObrigatórioO nome do Script. 1 a 64 caracteres.
definitionObrigatórioScriptDefinition. Composto pelas chaves da tabela abaixo.

Chaves de definition (ScriptDefinition):

ChaveObrigatórioDescrição
methodObrigatórioO método HTTP usado para chamar este Script. Um de Get, Post, Put, Patch, Delete. A execução é comparada com este valor.
executionModeObrigatórioOnde é executado. Sync (imediatamente no caminho da requisição) ou Async (em segundo plano).
statementsObrigatórioUm array ordenado de statements a executar. No mínimo 1.
payloadSchemaOpcionalUm JSON Schema. Se especificado, o payload da requisição é validado com este schema antes da execução.

Os tipos e campos de cada statement que você coloca no array statements são abordados no Catálogo de statements, e as expressões { /pointer } que encaminham valores são abordadas em Expressões de valor.

No exemplo "t6-http" acima, o definition tem method Post e executionMode Async; ele chama uma API externa com um statement Http e então retorna o resultado com um statement Return. Um Script com I/O externo, como o statement Http, deve ter executionMode definido como Async (consulte Restrições abaixo).

Restrições

AlvoRestrição
name1 a 64 caracteres, obrigatório.
definition.statementsNo mínimo 1, obrigatório.
Uma definição com I/O externoexecutionMode deve ser Async (rejeitado se salvo como Sync).
Chamadas externas por definiçãoNo máximo 3 (padrão).
SetVar por definiçãoNo máximo 5 (padrão).
Total de statements por definiçãoNo máximo 15 (padrão, incluindo aninhados).

As restrições estáticas acima são verificadas no momento de salvar (criar/atualizar), e uma violação faz com que o salvamento seja rejeitado. No momento de salvar, o sistema também verifica se o autor realmente possui as permissões de recurso e de ação que esses statements utilizam (se qualquer uma faltar, é rejeitado com WGL403015). As regras detalhadas e o orçamento de tempo são abordados em Semântica de execução, limites e segurança.

Um Script é um recurso faturável, e a quantidade por Organization é limitada por plano (Free 3 / Basic 10 / Pro 50 / Enterprise ilimitado). Quando o limite é atingido, a criação de um novo Script é rejeitada (consulte limites de quantidade por plano).

API

A URL base dos endpoints de listagem, consulta, criação, atualização e exclusão abaixo é a do CMA, https://cma.weegloo.com/v1, e é necessário um Bearer token que autentica no CMA no cabeçalho Authorization. A atualização também deve enviar o cabeçalho X-Weegloo-Version (o sys.version atual do recurso) para controle de concorrência otimista.

A execução (/execute) e o polling (/executions/{requestId}) também são fornecidos no ACMA nos mesmos caminhos. Nesse caso, a URL base é https://acma.weegloo.com/v1, e você autentica com um Bearer token da identidade ServiceUser. A autoria (criar, atualizar, excluir) não existe no ACMA e é exclusiva do CMA.

A resposta de conclusão nos exemplos de execução e polling acima não tem return, porque o Script alvo terminou sem alcançar um Return que carrega um valor (nesse caso, statusCode assume o padrão 200). Se um Return retornar um valor, a resposta carrega return (ou error, se Return.isError for verdadeiro). As regras completas da resposta são abordadas em a seção de requisição e resposta na Visão geral do Script.