Script リソースとエンドポイント

最終更新: 2026年7月17日

Script はフロントエンドが HTTP で呼び出す宣言型のバックエンドエンドポイントです(概念と最上位構造は Script 概要 で扱います)。このページでは Script リソースsys 構造と本文プロパティ、そして Script をオーサリング・実行する HTTP エンドポイント の仕様を扱います。

Script は 2 つの管理 API で扱います。CMA(Weegloo User のアイデンティティ)では、一覧・照会・作成・更新・削除と実行・ポーリングをすべて行えます。ACMA(製品にサインアップした ServiceUser のアイデンティティ)では 実行とポーリングのみ 行うことができ、オーサリング(作成・更新・削除)は CMA 専用です。読み取り専用の配信 API(CDA、ACDA)に Script はありません。

Scriptversion を持つリソースであり、プランごとに個数制限を受ける課金対象(Billable)リソースです。ただし ContentMedia と異なり 公開状態を持ちません。 sysstatuspublish のような公開関連のプロパティがなく、変更するたびに version だけが上がります。公開・公開停止の概念がないため、削除も公開停止なしに直ちに行われます。

リソース構造

次は Script "t6-http" の単一照会レスポンスです。sys(システムプロパティ)とともに namedefinition の 2 つの本文プロパティを持ちます。

{
  "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"
      }
    ]
  }
}

主なキー:

  • sys.id: Script の一意な識別子です。単一照会・更新・削除・実行パスの {scriptId} に入ります。
  • name: Script の名前です(1〜64 文字)。画面の一覧や管理用の識別に使われます。
  • definition: この Script が何をするかを宣言する ScriptDefinition です。呼び出しメソッド(method)、実行モード(executionMode)、ステートメント(statements)配列、任意の payload スキーマ(payloadSchema)で構成されます。詳しい構造は下の 定義と名前Script 概要の最上位構造 で扱います。

sysstatuspublisharchive がないことに注意してください。Script は配信経路に公開されるリソースではなく、管理 API でオーサリング・実行するリソースです。

システムプロパティ (sys)

すべての Script は共通のシステムプロパティを sys オブジェクトに格納します。spacecreatedByupdatedByRefer の形({ "sys": { "id", "type": "Refer", "targetType" } })で入ります。

プロパティ説明
idstringリソースの一意な識別子。
typestringリソースの種類。Script は常に "Script"
spaceRefer<Space>この Script が属する Space
createdByRefer<User>作成したユーザー。
createdAtstring (date-time)作成日時。
updatedByRefer<User>最後に更新したユーザー。
updatedAtstring (date-time)最終更新日時。
versioninteger (≥1)リソースのバージョン。作成・更新のたびに 1 ずつ上がります。

ContentContent TypeMediasys にある status(公開状態)と publish(公開履歴)は Script には ありません。 Script は公開されないためです。archive プロパティもありません。そのため Scriptversion は公開なしに、純粋に作成・更新の回数だけ増加します。

定義と名前 (name, definition)

Script の本文プロパティは namedefinition の 2 つです。

プロパティ必須説明
name必須Script の名前。1〜64 文字。
definition必須ScriptDefinition。下の表のキーで構成されます。

definition(ScriptDefinition)のキー:

キー必須説明
method必須この Script を呼び出す HTTP メソッド。GetPostPutPatchDelete のいずれか。実行時にこの値でマッチングします。
executionMode必須実行場所。Sync(リクエスト経路で即時)または Async(バックグラウンド)。
statements必須実行するステートメント(statement)の順序付き配列。最小 1 個。
payloadSchema任意JSON Schema。指定すると実行前にリクエスト payload をこのスキーマで検証します。

statements 配列に入れる各ステートメントの種類とフィールドは Statement カタログ で、値を流し込む { /pointer } 式は 値の式 で扱います。

上の例 "t6-http" の definitionmethodPostexecutionModeAsync で、Http ステートメントで外部 API を呼び出した後、Return ステートメントでその結果を返します。Http ステートメントのように外部 I/O がある ScriptexecutionMode が必ず Async でなければなりません(下の 制約 を参照)。

制約

対象制約
name1〜64 文字、必須。
definition.statements最小 1 個、必須。
外部 I/O がある定義executionModeAsync でなければならない(Sync で保存すると拒否)。
1 定義あたりの外部呼び出し最大 3 個(デフォルト)。
1 定義あたりの SetVar最大 5 個(デフォルト)。
1 定義あたりの全 statement最大 15 個(デフォルト、ネスト含む)。

上の静的制約は Script保存(作成・更新)する時点 で検査され、違反すると保存が拒否されます。保存時には、作成者がそれらの statement が使うリソース・アクションの権限を実際に持っているかも併せて検査します(1 つでもなければ WGL403015 で拒否)。詳しいルールと時間予算は 実行セマンティクス、制約、セキュリティ で扱います。

Script は課金対象(Billable)リソースで、Organization ごとの個数 がプランごとに制限されます(Free 3 / Basic 10 / Pro 50 / Enterprise 無制限)。上限に達すると新しい Script の作成が拒否されます(プランごとの個数上限 を参照)。

API

下の一覧・照会・作成・更新・削除エンドポイントの基準 URL は CMA の https://cma.weegloo.com/v1 で、Authorization ヘッダーに CMA を認証する Bearer トークンが必要です。更新は楽観的同時実行制御のため、X-Weegloo-Version ヘッダー(現在のリソースの sys.version)を併せて送る必要があります。

実行(/execute)とポーリング(/executions/{requestId})は ACMA でも同じパスで提供されます。この場合、基準 URL は https://acma.weegloo.com/v1 で、ServiceUser アイデンティティの Bearer トークンで認証します。オーサリング(作成・更新・削除)は ACMA になく、CMA 専用です。

上の実行・ポーリング例の完了レスポンスには return がありません。対象の Script が値を含む Return に到達せずに終わったためです(この場合 statusCode はデフォルト値 200)。Return で値を返すと、レスポンスに return(または Return.isError が真であれば error)が載ります。レスポンスの全ルールは Script 概要のリクエストとレスポンス で扱います。