Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

API で Snippets を設定する

最終更新 Markdown で表示Agent セットアップ

Cloudflare API で Snippets を作成できます。

必要な権限

Snippets を管理する API リクエストで使う API トークン には、少なくとも次の権限が必要です。

  • Zone > Snippets > Edit

エンドポイント

次の Cloudflare API ベース URL に、下表の Snippets エンドポイントを付けて完全なエンドポイントにします。

https://api.cloudflare.com/client/v4

{zone_id} 引数は ゾーン ID(16 進文字列)です。この値は Cloudflare ダッシュボードで確認できます。

利用できる操作は次の表のとおりです。

操作 Verb + Endpoint
コードスニペットを一覧する GET /zones/{zone_id}/snippets
コードスニペットを作成 / 更新する PUT /zones/{zone_id}/snippets/{snippet_name}
コードスニペットの詳細を取得する GET /zones/{zone_id}/snippets/{snippet_name}
コードスニペットの内容を取得する GET /zones/{zone_id}/snippets/{snippet_name}/content
コードスニペットを削除する DELETE /zones/{zone_id}/snippets/{snippet_name}
スニペットルールを一覧する GET /zones/{zone_id}/snippets/snippet_rules
スニペットルールを作成 / 更新 / 削除する PUT /zones/{zone_id}/snippets/snippet_rules
スニペットルールをすべて削除する DELETE /zones/{zone_id}/snippets/snippet_rules

API 呼び出しの例

コードスニペットを作成 / 更新する

Snippets を作成または更新するには、次の PUT リクエストを使います。スニペット名は $SNIPPET_NAME で、本文に JavaScript コードを含めます。

Required API token permissions

At least one of the following token permissions is required:
  • Snippets Write
Update a zone snippetbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/snippets/$SNIPPET_NAME" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--form "[email protected]" \
	--form "metadata={\"main_module\": \"example.js\"}"

スニペット名に使える文字は a-z0-9_(アンダースコア)だけです。名前はゾーン内で一意である必要があります。作成後にスニペット名は変更できません。

必須の本文パラメーターは次のとおりです。

  • files: JavaScript コードを入れたファイル。
  • metadata: main_module を含むオブジェクト。アップロードしたファイル名と一致させる必要があります。

この例を動かすには、JavaScript コードを example.js として保存し、example.js があるフォルダーから PUT リクエストの curl を実行します。

レスポンス例json
{
	"errors": [],
	"messages": [],
	"success": true,
	"result": {
		"created_on": "2023-07-24-00:00:00",
		"modified_on": "2023-07-24-00:00:00",
		"snippet_name": "snippet_name_01"
	}
}

新しいスニペットをデプロイするには、スニペットルールを作成 する必要があります。スニペットルールの式が、スニペットコードの実行タイミングを決めます。

スニペットルールを作成 / 更新 / 削除する

コードスニペットを作成したら、ルールに紐づけられます。snippet_rules エンドポイントへの次の PUT リクエストで行います。

Required API token permissions

At least one of the following token permissions is required:
  • Snippets Write
Update zone snippet rulesbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/snippets/snippet_rules" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"description": "Trigger snippet on specific cookie",
						"enabled": true,
						"expression": "http.cookie eq \"a=b\"",
						"snippet_name": "snippet_name_01"
				}
		]
	}'

役に立ちましたか?