INTEGRITY Dokumentace

Aktualizace pravidla v sadě pravidel

Použije jednu nebo více změn na stávající pravidlo v sadě pravidel na úrovni účtu nebo zóny.

Použijte jeden z následujících endpointů API:

Můžete aktualizovat definici pravidla změnou jeho polí nebo změnit pořadí pravidla v sadě pravidel. Volání této metody vytvoří novou verzi sady pravidel.

Aktualizace definice pravidla

Chcete-li aktualizovat definici pravidla, zahrňte novou definici pravidla do těla požadavku. Musíte uvést všechna pole pravidla, která mají být součástí nové definice pravidla, i v případě, že jejich hodnoty neměníte.

Odpověď bude po aktualizaci pravidla obsahovat kompletní sadu pravidel.

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Aktualizace pravidla sady pravidel účtu
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/$RULESET_ID/rules/$RULE_ID_1" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"action": "js_challenge",
		"expression": "(ip.src.country in {\"GB\" \"FR\"} and cf.bot_management.score < 20 and not cf.bot_management.verified_bot)",
		"description": "challenge GB and FR based on bot score"
	}'
{
	"result": {
		"id": "<RULESET_ID>",
		"name": "Custom Ruleset 1",
		"description": "My first custom ruleset",
		"kind": "custom",
		"version": "11",
		"rules": [
			{
				"id": "<RULE_ID_1>",
				"version": "2",
				"action": "js_challenge",
				"expression": "(ip.src.country in {\"GB\" \"FR\"} and cf.bot_management.score < 20 and not cf.bot_management.verified_bot)",
				"description": "challenge GB and FR based on bot score",
				"last_updated": "2023-03-22T12:54:58.144683Z",
				"ref": "<RULE_REF_1>",
				"enabled": true
			},
			{
				"id": "<RULE_ID_2>",
				"version": "1",
				"action": "challenge",
				"expression": "not http.request.uri.path matches \"^/api/.*$\"",
				"last_updated": "2022-11-23T11:36:24.192361Z",
				"ref": "<RULE_REF_2>",
				"enabled": true
			}
		],
		"last_updated": "2023-03-22T12:54:58.144683Z",
		"phase": "http_request_firewall_custom"
	},
	"success": true,
	"errors": [],
	"messages": []
}

Změna pořadí pravidla v sadě pravidel

Chcete-li změnit pořadí pravidla v seznamu pravidel rulesetu, zahrňte position objekt v požadavku, který obsahuje jedno z následujících:

Změna pořadí pravidla bez úpravy jeho definice zahrnutím pouze position objekt v PATCH těla požadavku. Definici pravidla můžete zároveň aktualizovat a změnit její pořadí ve stejném PATCH požadavku zahrnutím obou rule objekt a position objekt.

Příklady

Následující příklady vycházejí z této (zkrácené) sady pravidel:

{
	"rules": [
		{ "id": "<RULE_ID_1>" },
		{ "id": "<RULE_ID_2>" },
		{ "id": "<RULE_ID_3>" },
		{ "id": "<RULE_ID_4>" }
	]
}

Příklad 1

Následující požadavek s position objekt umístí pravidlo $RULE_ID_2 jako první pravidlo:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Aktualizace pravidla v sadě pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules/$RULE_ID_2" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"position": {
				"before": ""
		}
	}'

V takovém případě by nové pořadí pravidel bylo:

<RULE_ID_2>, <RULE_ID_1>, <RULE_ID_3>, <RULE_ID_4>

Příklad 2

Následující požadavek s position objekt umístí pravidlo $RULE_ID_2 za pravidlem 3:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Aktualizace pravidla v sadě pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules/$RULE_ID_2" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"position": {
				"after": "<RULE_ID_3>"
		}
	}'

V takovém případě by nové pořadí pravidel bylo:

<RULE_ID_1>, <RULE_ID_3>, <RULE_ID_2>, <RULE_ID_4>

Příklad 3

Následující požadavek s position objekt umístí pravidlo $RULE_ID_1 na pozici 3, čímž se stane třetím pravidlem v sadě pravidel:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Aktualizace pravidla v sadě pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules/$RULE_ID_1" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"position": {
				"index": 3
		}
	}'

V takovém případě by nové pořadí pravidel bylo:

<RULE_ID_2>, <RULE_ID_3>, <RULE_ID_1>, <RULE_ID_4>