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: OScriptDefinitionque declara o que este Script faz. É composto pelo método de chamada (method), pelo modo de execução (executionMode), pelo arraystatementse 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" } }).
| Propriedade | Tipo | Descrição |
|---|---|---|
id | string | Identificador único do recurso. |
type | string | Tipo do recurso. Para um Script, é sempre "Script". |
space | Refer<Space> | O Space ao qual este Script pertence. |
createdBy | Refer<User> | O usuário que o criou. |
createdAt | string (date-time) | Data e hora de criação. |
updatedBy | Refer<User> | O usuário que o atualizou por último. |
updatedAt | string (date-time) | Data e hora da última atualização. |
version | integer (≥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.
| Propriedade | Obrigatório | Descrição |
|---|---|---|
name | Obrigatório | O nome do Script. 1 a 64 caracteres. |
definition | Obrigatório | ScriptDefinition. Composto pelas chaves da tabela abaixo. |
Chaves de definition (ScriptDefinition):
| Chave | Obrigatório | Descrição |
|---|---|---|
method | Obrigatório | O método HTTP usado para chamar este Script. Um de Get, Post, Put, Patch, Delete. A execução é comparada com este valor. |
executionMode | Obrigatório | Onde é executado. Sync (imediatamente no caminho da requisição) ou Async (em segundo plano). |
statements | Obrigatório | Um array ordenado de statements a executar. No mínimo 1. |
payloadSchema | Opcional | Um 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
| Alvo | Restrição |
|---|---|
name | 1 a 64 caracteres, obrigatório. |
definition.statements | No mínimo 1, obrigatório. |
| Uma definição com I/O externo | executionMode deve ser Async (rejeitado se salvo como Sync). |
| Chamadas externas por definição | No máximo 3 (padrão). |
SetVar por definição | No máximo 5 (padrão). |
| Total de statements por definição | No 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.
Documentos relacionados
- Visão geral do Script: aborda a estrutura de nível superior do
ScriptDefinition, os modos de execução e requisição/resposta. - Catálogo de statements: aborda os campos e resultados de cada statement que você coloca em
statements. - Expressões de valor: aborda referências
{ /pointer }e operações JsonLogic. - Semântica de execução, limites e segurança: aborda as restrições estáticas, os limites de quantidade por plano e o modelo de permissões e segurança.
- SpaceRole e ServiceUserRole: abordam como conceder a um Role as permissões de ação de um Script (incluindo
Execute).
