`; } async function setCookie(cookieName, cookieValue, cookieDays) { const url = 'https://www.meioemensagem.com.br/wp-admin/admin-ajax.php'; const action = 'set_cookie'; const cookieDomain = '.meioemensagem.com.br'; try { const response = await fetch(url, { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: new URLSearchParams({ action: action, cookie_name: cookieName, cookie_value: cookieValue, cookie_domain: cookieDomain, }), }); if (!response.ok) { throw new Error('Network response was not ok'); } console.log('Cookie set successfully!'); } catch (error) { console.log('Error setting cookie:', error); } } async function getCookie(cookieName) { const url = '/wp-admin/admin-ajax.php'; const action = 'get_cookie'; try { const response = await fetch(url, { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: new URLSearchParams({ action, cookie_name: cookieName }), }); if (!response.ok) { throw new Error('Network response was not ok'); } const data = await response.json(); return data.success ? data.data : null; } catch (error) { console.error('Error getting cookie', error); return null; } } async function deleteCookie(name) { try { const response = await fetch('https://www.meioemensagem.com.br/wp-admin/admin-ajax.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ action: 'delete_cookie', cookie_name: name }) }); if (!response.ok) { throw new Error('Network response was not ok'); } console.log('Cookie deleted successfully!'); } catch (error) { console.error('Error deleting cookie:', error); } } async function getLinksData(token) { const url = '/wp-admin/admin-ajax.php'; const action = 'get_mmid_data'; try { const response = await fetch(url, { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: new URLSearchParams({ action, token }), }); if (!response.ok) { throw new Error('Network response was not ok'); } const data = await response.json(); if (data.success) { return data.data; } else { throw new Error(data.data.message || 'Unknown error occurred'); } } catch (error) { console.error('Error fetching user data', error); throw error; } } async function getUserData(token) { const url = '/wp-admin/admin-ajax.php'; const action = 'get_user_data'; try { const response = await fetch(url, { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: new URLSearchParams({ action, token }), }); if (!response.ok) { throw new Error('Network response was not ok'); } const data = await response.json(); if (data.success) { if (data.data.id) { const userData = { 'event': 'login', 'user_id': data.data.id, 'cargo': data.data.cargo, 'area_atuacao': data.data.areaAtuacao, 'segmento_empresa': data.data.segmentoEmpresa }; dataLayer.push(userData); const userDataCookie = JSON.stringify(userData) await setCookie('_user', userDataCookie, 7); } return data.data.assinatura; } else { throw new Error(data.data.message || 'Unknown error occurred'); } } catch (error) { console.error('Error fetching user data', error); throw error; } } async function addTokenToDomainLinks() { // Check if the tokens have already been added if (!document.body.classList.contains("tokens-added")) { let domainLinks = document.querySelectorAll(".domain"); let token = ""; // Check if the token is not empty if (token.trim() !== "") { domainLinks.forEach(function(link) { var currentHref = link.getAttribute("href"); var separator = currentHref.includes("?") ? "&" : "?"; link.setAttribute("href", currentHref + separator + "token=" + token); }); // Add a class to indicate that tokens have been added document.body.classList.add("tokens-added"); } } } async function refreshMenu() { const fullUrl = window.location.href; const currentUrl = fullUrl.split('?')[0]; const token = await getCookie('_token'); try { const response = await fetch('https://www.meioemensagem.com.br/wp-admin/admin-ajax.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ action: 'load_content', current_url: currentUrl, token: token, type: 'ajax-legacy', }) }); if (!response.ok) { throw new Error('Network response was not ok'); } const data = await response.text(); document.getElementById('boxLogin').innerHTML = data; document.getElementById('boxLoginMobile').innerHTML = data; addTokenToDomainLinks(); } catch (error) { console.log('Error loading content', error); } } async function sendLogout() { try { const response = await fetch('https://www.meioemensagem.com.br/wp-admin/admin-ajax.php', { method: 'POST', body: new URLSearchParams({ action: 'user_logout', }), }); //console.log(response); } catch (error) { console.error('Error sending logout signal:', error); } } async function logout(event) { event.preventDefault(); console.log('logout'); try { localStorage.removeItem("_token"); localStorage.removeItem("_status"); await sendLogout(); const deleteCookies = async () => { const cookies = ["_token", "_refresh_token", "_status", "_user", "wordpress_", "wordpress"]; await Promise.all(cookies.map(cookie => deleteCookie(cookie))); window.dispatchEvent(new Event('cookieDeleted')); }; await deleteCookies(); await refreshMenu(); } catch (error) { console.error('Error during logout:', error); } }

Como engajar na era da hipersegmentação

Buscar

Como engajar na era da hipersegmentação

Buscar

Next, Now

Publicidade

Como engajar na era da hipersegmentação

Cada vez mais, marcas buscam dividir consumidores em “clusters” de comportamento e interesses em comum. Não por acaso, o olhar sobre comunidades ganha relevância na estratégia de marketing e negócios das empresas, em uma análise que vai muito além dos dados demográficos

EPISÓDIO 05 • 36:44

30 de março de 2020 - 8h00

Com Samuel Gomes, head de criação da Responsa

Publicidade

Compartilhe

  • Temas

  • podcast

  • tecnologia

Mais podcasts

15
15

00:00:00 | 00:00:00