• 340144-1

MAXIVED CAPO CZ 400 G C/24 - MAXI RUBBER

SKU: 51246

R$ 20,52

R$ 20,52 no PIX

Produto esgotado

Preencha os campos para ser avisado assim que o produto voltar ao estoque!

Consultar prazo e valor do frete

Informações

.
MAXIVED 1,15 KG- MAXI RUBBER
VEDA-CHOQUE MAXI 150 G CJ - MAXI RUBBER

R$ 74,49

R$ 69,56

R$ 69,56 no PIX

- 7%
ABRIDOR DE LATAS-  MAXI RUBBER

CADASTRE-SE

e receba em primeira mão dicas, novidades e ofertas sobre nossos materiais e muito mais!

logo
Icone do instagram Icone do facebook Icone do tiktok
Horário de Atendimento Segunda à Sexta - 7h30 as 18h Central de Atendimento
Formas de Pagamento imagem com as formas de pagamento
esta escrito site seguro esta escrito google safe browsing

Copyright - 2026 - SOLUWAN LTDA| CNPJ: 50.070.438/0001-14 Endereço: Rua São Luiz Gonzaga, 2021 - Rio de Janeiro CEP: 20910-061

logo da wicomm logo da wake
/** * ===================================================================== * SOLUWAN CRM — Captura de Carrinhos Abandonados * ===================================================================== * Inserir no Gestor de Scripts da Wake Commerce (ou no do tema) * Posição: Todas as páginas | Execução: Assíncrona * * Como funciona: * 1. Quando o cliente adiciona um item ao carrinho, salva os dados * no localStorage com o timestamp. * 2. A cada carregamento de página, verifica se há carrinho salvo. * 3. Se passaram >= 120 minutos sem compra finalizada, envia ao CRM. * 4. Ao detectar página de pedido confirmado, limpa o carrinho salvo. * 5. Captura dados do cliente quando ele preenche email/telefone no * checkout ou quando está logado. * ===================================================================== */ (function () { 'use strict'; // --- CONFIGURAÇÃO -------------------------------------------------- var CRM_ENDPOINT = 'https://crm-limpo.vercel.app/api/wake/abandoned-cart'; var STORAGE_KEY = 'slw_abandoned_cart'; var SENT_KEY = 'slw_cart_sent'; var MIN_MINUTES = 120; // minutos mínimos para considerar abandonado var CHECK_INTERVAL_MS = 5 * 60 * 1000; // checa a cada 5 minutos // ------------------------------------------------------------------ // --- UTILITÁRIOS -------------------------------------------------- function log(msg) { if (window.__SLW_DEBUG__) console.log('[SLW-CRM]', msg); } function getStorage() { try { return JSON.parse(localStorage.getItem(STORAGE_KEY) || 'null'); } catch (e) { return null; } } function setStorage(data) { try { localStorage.setItem(STORAGE_KEY, JSON.stringify(data)); } catch (e) {} } function clearStorage() { try { localStorage.removeItem(STORAGE_KEY); localStorage.removeItem(SENT_KEY); } catch (e) {} } function wasSent() { try { return !!localStorage.getItem(SENT_KEY); } catch (e) { return false; } } function markSent() { try { localStorage.setItem(SENT_KEY, '1'); } catch (e) {} } function minutesSince(ts) { return Math.round((Date.now() - ts) / 60000); } // --- DETECÇÃO DE PÁGINA DE PEDIDO CONFIRMADO ---------------------- function isOrderConfirmationPage() { var url = window.location.href.toLowerCase(); var path = window.location.pathname.toLowerCase(); return ( path.includes('/pedido-confirmado') || path.includes('/order-confirmed') || path.includes('/obrigado') || path.includes('/checkout/success') || path.includes('/checkout/confirmacao') || url.includes('pedidoconfirmado') || url.includes('orderconfirmed') || path.includes('/minha-conta/pedidos/') || document.querySelector('[data-order-confirmation]') !== null || document.querySelector('.order-confirmation') !== null || document.querySelector('#order-success') !== null ); } // --- CAPTURA DE DADOS DO CLIENTE ---------------------------------- function getCustomerFromPage() { var customer = {}; // 1. Objeto global da Wake Commerce (tema) try { var wakeCustomer = window.__wake_customer__ || window.wake_customer || window.customerData || window.__customer; if (wakeCustomer && (wakeCustomer.email || wakeCustomer.name)) { customer.name = wakeCustomer.name || wakeCustomer.nome || ''; customer.email = wakeCustomer.email || ''; customer.phone = wakeCustomer.phone || wakeCustomer.celular || wakeCustomer.telefone || ''; } } catch (e) {} // 2. Meta tags do tema Wake try { var metaEmail = document.querySelector('meta[name="customer-email"]'); var metaName = document.querySelector('meta[name="customer-name"]'); var metaPhone = document.querySelector('meta[name="customer-phone"]'); if (metaEmail) customer.email = customer.email || metaEmail.getAttribute('content') || ''; if (metaName) customer.name = customer.name || metaName.getAttribute('content') || ''; if (metaPhone) customer.phone = customer.phone || metaPhone.getAttribute('content') || ''; } catch (e) {} // 3. Campos de formulário (checkout) try { var emailInput = document.querySelector( 'input[name="email"], input[type="email"], #email, #customer-email, [data-testid="email"]' ); var phoneInput = document.querySelector( 'input[name="phone"], input[name="telefone"], input[name="celular"], #phone, #telefone, [data-testid="phone"]' ); var nameInput = document.querySelector( 'input[name="name"], input[name="nome"], #name, #customer-name, [data-testid="name"]' ); if (emailInput && emailInput.value) customer.email = customer.email || emailInput.value.trim(); if (phoneInput && phoneInput.value) customer.phone = customer.phone || phoneInput.value.trim(); if (nameInput && nameInput.value) customer.name = customer.name || nameInput.value.trim(); } catch (e) {} return customer; } // --- CAPTURA DO CARRINHO ------------------------------------------ function getCartFromPage() { var cart = { items: [], total: 0, cartId: null }; // 1. Objeto global da Wake Commerce try { var wakeCart = window.__wake_cart__ || window.wake_cart || window.cartData || window.__cart; if (wakeCart) { var items = wakeCart.items || wakeCart.itens || wakeCart.products || []; cart.items = items.map(function (i) { return { id: i.productId || i.id || '', name: i.productName || i.name || i.nome || 'Produto', sku: i.sku || '', quantity: i.quantity || i.quantidade || 1, price: parseFloat(i.price || i.preco || 0), }; }); cart.total = parseFloat(wakeCart.total || wakeCart.valorTotal || 0); cart.cartId = wakeCart.cartId || wakeCart.id || wakeCart.checkoutId || null; } } catch (e) {} // 2. Lê itens do DOM (mini-cart / página de carrinho) if (cart.items.length === 0) { try { var cartItems = document.querySelectorAll( '[data-cart-item], .cart-item, .minicart-item, [data-testid="cart-item"]' ); cartItems.forEach(function (el) { var nameEl = el.querySelector('[data-item-name], .item-name, .product-name, h3, h4'); var priceEl = el.querySelector('[data-item-price], .item-price, .price'); var qtyEl = el.querySelector('[data-item-quantity], .item-quantity, input[name="quantity"]'); if (nameEl) { cart.items.push({ name: nameEl.textContent.trim(), quantity: parseInt((qtyEl && qtyEl.value) || 1, 10), price: parseFloat( ((priceEl && priceEl.textContent) || '0') .replace(/[^\d,.]/g, '') .replace(',', '.') ), }); } }); var totalEl = document.querySelector('[data-cart-total], .cart-total, .total-value, .order-total'); if (totalEl) { cart.total = parseFloat(totalEl.textContent.replace(/[^\d,.]/g, '').replace(',', '.')) || cart.total; } } catch (e) {} } return cart; } // --- ENVIO AO CRM ------------------------------------------------- function sendToCRM(data, callback) { var payload = JSON.stringify(data); if (window.fetch) { fetch(CRM_ENDPOINT, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: payload, keepalive: true, }) .then(function (r) { return r.json(); }) .then(function (res) { if (callback) callback(null, res); }) .catch(function (err) { if (callback) callback(err, null); }); } else { var xhr = new XMLHttpRequest(); xhr.open('POST', CRM_ENDPOINT, true); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { if (callback) { if (xhr.status >= 200 && xhr.status < 300) { callback(null, JSON.parse(xhr.responseText || '{}')); } else { callback(new Error('HTTP ' + xhr.status), null); } } } }; xhr.send(payload); } } // --- LÓGICA PRINCIPAL --------------------------------------------- function checkAndSendAbandonedCart() { var saved = getStorage(); if (!saved || !saved.ts) return; if (wasSent()) { log('Já enviado.'); return; } var elapsed = minutesSince(saved.ts); if (elapsed < MIN_MINUTES) { log('Aguardando... ' + elapsed + '/' + MIN_MINUTES + ' min'); return; } if (!saved.email && !saved.phone) { log('Sem contato, aguardando preenchimento.'); return; } var payload = { email: saved.email || null, phone: saved.phone || null, name: saved.name || 'Cliente da Loja', total: saved.total || 0, cartId: saved.cartId || null, items: saved.items || [], pagina: saved.pagina || window.location.href, utm_source: saved.utm_source || null, utm_medium: saved.utm_medium || null, utm_campaign: saved.utm_campaign || null, }; sendToCRM(payload, function (err, res) { if (!err && res && res.success) { markSent(); log('? Carrinho registrado no CRM!'); } }); } function saveCartSnapshot() { var customer = getCustomerFromPage(); var cart = getCartFromPage(); if (cart.items.length === 0 && !customer.email && !customer.phone) return; var existing = getStorage(); var ts = (existing && existing.ts) ? existing.ts : Date.now(); var params = new URLSearchParams(window.location.search); setStorage({ ts: ts, name: customer.name || (existing && existing.name) || '', email: customer.email || (existing && existing.email) || '', phone: customer.phone || (existing && existing.phone) || '', items: (cart.items.length > 0 ? cart.items : null) || (existing && existing.items) || [], total: cart.total || (existing && existing.total) || 0, cartId: cart.cartId || (existing && existing.cartId) || null, pagina: window.location.href, utm_source: params.get('utm_source') || (existing && existing.utm_source) || null, utm_medium: params.get('utm_medium') || (existing && existing.utm_medium) || null, utm_campaign: params.get('utm_campaign') || (existing && existing.utm_campaign) || null, }); } // --- HOOKS DE EVENTOS --------------------------------------------- function attachWakeEvents() { // Eventos nativos da Wake Commerce / tema ['cart:add', 'cart:update', 'cart:change', 'minicart:open', 'product:addedToCart', 'addToCart', 'wake:cart:updated' ].forEach(function (ev) { document.addEventListener(ev, function () { setTimeout(saveCartSnapshot, 500); }); }); // Cliques em botões "Adicionar ao Carrinho" document.addEventListener('click', function (e) { var el = e.target; for (var i = 0; i < 3 && el; i++) { var tag = (el.tagName || '').toLowerCase(); var cls = (el.className || '').toLowerCase(); var text = (el.textContent || '').toLowerCase().trim(); var attr = (el.getAttribute ? ( el.getAttribute('data-action') || el.getAttribute('data-testid') || el.getAttribute('id') || '' ) : '').toLowerCase(); if ( (tag === 'button' || tag === 'a') && ( cls.includes('add-to-cart') || cls.includes('addtocart') || cls.includes('btn-cart') || attr.includes('add-to-cart') || attr.includes('addtocart') || text === 'adicionar ao carrinho' || text === 'comprar' || text === 'add to cart' ) ) { setTimeout(saveCartSnapshot, 1000); break; } el = el.parentElement; } }, true); // Preenchimento de campos de contato document.addEventListener('change', function (e) { var el = e.target; if (!el) return; var type = (el.type || '').toLowerCase(); var name = (el.name || el.id || '').toLowerCase(); if ( type === 'email' || name.includes('email') || name.includes('phone') || name.includes('telefone') || name.includes('celular') ) { setTimeout(saveCartSnapshot, 300); } }); } // --- INICIALIZAÇÃO ------------------------------------------------ function init() { if (isOrderConfirmationPage()) { clearStorage(); return; } saveCartSnapshot(); checkAndSendAbandonedCart(); attachWakeEvents(); setInterval(function () { saveCartSnapshot(); checkAndSendAbandonedCart(); }, CHECK_INTERVAL_MS); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();