<script src="https://<cloudfront>/client-side/xxxx/xxxxxxxxxxxx.js"></script>
|
|
necessary |
|
analytics |
|
advertisement |
|
functionality |
|
performance |
|
|
|
|
cc:onFirstConsent |
|
{ cookie } |
cc:onConsent |
|
{ cookie } |
cc:onChange |
|
{ cookie, changedCategories, changedServices }
|
cc:onModalShow |
|
{ modalName } |
cc:onModalHide |
|
{ modalName } |
cc:onModalReady |
|
{ modalName, modal } |
{
"categories": ["necessary", "analytics"], // categorias aceitas
"services": { // serviços aceitos por categoria
"necessary": [],
"analytics": ["google-analytics"]
},
"consentId": "8f3c…-uuid", // id único do consentimento
"consentTimestamp": "2026-06-03T12:00:00.000Z",
"lastConsentTimestamp": "2026-06-03T12:30:00.000Z",
"revision": 0,
"data": null, // dados customizados (setCookieData)
"languageCode": "pt"
}
// Carregar o Google Analytics apenas quando "analytics" for aceito
document.addEventListener("cc:onConsent", ({ detail }) => {
if (detail.cookie.categories.includes("analytics")) {
carregarGA();
}
});
// Reagir a mudanças específicas de preferência
document.addEventListener("cc:onChange", ({ detail }) => {
console.log("Categorias alteradas:", detail.changedCategories);
console.log("Serviços alterados:", detail.changedServices);
});
|
|
|
acceptedCategory(category) |
boolean |
|
acceptedService(service, category) |
boolean |
|
getUserPreferences() |
object |
|
getCookie(field?, cookieName?) |
any |
|
validConsent() |
boolean |
|
validCookie(cookieName) |
boolean |
|
acceptCategory(categories, excluded?) |
void |
|
acceptService(service, category) |
boolean |
|
eraseCookies(cookies, path?, domain?) |
void |
|
show(createModal?) |
void |
|
hide() |
void |
|
showPreferences() |
void |
|
hidePreferences() |
void |
|
loadScript(src, attrs?) |
Promise<boolean> |
|
setCookieData({ value, mode }) |
boolean |
|
getConfig(field?) |
any |
|
setLanguage(lang, forceUpdate?) |
Promise<boolean> |
|
if (CookieConsent.acceptedCategory("analytics")) { /* … */ }
{
"acceptType": "custom", // "all" | "necessary" | "custom"
"acceptedCategories": ["necessary", "analytics"],
"rejectedCategories": ["advertisement", "functionality", "performance"],
"acceptedServices": { "analytics": ["google-analytics"] },
"rejectedServices": { "advertisement": ["meta-pixel"] }
}
const cookie = CookieConsent.getCookie(); // objeto completo
const id = CookieConsent.getCookie("consentId"); // string
CookieConsent.acceptCategory("all"); // aceita todas
CookieConsent.acceptCategory([]); // só necessary (rejeita o resto)
CookieConsent.acceptCategory(["analytics"]); // necessary + analytics
CookieConsent.acceptCategory("all", ["advertisement"]); // todas menos advertisement
const ok = await CookieConsent.loadScript("https://example.com/x.js", { async: "true" });
await CookieConsent.setLanguage("en");
CookieConsent.show(true); // abre o banner; cria se não existir
CookieConsent.showPreferences(); // abre as preferências (ex.: link "Gerenciar cookies")
<!-- Serviço nomeado dentro da categoria -->
<script
type="text/plain"
data-category="advertisement"
data-service="meta-pixel"
src="https://connect.facebook.net/...">
</script>
<!-- Código inline também funciona -->
<script type="text/plain" data-category="analytics">
console.log("só roda após aceite de analytics");
</script>
|
|
|
type="text/plain" |
|
|
data-category |
|
|
data-service |
|
|
<!-- Já entregue neutralizado: data-src preenchido, src ausente -->
<iframe
data-category="functionality"
data-src="https://www.youtube.com/embed/VIDEO_ID"></iframe>
|
|
cmp-consent-ready |
|
cmp-accept-<categoria> |
|
cmp-accept-<serviceKey> |
|
<button onclick="CookieConsent.showPreferences()">Gerenciar cookies</button>
document.addEventListener("cc:onFirstConsent", ({ detail }) => {
enviarEventoDeOptIn(detail.cookie.consentId);
});
document.addEventListener("cc:onConsent", () => {
if (CookieConsent.acceptedService("hotjar", "analytics")) {
CookieConsent.loadScript("https://static.hotjar.com/c/hotjar-XXXX.js");
}
});