Script-Ressource und Endpunkte

Zuletzt aktualisiert: 17. Juli 2026

Ein Script ist ein deklarativer Backend-Endpunkt, den das Frontend über HTTP aufruft (Konzept und oberste Struktur werden in der Script-Übersicht behandelt). Diese Seite behandelt die sys-Struktur und die Body-Eigenschaften der Script-Ressource sowie die Spezifikation der HTTP-Endpunkte, die ein Script verfassen und ausführen.

Ein Script wird von zwei Management-APIs verwaltet. Auf der CMA (Weegloo-User-Identität) können Sie alles tun: auflisten, abfragen, erstellen, ändern, löschen sowie ausführen und pollen. Auf der ACMA (der ServiceUser-Identität eines Endnutzers, der sich für das Produkt registriert hat) können Sie nur ausführen und pollen; das Verfassen (Erstellen, Ändern, Löschen) ist ausschließlich auf der CMA möglich. In den nur lesenden Auslieferungs-APIs (CDA, ACDA) gibt es kein Script.

Ein Script ist eine Ressource mit einer version und zugleich eine abrechenbare Ressource (Billable), die einer plangebundenen Mengenbegrenzung unterliegt. Anders als Content oder Media hat es jedoch keinen Veröffentlichungsstatus. In sys gibt es keine veröffentlichungsbezogenen Eigenschaften wie status oder publish; bei jeder Änderung steigt lediglich die version. Da es kein Konzept von Veröffentlichung oder Zurücknahme der Veröffentlichung gibt, erfolgt auch das Löschen sofort, ohne vorher die Veröffentlichung zurückzunehmen.

Ressourcenstruktur

Im Folgenden sehen Sie die Antwort der Einzelabfrage des Script "t6-http". Neben sys (Systemeigenschaften) besitzt es zwei Body-Eigenschaften: name und 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"
      }
    ]
  }
}

Wichtige Schlüssel:

  • sys.id: Eindeutige Kennung des Script. Wird in den Pfaden für Einzelabfrage, Änderung, Löschung und Ausführung als {scriptId} eingesetzt.
  • name: Name des Script (1-64 Zeichen). Wird in der Bildschirmliste und zur Identifikation bei der Verwaltung verwendet.
  • definition: Die ScriptDefinition, die deklariert, was dieses Script tut. Sie besteht aus der Aufrufmethode (method), dem Ausführungsmodus (executionMode), dem Statement-Array (statements) und einem optionalen Payload-Schema (payloadSchema). Die detaillierte Struktur wird unten unter Definition und Name sowie in der obersten Struktur der Script-Übersicht behandelt.

Beachten Sie, dass sys kein status, publish oder archive enthält. Ein Script ist keine Ressource, die auf einen Auslieferungspfad veröffentlicht wird, sondern eine Ressource, die Sie über die Management-APIs verfassen und ausführen.

Systemeigenschaften (sys)

Jedes Script führt gemeinsame Systemeigenschaften im sys-Objekt. space, createdBy und updatedBy werden in der Refer-Form ({ "sys": { "id", "type": "Refer", "targetType" } }) angegeben.

EigenschaftTypBeschreibung
idstringEindeutige Kennung der Ressource.
typestringRessourcenart. Bei einem Script immer "Script".
spaceRefer<Space>Space, zu dem dieses Script gehört.
createdByRefer<User>Benutzer, der die Ressource erstellt hat.
createdAtstring (date-time)Zeitpunkt der Erstellung.
updatedByRefer<User>Benutzer, der die Ressource zuletzt geändert hat.
updatedAtstring (date-time)Zeitpunkt der letzten Änderung.
versioninteger (≥1)Version der Ressource. Erhöht sich bei jeder Erstellung und Änderung um 1.

Das status (Veröffentlichungsstatus) und das publish (Veröffentlichungsverlauf), die im sys von Content, Content Type und Media vorhanden sind, gibt es bei einem Script nicht, da ein Script nicht veröffentlicht wird. Auch eine archive-Eigenschaft gibt es nicht. Daher steigt die version eines Script rein mit der Anzahl der Erstellungen und Änderungen, ganz ohne Veröffentlichung.

Definition und Name (name, definition)

Ein Script hat zwei Body-Eigenschaften: name und definition.

EigenschaftErforderlichBeschreibung
nameErforderlichName des Script. 1-64 Zeichen.
definitionErforderlichScriptDefinition. Besteht aus den Schlüsseln der Tabelle unten.

Schlüssel von definition (ScriptDefinition):

SchlüsselErforderlichBeschreibung
methodErforderlichHTTP-Methode zum Aufruf dieses Script. Eine von Get, Post, Put, Patch, Delete. Bei der Ausführung wird anhand dieses Werts abgeglichen.
executionModeErforderlichAusführungsort. Sync (sofort auf dem Anfragepfad) oder Async (im Hintergrund).
statementsErforderlichGeordnetes Array der auszuführenden Statements. Mindestens 1.
payloadSchemaOptionalJSON Schema. Falls angegeben, wird die Anfrage-Payload vor der Ausführung anhand dieses Schemas validiert.

Die Arten und Felder der einzelnen Statements, die Sie in das statements-Array einfügen, werden im Statement-Katalog behandelt, und die { /pointer }-Ausdrücke, die Werte weiterreichen, werden in den Wertausdrücken behandelt.

Im Beispiel "t6-http" oben hat definition das method Post und das executionMode Async; es ruft mit einem Http-Statement eine externe API auf und gibt anschließend mit einem Return-Statement das Ergebnis zurück. Bei einem Script mit externem I/O, wie dem Http-Statement, muss executionMode zwingend Async sein (siehe Einschränkungen unten).

Einschränkungen

GegenstandEinschränkung
name1-64 Zeichen, erforderlich.
definition.statementsMindestens 1, erforderlich.
Definition mit externem I/OexecutionMode muss Async sein (wird abgelehnt, wenn als Sync gespeichert).
Externe Aufrufe pro DefinitionHöchstens 3 (Standard).
SetVar pro DefinitionHöchstens 5 (Standard).
Statements insgesamt pro DefinitionHöchstens 15 (Standard, einschließlich verschachtelter).

Die statischen Einschränkungen oben werden zum Speicherzeitpunkt (Erstellen/Ändern) geprüft, und bei einem Verstoß wird das Speichern abgelehnt. Beim Speichern wird außerdem geprüft, ob der Autor die Ressourcen- und Aktionsberechtigungen, die diese Statements nutzen, tatsächlich besitzt (fehlt auch nur eine, wird mit WGL403015 abgelehnt). Die detaillierten Regeln und das Zeitbudget werden unter Ausführungssemantik, Einschränkungen und Sicherheit behandelt.

Ein Script ist eine abrechenbare Ressource (Billable), und die Anzahl pro Organization ist je nach Plan begrenzt (Free 3 / Basic 10 / Pro 50 / Enterprise unbegrenzt). Sobald das Limit erreicht ist, wird das Erstellen eines neuen Script abgelehnt (siehe Anzahllimits pro Plan).

API

Die Basis-URL der untenstehenden Endpunkte für Auflisten, Abfragen, Erstellen, Ändern und Löschen ist die der CMA, https://cma.weegloo.com/v1, und im Authorization-Header ist ein Bearer-Token zur Authentifizierung an der CMA erforderlich. Bei der Änderung muss zur optimistischen Nebenläufigkeitskontrolle der Header X-Weegloo-Version (die sys.version der aktuellen Ressource) mitgesendet werden.

Ausführung (/execute) und Polling (/executions/{requestId}) werden auch auf der ACMA unter denselben Pfaden bereitgestellt. In diesem Fall ist die Basis-URL https://acma.weegloo.com/v1, und die Authentifizierung erfolgt mit einem Bearer-Token der ServiceUser-Identität. Das Verfassen (Erstellen, Ändern, Löschen) gibt es auf der ACMA nicht und ist ausschließlich auf der CMA möglich.

Die Abschlussantwort in den Beispielen für Ausführung und Polling oben enthält kein return, weil das betreffende Script endete, ohne ein Return mit einem Wert zu erreichen (in diesem Fall ist statusCode standardmäßig 200). Gibt ein Return einen Wert zurück, enthält die Antwort return (oder error, wenn Return.isError wahr ist). Die vollständigen Regeln für die Antwort werden im Abschnitt Anfrage und Antwort der Script-Übersicht behandelt.