Script リソースとエンドポイント
最終更新: 2026年7月17日
Script はフロントエンドが HTTP で呼び出す宣言型のバックエンドエンドポイントです(概念と最上位構造は Script 概要 で扱います)。このページでは Script リソース の sys 構造と本文プロパティ、そして Script をオーサリング・実行する HTTP エンドポイント の仕様を扱います。
Script は 2 つの管理 API で扱います。CMA(Weegloo User のアイデンティティ)では、一覧・照会・作成・更新・削除と実行・ポーリングをすべて行えます。ACMA(製品にサインアップした ServiceUser のアイデンティティ)では 実行とポーリングのみ 行うことができ、オーサリング(作成・更新・削除)は CMA 専用です。読み取り専用の配信 API(CDA、ACDA)に Script はありません。
Script は version を持つリソースであり、プランごとに個数制限を受ける課金対象(Billable)リソースです。ただし Content や Media と異なり 公開状態を持ちません。 sys に status や publish のような公開関連のプロパティがなく、変更するたびに version だけが上がります。公開・公開停止の概念がないため、削除も公開停止なしに直ちに行われます。
リソース構造
次は Script "t6-http" の単一照会レスポンスです。sys(システムプロパティ)とともに name、definition の 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 概要の最上位構造 で扱います。
sys に status・publish・archive がないことに注意してください。Script は配信経路に公開されるリソースではなく、管理 API でオーサリング・実行するリソースです。
システムプロパティ (sys)
すべての Script は共通のシステムプロパティを sys オブジェクトに格納します。space、createdBy、updatedBy は Refer の形({ "sys": { "id", "type": "Refer", "targetType" } })で入ります。
| プロパティ | 型 | 説明 |
|---|---|---|
id | string | リソースの一意な識別子。 |
type | string | リソースの種類。Script は常に "Script"。 |
space | Refer<Space> | この Script が属する Space。 |
createdBy | Refer<User> | 作成したユーザー。 |
createdAt | string (date-time) | 作成日時。 |
updatedBy | Refer<User> | 最後に更新したユーザー。 |
updatedAt | string (date-time) | 最終更新日時。 |
version | integer (≥1) | リソースのバージョン。作成・更新のたびに 1 ずつ上がります。 |
Content・Content Type・Media の sys にある status(公開状態)と publish(公開履歴)は Script には ありません。 Script は公開されないためです。archive プロパティもありません。そのため Script の version は公開なしに、純粋に作成・更新の回数だけ増加します。
定義と名前 (name, definition)
Script の本文プロパティは name と definition の 2 つです。
| プロパティ | 必須 | 説明 |
|---|---|---|
name | 必須 | Script の名前。1〜64 文字。 |
definition | 必須 | ScriptDefinition。下の表のキーで構成されます。 |
definition(ScriptDefinition)のキー:
| キー | 必須 | 説明 |
|---|---|---|
method | 必須 | この Script を呼び出す HTTP メソッド。Get・Post・Put・Patch・Delete のいずれか。実行時にこの値でマッチングします。 |
executionMode | 必須 | 実行場所。Sync(リクエスト経路で即時)または Async(バックグラウンド)。 |
statements | 必須 | 実行するステートメント(statement)の順序付き配列。最小 1 個。 |
payloadSchema | 任意 | JSON Schema。指定すると実行前にリクエスト payload をこのスキーマで検証します。 |
statements 配列に入れる各ステートメントの種類とフィールドは Statement カタログ で、値を流し込む { /pointer } 式は 値の式 で扱います。
上の例 "t6-http" の definition は method が Post、executionMode が Async で、Http ステートメントで外部 API を呼び出した後、Return ステートメントでその結果を返します。Http ステートメントのように外部 I/O がある Script は executionMode が必ず Async でなければなりません(下の 制約 を参照)。
制約
| 対象 | 制約 |
|---|---|
name | 1〜64 文字、必須。 |
definition.statements | 最小 1 個、必須。 |
| 外部 I/O がある定義 | executionMode は Async でなければならない(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 概要のリクエストとレスポンス で扱います。
関連ドキュメント
- Script 概要: 最上位の
ScriptDefinition構造、実行モード、リクエストとレスポンスを扱います。 - Statement カタログ:
statementsに入れる各ステートメントのフィールドと結果を扱います。 - 値の式:
{ /pointer }参照と JsonLogic 演算を扱います。 - 実行セマンティクス、制約、セキュリティ: 静的制約、プランごとの個数上限、権限とセキュリティモデルを扱います。
- SpaceRole・ServiceUserRole: Script のアクション権限(
Executeを含む)をロールに付与する方法を扱います。
