← Cloudflare Rules / rules / snippets
Konfigurace Snippets pomocí API
Snippets můžete vytvořit pomocí Cloudflare API.
Požadovaná oprávnění
API token používaný v požadavcích API pro správu Snippets musí mít alespoň následující oprávnění:
- Zóna > Snippets > Úprava
Endpointy
Chcete-li získat úplný endpoint, připojte níže uvedené endpointy Snippets k základní URL adrese API Cloudflare:
https://api.cloudflare.com/client/v4 {zone_id} je argument, který obsahuje ID zóny (hexadecimální řetězec). Tuto hodnotu najdete v dashboardu Cloudflare.
Následující tabulka shrnuje dostupné operace.
| Operace | Metoda + koncový bod |
|---|---|
| Seznam všech snippetů | GET /zones/{zone_id}/snippets |
| Vytvořit/aktualizovat úryvek kódu | PUT /zones/{zone_id}/snippets/{snippet_name} |
| Získat podrobnosti snippetu kódu | GET /zones/{zone_id}/snippets/{snippet_name} |
| Získat obsah snippetu kódu | GET /zones/{zone_id}/snippets/{snippet_name}/content |
| Odstranění úryvku kódu | DELETE /zones/{zone_id}/snippets/{snippet_name} |
| Seznam pravidel pro snippety | GET /zones/{zone_id}/snippets/snippet_rules |
| Vytvořit/aktualizovat/odstranit pravidla úryvků | PUT /zones/{zone_id}/snippets/snippet_rules |
| Odstranění všech pravidel úryvků | DELETE /zones/{zone_id}/snippets/snippet_rules |
Příklady volání API
Vytvořit/aktualizovat úryvek kódu
Chcete-li vytvořit nebo aktualizovat Snippet, použijte následující PUT požadavek. Snippet se nazývá $SNIPPET_NAME a tělo obsahuje kód JavaScript.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Snippets Write
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\"}"Název snippetu může obsahovat pouze znaky a-z, 0-9, a _ (podtržítko). Název musí být v rámci zóny jedinečný. Po vytvoření snippetu nelze jeho název změnit.
Povinné parametry těla jsou:
files: Soubor s vaším kódem JavaScript.metadata: Objekt obsahujícímain_module, který se musí shodovat s názvem nahraného souboru.
Aby tento příklad fungoval, uložte svůj JavaScript kód do souboru s názvem example.js, a poté spustí curl příkaz s PUT požadavek ze složky, kde example.js se nachází.
{
"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"
}
}Chcete-li nasadit nový snippet, musíte vytvořit pravidlo snippetu. Výraz pravidla snippetu určuje, kdy se kód snippetu spustí.
Vytvořit/aktualizovat/odstranit pravidla úryvků
Jakmile vytvoříte úryvek kódu, můžete ho propojit s pravidly. Provedete to pomocí následujícího PUT požadavek na snippet_rules koncový bod.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Snippets Write
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"
}
]
}'