
{"id":4400,"date":"2021-10-12T15:51:09","date_gmt":"2021-10-12T15:51:09","guid":{"rendered":"http:\/\/dummy.xtemos.com\/woodmart2\/elementor\/?page_id=4400"},"modified":"2025-09-13T18:05:41","modified_gmt":"2025-09-13T16:05:41","slug":"devis-sur-mesure-etiquettes-en-ligne","status":"publish","type":"page","link":"https:\/\/printetiq.com\/index.php\/devis-sur-mesure-etiquettes-en-ligne\/","title":{"rendered":"Devis sur mesure"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4400\" class=\"elementor elementor-4400\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-1c90c3f wd-section-stretch e-flex e-con-boxed e-con e-parent\" data-id=\"1c90c3f\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5d57672 elementor-widget__width-initial elementor-widget-tablet__width-inherit wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"5d57672\" data-element_type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-default wd-title-size-large text-center\">\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"title-subtitle subtitle-color-primary subtitle-style-default wd-fontsize-xs\">\n\t\t\t\t\tVous avez une demande particuli\u00e8re ?\t\t\t\t<\/div>\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h3 class=\"woodmart-title-container title wd-fontsize-xxl\">DEVIS SUR MESURE <\/h3> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"wd-negative-gap elementor-element elementor-element-f9e06c5 e-flex e-con-boxed e-con e-parent\" data-id=\"f9e06c5\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a1cfa50 e-con-full e-flex e-con e-child\" data-id=\"a1cfa50\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ed80f2f elementor-widget elementor-widget-image\" data-id=\"ed80f2f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2560\" height=\"2560\" src=\"https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-scaled.jpg\" class=\"attachment-full size-full wp-image-28271\" alt=\"\" srcset=\"https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-scaled.jpg 2560w, https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-300x300.jpg 300w, https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-800x800.jpg 800w, https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-150x150.jpg 150w, https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-768x768.jpg 768w, https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-1536x1536.jpg 1536w, https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-2048x2048.jpg 2048w, https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-430x430.jpg 430w, https:\/\/printetiq.com\/wp-content\/uploads\/2025\/02\/Imprimeur-etiquettes-en-planche-ou-a-lunite-imprimerie-stikers-1-700x700.jpg 700w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8587646 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"8587646\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>\u00c9TIQUETTES POSE MANUELLE<\/h3><p>La pose manuelle consiste \u00e0 coller manuellement les \u00e9tiquettes les unes apr\u00e8s les autres sur un packaging. Ce type de pose convient parfaitement pour des faibles quantit\u00e9s de produits \u00e0 \u00e9tiqueter. Pour vous proposer une solution adapt\u00e9e \u00e0 la pose manuelle, toutes nos \u00e9tiquettes sont conditionn\u00e9es en bobines, afin de faciliter l\u2019\u00e9tiquetage des produits.<\/p><p>Pour tout autre type d&rsquo;utilisation o\u00f9 la m\u00e9canisation est requise, ou si vous souhaitez un sens d&rsquo;orientation sp\u00e9cifique, nous vous recommandons de choisir la pose automatique (type de pose qui convient parfaitement pour tous les usages industriels des cha\u00eenes de production, assurant une efficacit\u00e9 optimale).<\/p><h3>QUELS SONT LES AVANTAGES DE COMMANDER DES \u00c9TIQUETTES AUTOCOLLANTES PERSONNALIS\u00c9ES SUR ADESA ?<\/h3><p>Sur Adesa, vous b\u00e9n\u00e9ficiez de nombreux avantages :<\/p><ul><li>Grande flexibilit\u00e9 en termes de quantit\u00e9s : 25 \u00e0 20 000 \u00e9tiquettes<\/li><li>Production 100% made in France<\/li><li>Formats et formes de d\u00e9coupe libres : vous \u00eates totalement autonome<\/li><li>B\u00e9n\u00e9ficiez d\u2019un large choix de mati\u00e8res et finitions<\/li><li>Possibilit\u00e9 de commander jusqu\u2019\u00e0 10 mod\u00e8les (quantit\u00e9 divis\u00e9e par nombre de mod\u00e8les)<\/li><li>Profitez de d\u00e9lais comp\u00e9titifs : d\u00e9lais de production en J+3 ou J+1<\/li><li>Livraison offerte en France M\u00e9tropolitaine <\/li><\/ul><h3>O\u00d9 SONT PRODUITES LES \u00c9TIQUETTES AUTOCOLLANTES EN POSE MANUELLE ?<\/h3><p>Nos adh\u00e9sifs sont int\u00e9gralement imprim\u00e9s en France et sont 100 % personnalisables ! Adesa est une imprimerie :<\/p><ul><li>Situ\u00e9e dans le Sud de la France<\/li><li>Qui Compte plus de 60 ans d\u2019histoire<\/li><li>Leader du web-to-print dans l\u2019\u00e9tiquette<\/li><li>Dot\u00e9e d\u2019un parc machines complet et performant<\/li><\/ul><p>Notre imprimerie excelle dans la r\u00e9alisation de projets vari\u00e9s et exigeants. Une \u00e9quipe de conseillers est disponible par t\u00e9l\u00e9phone pour vous accompagner dans vos projets d\u2019\u00e9tiquettes.<\/p><h3>LA CONCEPTION DU FICHIER D\u2019IMPRESSION<\/h3><p>Pour la conception de vos fichiers d&rsquo;impression, nous mettons \u00e0 disposition un guide PAO qui contient les informations techniques n\u00e9cessaires \u00e0 la cr\u00e9ation conforme de vos \u00e9tiquettes adh\u00e9sives. Pour plus d\u2019informations sur la pr\u00e9paration de vos fichiers d\u2019impression, rendez-vous ici.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-08de78a e-con-full e-flex e-con e-child\" data-id=\"08de78a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f0dfad elementor-widget elementor-widget-html\" data-id=\"1f0dfad\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section id=\"adesa-quote\" style=\"padding:20px; max-width:90%; margin:auto; border:1px solid #ddd; border-radius:8px;\">\n  <h2>Request Your Quote<\/h2>\n\n  <form id=\"quoteForm\" enctype=\"multipart\/form-data\">\n    <!-- === ALL YOUR ORIGINAL FORM FIELDS === -->\n\n    <label>Scenario<\/label>\n    <select id=\"scenario\" name=\"scenario\" style=\"width:100%;margin-bottom:10px;\">\n      <option value=\"892\">couche permanent + vernis brillant<\/option>\n      <option value=\"894\">couche permanent + pelliculage brillant<\/option>\n      <option value=\"896\">pp blanc + vernis brillant<\/option>\n      <option value=\"898\">pp blanc + pelliculage brillant<\/option>\n      <option value=\"900\">pp blanc + pelliculage mat<\/option>\n      <option value=\"902\">pp transparent + vernis brillant<\/option>\n      <option value=\"904\">pp transparent + pelliculage brillant<\/option>\n      <option value=\"906\">pp transparent + pelliculage mat<\/option>\n      <option value=\"908\">pp argent + vernis brillant<\/option>\n      <option value=\"910\">pp argent + pelliculage brillant<\/option>\n      <option value=\"912\">pp argent + pelliculage mat<\/option>\n      <option value=\"914\">couche enlevable + vernis brillant<\/option>\n      <option value=\"916\">couche enlevable + pelliculage brillant<\/option>\n      <option value=\"918\">couche enlevable + pelliculage mat<\/option>\n      <option value=\"920\" selected>tintoretto + sans finition<\/option>\n      <option value=\"922\">papier perle gaufre + vernis brillant<\/option>\n      <option value=\"928\">couche permanent + pelliculage mat<\/option>\n      <option value=\"938\">rush couche permanent + vernis brillant<\/option>\n      <option value=\"946\">stickers pp blanc + pelliculage mat<\/option>\n      <option value=\"948\">planches pp blanc + pelliculage brillant<\/option>\n      <option value=\"950\">planches pp blanc + pelliculage mat<\/option>\n      <option value=\"954\">pp transparent vitrophanie + vernis brillant<\/option>\n      <option value=\"958\">planches couche permanent + vernis brillant<\/option>\n      <option value=\"960\">kraft + sans finition<\/option>\n      <option value=\"973\">rush couche permanent + pelliculage mat<\/option>\n      <option value=\"975\">rush couche permanent + pelliculage brillant<\/option>\n      <option value=\"981\">couche permanent + vernis mat<\/option>\n      <option value=\"983\">pp blanc + vernis mat<\/option>\n      <option value=\"985\">rush pp blanc + vernis brillant<\/option>\n      <option value=\"987\">rush pp blanc + pelliculage brillant<\/option>\n      <option value=\"989\">rush pp blanc + pelliculage mat<\/option>\n      <option value=\"991\">pp blanc + pelliculage soft touch<\/option>\n      <option value=\"1011\">fluo jaune + sans finition<\/option>\n      <option value=\"1019\">cane fiber + sans finition<\/option>\n      <option value=\"2025\">couche recycle + sans finition<\/option>\n      <option value=\"2027\">pla clear + sans finition<\/option>\n      <option value=\"2028\">[undefined name]<\/option>\n      <option value=\"2031\">pp transparent + vernis mat<\/option>\n      <option value=\"2033\">couche enlevable + vernis mat<\/option>\n      <option value=\"2035\">pp blanc opaque dorsal argent + vernis brillant<\/option>\n      <option value=\"2039\">pp blanc renforce + vernis brillant<\/option>\n      <option value=\"2041\">couche renforce + pelliculage brillant<\/option>\n      <option value=\"2043\">couche renforce + pelliculage mat<\/option>\n      <option value=\"2045\">pp blanc renforce + pelliculage brillant<\/option>\n      <option value=\"2047\">pp blanc renforce + pelliculage mat<\/option>\n      <option value=\"2049\">pp blanc renforce + vernis mat<\/option>\n    <\/select><br>\n\n    <label>Application<\/label>\n    <select id=\"application\" name=\"application\" style=\"width:100%;margin-bottom:10px;\">\n      <option value=\"0\">Automatic<\/option>\n      <option value=\"1\">Manual<\/option>\n    <\/select><br>\n\n    <label>Core Size (mm)<\/label>\n    <input type=\"number\" id=\"coreSize\" value=\"40\" style=\"width:100%;margin-bottom:10px;\"><br>\n\n    <div style=\"display:flex; gap:20px; margin-bottom:10px;\">\n      <div style=\"flex:1;\">\n        <label for=\"height\">Height (mm)<\/label>\n        <input type=\"number\" id=\"height\" value=\"100\" style=\"width:100%; padding:6px;\">\n      <\/div>\n      <div style=\"flex:1;\">\n        <label for=\"width\">Width (mm)<\/label>\n        <input type=\"number\" id=\"width\" value=\"50\" style=\"width:100%; padding:6px;\">\n      <\/div>\n    <\/div>\n\n    <label>Orientation<\/label>\n    <select id=\"orientation\" name=\"orientation\" style=\"width:100%;margin-bottom:10px;\">\n      <option value=\"0\">0<\/option>\n      <option value=\"90\">90<\/option>\n      <option value=\"180\">180<\/option>\n      <option value=\"270\">270<\/option>\n    <\/select><br>\n\n    <label>Quantity per Roll<\/label>\n    <input type=\"number\" id=\"quantityPerRoll\" value=\"200\" style=\"width:100%;margin-bottom:10px;\"><br>\n\n    <label>Series Quantities (comma separated)<\/label>\n    <input type=\"text\" id=\"series\" value=\"500,1000\" style=\"width:100%;margin-bottom:10px;\"><br>\n\n    <label for=\"country\">Country<\/label>\n    <select id=\"country\" name=\"country\" style=\"margin-bottom:10px; max-height: 150px; overflow-y: auto;\">\n      <option value=\"fr\" selected>France<\/option>\n    <\/select><br>\n\n    <label>Shape ID<\/label>\n    <select id=\"shape\" name=\"shape\" style=\"width:100%;margin-bottom:10px;\">\n      <option value=\"1\">Personalized<\/option>\n      <option value=\"2\">Rectangle<\/option>\n      <option value=\"3\">Round<\/option>\n      <option value=\"4\">Square<\/option>\n    <\/select><br>\n\n    <!-- \u2705 Replaced File URL with File Upload -->\n<label>Artwork File<\/label>\n    <input type=\"file\" id=\"fileUpload\" accept=\".pdf,.ai,.eps,.tif\" style=\"width:100%;margin-bottom:10px;\"><br>\n\n    <span id=\"priceDisplay\" style=\"display:block; margin:10px 0; font-weight:bold; font-size:18px; color:#0073aa;\">\n      \ud83d\udcb0 Price: -\n    <\/span>\n    <input type=\"hidden\" name=\"custom_price\" id=\"custom_price_field\" value=\"\">\n\n    <button type=\"submit\" style=\"padding:10px 20px; background:#0073aa; color:white; border:none; border-radius:4px;\">\n      Create & Validate Quote\n    <\/button>\n    \n    <button id=\"addToCartBtn\" style=\"display:none; margin-top:15px; padding:10px 20px; background:green; color:white; border:none; border-radius:4px;\">\n    \ud83d\uded2 Add to Cart & Go to Checkout\n  <\/button>\n  <\/form>\n\n  <div id=\"quoteResponse\" style=\"margin-top:20px; font-family:monospace; white-space:pre-wrap;\"><\/div>\n<\/section>\n\n<script>\nlet priceTimer;\n\n\/\/ \ud83d\udd39 Debounced update price function\nfunction debounceUpdatePrice() {\n  clearTimeout(priceTimer);\n  priceTimer = setTimeout(updatePrice, 500);\n}\n\n\/\/ \ud83d\udd39 Fetch live price from ADESA\nasync function updatePrice() {\n    const priceSpan = document.getElementById(\"priceDisplay\");\n    priceSpan.textContent = \"\u23f3 Updating price...\";\n\n    const scenario = parseInt(document.getElementById(\"scenario\").value);\n    const application = parseInt(document.getElementById(\"application\").value);\n    const coreSize = parseInt(document.getElementById(\"coreSize\").value);\n    const height = parseInt(document.getElementById(\"height\").value);\n    const width = parseInt(document.getElementById(\"width\").value);\n    const orientation = parseInt(document.getElementById(\"orientation\").value);\n    const quantityPerRoll = parseInt(document.getElementById(\"quantityPerRoll\").value);\n    const seriesInput = document.getElementById(\"series\").value\n        .split(\",\")\n        .map(s => ({ quantity: parseInt(s.trim()) }))\n        .filter(s => !isNaN(s.quantity));\n    const country = document.getElementById(\"country\").value;\n    const shape = parseInt(document.getElementById(\"shape\").value);\n\n    try {\n        const res = await fetch(\"https:\/\/api.myadesa.fr\/quotes\", {\n            method: \"POST\",\n            headers: {\n                \"Content-Type\": \"application\/json\",\n                \"Accept\": \"application\/json\",\n                \"Authorization\": \"Bearer 88d43dfd6fd902962f7bd2cf7147de7b56360cb3\"\n            },\n            body: JSON.stringify({\n                scenario: { uid: scenario },\n                application, coreSize, height, width,\n                orientation, quantityPerRoll,\n                series: seriesInput,\n                country: { countryCode: country },\n                shape: { id: shape }\n            })\n        });\n\n        if (!res.ok) throw new Error(\"Price fetch failed: \" + res.status);\n        const quote = await res.json();\n\n        if (quote.sellingPrice) {\n            \/\/ Show price\n            priceSpan.textContent = `\ud83d\udcb0 Price: ${quote.sellingPrice} \u20ac`;\n\n            \/\/ \ud83d\udd39 Sync hidden input for WooCommerce cart\n            const hiddenField = document.getElementById(\"custom_price_field\");\n            if (hiddenField) {\n                hiddenField.value = quote.sellingPrice;\n            }\n        } else {\n            priceSpan.textContent = \"\u26a0\ufe0f No price returned\";\n        }\n    } catch (err) {\n        priceSpan.textContent = \"\u274c Error fetching price\";\n        console.error(err);\n    }\n}\n\n\/\/ \ud83d\udd39 Handle form submit: upload file, create quote, attach file, enable cart\ndocument.getElementById(\"quoteForm\").addEventListener(\"submit\", async function(e) {\n    e.preventDefault();\n    const output = document.getElementById(\"quoteResponse\");\n    output.innerHTML = \"\u23f3 Processing your quote request...\";\n\n    const fileInput = document.getElementById(\"fileUpload\");\n    let fileUrl = \"\";\n\n    \/\/ Step 1: Upload file to WP\n    if (fileInput.files.length > 0) {\n        const uploadData = new FormData();\n        uploadData.append(\"action\", \"handle_file_upload\");\n        uploadData.append(\"file\", fileInput.files[0]);\n\n        const uploadRes = await fetch(\"\/wp-admin\/admin-ajax.php\", {\n            method: \"POST\",\n            body: uploadData,\n            credentials: \"same-origin\"\n        });\n\n        const rawRes = await uploadRes.text();\n        console.log(\"Raw upload response:\", rawRes);\n        let uploadJson;\n        try {\n            uploadJson = JSON.parse(rawRes);\n        } catch (err) {\n            throw new Error(\"Upload response not JSON: \" + rawRes);\n        }\n\n        if (!uploadJson.success) {\n            throw new Error(\"File upload failed: \" + (uploadJson.data?.message || \"Unknown error\"));\n        }\n        fileUrl = uploadJson.data.url; \/\/ \u2705 File URL from WP\n    }\n\n    \/\/ Step 2: Create quote at ADESA\n    try {\n        const scenario = parseInt(document.getElementById(\"scenario\").value);\n        const application = parseInt(document.getElementById(\"application\").value);\n        const coreSize = parseInt(document.getElementById(\"coreSize\").value);\n        const height = parseInt(document.getElementById(\"height\").value);\n        const width = parseInt(document.getElementById(\"width\").value);\n        const orientation = parseInt(document.getElementById(\"orientation\").value);\n        const quantityPerRoll = parseInt(document.getElementById(\"quantityPerRoll\").value);\n        const seriesInput = document.getElementById(\"series\").value\n            .split(\",\")\n            .map(s => ({quantity: parseInt(s.trim())}))\n            .filter(s => !isNaN(s.quantity));\n        const country = document.getElementById(\"country\").value;\n        const shape = parseInt(document.getElementById(\"shape\").value);\n\n        const createRes = await fetch(\"https:\/\/api.myadesa.fr\/quotes\", {\n            method: \"POST\",\n            headers: {\n                \"Content-Type\": \"application\/json\",\n                \"Accept\": \"application\/json\",\n                \"Authorization\": \"Bearer 88d43dfd6fd902962f7bd2cf7147de7b56360cb3\"\n            },\n            body: JSON.stringify({\n                scenario: { uid: scenario },\n                application, coreSize, height, width,\n                orientation, quantityPerRoll,\n                series: seriesInput,\n                country: { countryCode: country },\n                shape: { id: shape }\n            })\n        });\n\n        if (!createRes.ok) throw new Error(\"Quote creation failed: \" + createRes.status);\n        const quote = await createRes.json();\n        output.innerHTML = \"\u2705 Quote Created:\\n\" + JSON.stringify(quote, null, 2);\n\n        \/\/ Step 3: Attach uploaded file to quote series\n        if (fileUrl && quote.series) {\n            for (let s of quote.series) {\n                const fileRes = await fetch(`https:\/\/api.myadesa.fr\/quote_series\/${s.id}\/file\/remote`, {\n                    method: \"POST\",\n                    headers: {\n                        \"Content-Type\": \"application\/json\",\n                        \"Authorization\": \"Bearer 88d43dfd6fd902962f7bd2cf7147de7b56360cb3\"\n                    },\n                    body: JSON.stringify({\n                        url: fileUrl,\n                        name: \"uploaded_artwork\",\n                        extension: fileUrl.split('.').pop() || \"pdf\"\n                    })\n                });\n                if (!fileRes.ok) throw new Error(\"File attach failed: \" + fileRes.status);\n            }\n        }\n\n        \/\/ Step 4: Show price & enable Add to Cart\n        if (quote.sellingPrice) {\n            document.getElementById(\"priceDisplay\").textContent = `\ud83d\udcb0 Price: ${quote.sellingPrice} \u20ac`;\n\n            \/\/ Sync WooCommerce hidden field\n            const hiddenField = document.getElementById(\"custom_price_field\");\n            if (hiddenField) {\n                hiddenField.value = quote.sellingPrice;\n            }\n\n            const cartBtn = document.getElementById(\"addToCartBtn\");\n            cartBtn.style.display = \"inline-block\";\n            cartBtn.dataset.price = quote.sellingPrice;\n        }\n\n    } catch (err) {\n        output.innerHTML = \"\u274c Error: \" + err.message;\n    }\n});\n\n\/\/ \ud83d\udd39 Add product to cart & redirect to checkout\ndocument.getElementById(\"addToCartBtn\").onclick = function() {\n  window.location.href = \"https:\/\/printetiq.com\/index.php\/shop\/?add-to-cart=28497\";\n};\n\n\/\/ \ud83d\udd39 Attach realtime listeners to all inputs\ndocument.querySelectorAll(\"#quoteForm input, #quoteForm select\").forEach(el => {\n  el.addEventListener(\"input\", debounceUpdatePrice);\n  el.addEventListener(\"change\", debounceUpdatePrice);\n});\n\n\/\/ \ud83d\udd39 Initial price load\nupdatePrice();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Vous avez une demande particuli\u00e8re ? DEVIS SUR MESURE \u00c9TIQUETTES POSE MANUELLE La pose manuelle consiste \u00e0 coller manuellement les<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4400","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/printetiq.com\/index.php\/wp-json\/wp\/v2\/pages\/4400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/printetiq.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/printetiq.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/printetiq.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/printetiq.com\/index.php\/wp-json\/wp\/v2\/comments?post=4400"}],"version-history":[{"count":145,"href":"https:\/\/printetiq.com\/index.php\/wp-json\/wp\/v2\/pages\/4400\/revisions"}],"predecessor-version":[{"id":28712,"href":"https:\/\/printetiq.com\/index.php\/wp-json\/wp\/v2\/pages\/4400\/revisions\/28712"}],"wp:attachment":[{"href":"https:\/\/printetiq.com\/index.php\/wp-json\/wp\/v2\/media?parent=4400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}