INTEGRITY Dokumentace

Přidání pravidla do sady pravidel

Přidá jediné pravidlo do stávající sady pravidel. Pomocí tohoto endpointu přidáte pravidlo, aniž byste museli do požadavku zahrnout všechna stávající pravidla sady.

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

Definici pravidla uveďte v těle požadavku.

Pravidlo se ve výchozím nastavení přidá na konec stávajícího seznamu pravidel v sadě pravidel. Chcete-li pro pravidlo určit konkrétní pozici, zahrňte position objekt v těle požadavku podle pokynů v Změna pořadí pravidla v sadě pravidel.

Volání této metody vytvoří novou verzi rulesetu.

Příklad

Následující POST přidá pravidlo do sady pravidel $RULESET_ID zóny $ZONE_ID. ID rulesetu bylo předtím získáno pomocí Seznam sad pravidel zóny operace a odpovídá vstupní sadě pravidel pro http_request_firewall_custom fáze.

Odpověď bude obsahovat kompletní sadu pravidel po přidání pravidla.

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

Alespoň jeden z následujících oprávnění tokenu je povinné:
Vytvoření pravidla sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \
	--request POST \
	--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": "Zone Ruleset 1",
		"description": "My phase entry point ruleset at the zone level",
		"kind": "zone",
		"version": "11",
		"rules": [
			{
				"id": "<RULE_ID_1>",
				"version": "1",
				"action": "challenge",
				"expression": "not http.request.uri.path matches \"^/api/.*$\"",
				"last_updated": "2023-11-23T11:36:24.192361Z",
				"ref": "<RULE_REF_1>",
				"enabled": true
			},
			{
				"id": "<NEW_RULE_ID>",
				"version": "1",
				"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": "2024-06-22T12:35:58.144683Z",
				"ref": "<NEW_RULE_REF>",
				"enabled": true
			}
		],
		"last_updated": "2024-06-22T12:35:58.144683Z",
		"phase": "http_request_firewall_custom"
	},
	"success": true,
	"errors": [],
	"messages": []
}

Definujte pozici pravidla v sadě pravidel

Chcete-li definovat pozici nového pravidla v sadě pravidel, zahrňte position objekt v požadavku, který obsahuje jedno z následujících:

Příklady použití position objekt, viz Aktualizace pravidla v sadě pravidel.