{"id":6512,"date":"2024-08-19T13:19:52","date_gmt":"2024-08-19T13:19:52","guid":{"rendered":"https:\/\/www.almavivawinery.com\/autentifica-tu-botella\/"},"modified":"2025-04-11T13:30:05","modified_gmt":"2025-04-11T13:30:05","slug":"autentifica-tu-botella","status":"publish","type":"page","link":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella","title":{"rendered":"Autentifica tu botella"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6512\" class=\"elementor elementor-6512 elementor-921\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3713934 e-con-full e-flex e-con e-parent\" data-id=\"3713934\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6cf2096 gs_principal_reveal elementor-hidden-widescreen elementor-hidden-desktop elementor-widget elementor-widget-heading\" data-id=\"6cf2096\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">AUTENTIFICA TU BOTELLA<\/h2>\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-1e85dbb e-con-full content_container e-grid e-con e-parent\" data-id=\"1e85dbb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-4f046f3 e-con-full e-flex e-con e-child\" data-id=\"4f046f3\" data-element_type=\"container\" data-e-type=\"container\" id=\"container-img\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0db418b elementor-widget elementor-widget-image\" data-id=\"0db418b\" data-element_type=\"widget\" data-e-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 loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"632\" height=\"408\" src=\"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img.png\" class=\"attachment-large size-large wp-image-6291\" alt=\"\" srcset=\"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img.png 632w, https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img-300x194.png 300w, https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img-600x387.png 600w\" sizes=\"auto, (max-width: 632px) 100vw, 632px\" \/>\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-5793802 elementor-widget__width-inherit elementor-widget-widescreen__width-inherit subtitle_img elementor-widget elementor-widget-text-editor\" data-id=\"5793802\" data-element_type=\"widget\" data-e-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<p>Puedes autentificar tu botella cuando quieras comparando la Bubble Tag\u2122 del sello con la del sitio web de Almaviva.<\/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-1f22728 e-con-full auth_form_container e-flex e-con e-child\" data-id=\"1f22728\" data-element_type=\"container\" data-e-type=\"container\" id=\"container-info-codes\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0265f69 elementor-widget elementor-widget-html\" data-id=\"0265f69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t    <div class=\"container\">\n      <div class=\"rowTwo\">\n        <h2 class=\"title\">AUTENTIFICA TU BOTELLA<\/h2>\n        <div class=\"parrafo-verif\">\n          <p>\n En Almaviva, queremos garantizar la autenticidad de nuestro vino, por eso a partir de la cosecha 2018, hemos incluido un sello de seguridad llamado Prooftag\u2122 Bubble Seal\u00ae en la c\u00e1psula de cada botella.\n          <\/p>\n          <p>\n El sello es un c\u00f3digo de burbuja \u00fanico e irreproducible, que est\u00e1 asociado a un c\u00f3digo QR y a un c\u00f3digo alfanum\u00e9rico que nos permite asegurar la mejor calidad para nuestros clientes y evitar la falsificaci\u00f3n.\n          <\/p>\n          <p>Este sello ofrece una doble protecci\u00f3n:<\/p>\n          <p>\n  1. Un precinto a prueba de manipulaciones en la c\u00e1psula confirma el origen y la integridad\nde la botella, e indica claramente cualquier intento de manipulaci\u00f3n.\n          <\/p>\n          <p>\n  2. El precinto incorpora un Bubble Tag\u2122 fabricado con un pol\u00edmero transl\u00facido en que autogenera un patr\u00f3n aleatorio de burbujas por reacci\u00f3n f\u00edsica.\n          <\/p>\n          <p>\n Esta constelaci\u00f3n \u00fanica de burbujas corresponde a una identidad espec\u00edfica, tal como una huella dactilar para cada botella.\n          <\/p>\n        <\/div>\n        <div class=\"botell-ingreso\">\n          <div class=\"qr-form\">\n            <form method=\"post\" onsubmit=\"handleSubmit(event)\" action=\"\">\n              <div class=\"userInput\">\n                <input type=\"text\" name=\"tagNumber\" onfocus=\"hiddenInvalid()\" id=\"tagNumberInput\" placeholder=\"N\u00famero de etiqueta\">\n                <input type=\"hidden\" name=\"Lang\" id=\"LangInput\">\n                <input type=\"hidden\" name=\"sessionId\" id=\"sessionIdInput\">\n\n                <input type=\"submit\" id=\"edit-submit\" name=\"op\" value=\" VERIFICAR\" class=\"form-submit\">\n                <div id=\"container-info-error\">\n                  <h3>C\u00f3digo inv\u00e1lido<\/h3>\n                <\/div>\n              <\/div>\n            <\/form>\n          <\/div>\n        <\/div>\n        <div id=\"info-codigo\">\n          <div class=\"loader\"><\/div>\n          <div id=\"contenido-response\" class=\"content\">\n            <div id=\"container-iframe-errors\">\n              <h5 id=\"title-error\"><\/h5>\n              <h5 id=\"lockout-notice\" style=\"color: red !important; display: none\">\n El c\u00f3digo ha sido bloqueado por los proximos 5 minutos. Intenta nuevamente\n              <\/h5>\n              <iframe id=\"error-iframe\" src=\"\"><\/iframe>\n            <\/div>\n            <div id=\"content-response\" class=\"content-response\">\n              <img decoding=\"async\" loading=\"lazy\" id=\"image_tag_64_bottleshot\" src=\"\" alt=\"Tag Image\" class=\"bottle-img\">\n              <div id=\"container-info-success\">\n                <p>Tu referencia: <span id=\"num_tag\"><\/span><\/p>\n                <br>                <p id=\"prd_name\"><\/p>\n                <p id=\"desc\"><\/p>\n                <a id=\"prd_url\" href=\"\">\n                  <button>Mas Informacion<\/button>\n                <\/a>\n                <br>                <img decoding=\"async\" loading=\"lazy\" id=\"image_tag_64\" src=\"\" alt=\"Tag Image\" class=\"burble-img\">\n              <\/div>\n            <\/div>\n            <div id=\"container-bubbles\" class=\"\">\n              <h5 id=\"title-bubbles\"><\/h5>\n              <form id=\"form-ccp\" style=\"display: none; justify-content: center; gap: 15px\">\n                <input type=\"text\" name=\"cpp\" id=\"cppInput\" placeholder=\"CPP\">\n                <input type=\"hidden\" name=\"sessionId\" id=\"sessionIdInput\">\n                <input type=\"submit\" id=\"edit-submit\" name=\"op\" value=\"VERIFICAR\" class=\"form-submit\">\n                <div id=\"container-info-error-ccp\">\n                  <h3>C\u00f3digo inv\u00e1lido<\/h3>\n                <\/div>\n              <\/form>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <!-- display info -->\n    <\/div>\n    <style>\n      .container {\n        width: 100%;\n        overflow: hidden;\n      }\n      .rowTwo {\n        display: flex;\n        width: 100%;\n        height: auto;\n        padding-top: 10px;\n        padding-bottom: 20px;\n        flex-direction: column;\n        align-items: start;\n        justify-content: space-around;\n        font-size: 14px !important;\n        text-align: left !important;\n      }\n\n      button:focus {\n        background-color: #938c75 !important;\n        color: #fff;\n      }\n\n      .rowTwo .parrafo-verif {\n        width: 100%;\n        text-align: left !important;\n      }\n\n      .rowTwo h2 {\n        display: none;\n        text-transform: uppercase;\n        text-align: center;\n        color: #af3020 !important;\n        font-family: \"Adobe Caslon Pro\";\n        font-size: 24px;\n        font-style: normal;\n        font-weight: 400;\n        line-height: normal;\n        letter-spacing: 1px !important;\n        margin-top: 0px;\n      }\n\n      .rowTwo .parrafo-verif p {\n        color: #363636;\n        text-align: initial;\n        font-family: \"Adobe Caslon Pro\";\n        font-size: 16px;\n        font-style: normal;\n        font-weight: 400;\n      }\n\n      .rowTwo .botell-ingreso form {\n        width: 100%;\n        display: flex;\n        flex-direction: column;\n        justify-content: center;\n      }\n\n      .rowTwo .botell-ingreso form .userInput {\n        display: grid;\n        grid-template-columns: 1fr;\n        width: 100%;\n        max-width: 630px;\n        margin: 0px auto;\n        gap: 18px;\n        justify-items: center;\n      }\n\n      .rowTwo .botell-ingreso form .userInput #tagNumberInput {\n        width: 100%;\n        max-width: 360px;\n        padding: 15px 10px;\n        font-size: 1.2em;\n        border: 1px solid #c5bb9a;\n        border-radius: 0px;\n      }\n\n      .rowTwo .botell-ingreso form .userInput #tagNumberInput::placeholder {\n        width: 100%;\n        color: #c5bb9a;\n        opacity: 0.3;\n        text-transform: uppercase;\n      }\n\n      .rowTwo .botell-ingreso form .userInput #tagNumberInput:focus {\n        outline: transparent;\n        background-color: #fff;\n      }\n\n      .rowTwo .botell-ingreso form .userInput #tagNumberInput::placeholder {\n        color: #c5bb9a;\n        font-family: \"Adobe Caslon Pro\" !important;\n        background-color: #fff;\n        font-style: uppercase;\n      }\n\n      .rowTwo .botell-ingreso form .userInput .tagNumberError {\n        color: #e13636;\n        font-size: 1.2em;\n        user-select: none;\n        font-style: italic;\n      }\n\n      .form-submit,\n      .button-form {\n        width: 100%;\n        max-width: 360px;\n        background-color: #c5bb9a;\n        border-radius: 0px;\n        padding: 20px 0px 17px;\n        margin: 0px auto;\n        color: #fff;\n        font-family: \"Adobe Caslon Pro\";\n        font-size: 16px;\n        font-style: normal;\n        font-weight: 400;\n        line-height: normal;\n        text-transform: uppercase;\n        border: none;\n      }\n\n      .form-submit:hover,\n      .button-form:hover {\n        background-color: #938c75;\n        color: #fff;\n      }\n\n      .button-form {\n        margin-top: 30px;\n      }\n      .parrafo-verif {\n        order: 2;\n      }\n      .botell-ingreso {\n        width: 100%;\n        order: 1;\n        margin-bottom: 20px;\n      }\n      .botell-ingreso .qr-form {\n        float: right;\n        background-color: #fff;\n        height: auto;\n        width: 100%;\n      }\n\n      .botell-ingreso #info-codigo span.tag-number-bold {\n        font-family: \"Adobe Caslon Pro\" !important;\n      }\n      .botell-ingreso #info-codigo .etiqueta-burbujas-img {\n        width: 100%;\n      }\n\n      #info-codigo {\n        position: relative;\n        display: block;\n        width: auto;\n        height: auto;\n        margin-left: auto;\n        margin-right: auto;\n        padding: 0px 10px;\n        display: flex;\n        text-align: center;\n        align-items: center;\n        flex-direction: column;\n        justify-content: center;\n        display: none;\n      }\n      #info-codigo .but-close {\n        float: right;\n        margin-top: -20px;\n        margin-right: -20px;\n      }\n\n      \/* Start Form *\/\n\n      .rowTwo .parrafo-verif-footer {\n        width: 90%;\n        margin-top: 20px;\n        margin-bottom: 20px;\n        padding: 20px;\n        font-size: 1.4em;\n        text-align: center;\n      }\n\n      #container-info-error,\n      #container-info-error-ccp {\n        display: none;\n      }\n\n      #container-info-error h3,\n      #container-info-error-ccp h3 {\n        font-family: \"Adobe Caslon Pro\" !important;\n        font-weight: 400 !important;\n        margin: auto;\n        color: #ff0000;\n        letter-spacing: 1px;\n        font-size: 16px;\n        text-align: center;\n        margin-top: 0px;\n        padding-top: 0px;\n      }\n\n      #contenido-response {\n        width: 100%;\n        flex-direction: column;\n      }\n      .content-response {\n        display: none;\n        flex-direction: column;\n        align-items: center;\n      }\n\n      #container-iframe-errors {\n        width: 100%;\n        flex-direction: column;\n        display: none;\n      }\n\n      #error-iframe {\n        min-height: 1350px;\n      }\n\n      .bubble-list-class {\n        display: flex;\n        flex-direction: row;\n        justify-content: space-between;\n        align-items: center;\n        margin-top: 10px; \/* Ajusta el margen superior seg\u00fan sea necesario *\/\n        margin-bottom: 10px;\n        max-width: 80%;\n        margin: 10px auto;\n      }\n      h5 {\n        font-size: 16px;\n        text-align: center;\n        font-family: \"Adobe Caslon Pro\" !important;\n        font-weight: 400;\n        margin: auto;\n        margin-bottom: 25px;\n      }\n      #container-info-success {\n        display: flex;\n        flex-direction: column;\n        align-items: flex-start;\n        text-align: left;\n        padding: 10px;\n        width: 100%;\n      }\n\n      #image_tag_64_bottleshot {\n        display: none;\n      }\n\n      #container-info-success p {\n        font-size: 16px;\n        font-weight: 400;\n      }\n\n      #prd_name {\n        font-weight: 700 !important;\n      }\n      #prd_url {\n       display: none;\n        margin: auto;\n      }\n      #prd_url button{\n        width: 100%;\n        max-width: 360px;\n        background-color: #c5bb9a;\n        border-radius: 0px;\n        padding: 20px 30px 17px;\n        margin: 0px auto;\n        color: #fff;\n        font-family: \"Adobe Caslon Pro\";\n        font-size: 16px;\n        font-style: normal;\n        font-weight: 400;\n        line-height: normal;\n        text-transform: uppercase;\n        border: none;\n      }\n       \n      #prd_url button:hover {\n        background-color: #938c75;\n        color: #fff;\n      } \n      .bottle-img {\n        width: 100%;\n        margin: auto;\n      }\n\n      .burble-img {\n        margin: auto;\n      }\n\n      .button-bubble {\n        background: transparent;\n        border: 0px;\n        padding: 5px;\n        border-radius: 5px;\n      }\n      .button-bubble:hover {\n        background: rgba(175, 157, 157, 0.4);\n      }\n\n      @media (min-width: 768px) {\n        .rowTwo .botell-ingreso form .userInput {\n          display: grid;\n          grid-template-columns: 1.4fr 1fr;\n          width: 100%;\n          gap: 18px;\n          justify-items: start;\n        }\n\n        .rowTwo .botell-ingreso form .userInput {\n          justify-items: start;\n        }\n        .rowTwo .parrafo-verif p {\n          text-align: justify;\n        }\n      }\n\n      @media (min-width: 1025px) {\n        .rowTwo h2 {\n          display: block;\n        }\n        .parrafo-verif {\n          order: 2;\n        }\n        .botell-ingreso {\n          width: 100%;\n          order: 3;\n        }\n      }\n    <\/style>\n    \n    \n        <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/dompurify\/3.0.9\/purify.min.js\"><\/script>\n    <script>\n      const bubbles = [\n        {\n          dataValue: \"value1\",\n          dataContent: \"base64ImageData1\",\n        },\n        {\n          dataValue: \"value2\",\n          dataContent: \"base64ImageData2\",\n        },\n      ];\n\n      const bubbleList = document.querySelector(\"#container-bubbles ul\");\n      if (bubbleList) {\n        bubbles.forEach((bubble) => {\n          const li = document.createElement(\"li\");\n          const button = document.createElement(\"button\");\n          button.onclick = () => handleBubblesSubmit(\"codigo\", \"session_id\", bubble.dataValue);\n          const img = document.createElement(\"img\");\n          img.src = `data:image\/jpg;base64,${bubble.dataContent}`;\n          button.appendChild(img);\n          li.appendChild(button);\n          bubbleList.appendChild(li);\n        });\n      }\n      function isValidURL(url) {\n        try {\n          new URL(url);\n          return true;\n        } catch (error) {\n          return false;\n        }\n      }\n\n      async function handleSubmitWithCCP(\n        tagNumber,\n        CCP,\n        control_key_id,\n        control_key_name,\n        control_key_label,\n        session_id\n      ) {\n        const res = await fetch(\"\/auth2\/prooftag-sena\/prooftag-auth-ajax.php\", {\n          method: \"POST\",\n          headers: {\n            \"Content-Type\": \"application\/json\",\n          },\n          body: JSON.stringify({\n            tag: tagNumber,\n            type: \"1\",\n            control_key_value: CCP,\n            control_key_id: control_key_id,\n            control_key_name: control_key_name,\n            control_key_label: control_key_label,\n            control_session_id: session_id,\n          }),\n        });\n        const json = await res.json();\n\n        if (json.data) {\n          const data = json.data;\n          document.getElementById(\"container-img\").style.display = \"none\";\n          document.getElementById(\"container-info-codes\").style.width = \"100%\";\n          if (data.msg_id === \"106\") {\n            document.getElementById(\"container-info-error-ccp\").style.display = \"flex\";\n          }\n          if (json.data.msg_id === \"0\") {\n            document.getElementById(\"container-info-error-ccp\").style.display = \"none\";\n            document.getElementById(\"container-bubbles\").style.display = \"none\";\n            if (!!data.prd_image_64) {\n              document.getElementById(\"content-response\").style.display =  \"grid\";\n              document.getElementById(\"image_tag_64_bottleshot\").style.display = \"flex\";\n              document.getElementById(\"image_tag_64_bottleshot\").src = \"data:image\/jpg;base64,\" + data.prd_image_64;\n            } else {\n              document.getElementById(\"content-response\").style.display = \"flex\";\n              document.getElementById(\"content-response\").style.flexDirection = \"column\";\n            }\n            document.getElementById(\"prd_name\").innerText = data.prd_name;\n            const cleanDesc = DOMPurify.sanitize(data.prd_desc);\n            document.getElementById(\"prd_name\").innerText = data.prd_name;\n            document.getElementById(\"desc\").innerHTML = cleanDesc;\n            document.getElementById(\"num_tag\").innerText = data.num_tag;\n            document.getElementById(\"image_tag_64\").src = \"data:image\/jpg;base64,\" + data.image_tag_64;\n          }\n        }\n      }\n\n      async function handleBubblesSubmit(codigo, sessionId, dataValue) {\n        const res = await fetch(\"\/auth2\/prooftag-sena\/prooftag-auth-ajax.php\", {\n          method: \"POST\",\n          headers: {\n            \"Content-Type\": \"application\/json\",\n          },\n          body: JSON.stringify({\n            tag: codigo,\n            type: \"2\",\n            control_session_id: sessionId,\n            control_bubble_index: dataValue,\n          }),\n        });\n        const json = await res.json();\n        console.log(\"json\", json);\n        if (json.data) {\n          const type = json.type;\n          const msg = json.msg;\n          const data = json.data;\n          const status = json.status;\n          document.getElementById(\"container-img\").style.display = \"none\";\n          document.getElementById(\"container-info-codes\").style.width = \"100%\";\n          if (data.msg_id === \"0\") {\n            if (!!data.prd_image_64) {\n              document.getElementById(\"content-response\").style.display = \"grid\";\n              document.getElementById(\"content-response\").style.gridTemplateColumns = \"1fr 1fr\";\n              document.getElementById(\"image_tag_64_bottleshot\").style.display = \"flex\";\n              document.getElementById(\"image_tag_64_bottleshot\").src = \"data:image\/jpg;base64,\" + data.prd_image_64;\n            } else {\n              document.getElementById(\"content-response\").style.display = \"flex\";\n              document.getElementById(\"content-response\").style.flexDirection = \"column\";\n            }\n            document.getElementById(\"container-bubbles\").style.display = \"none\";\n            document.getElementById(\"prd_name\").innerText = data.prd_name;\n            const cleanDesc = DOMPurify.sanitize(data.prd_desc);\n            document.getElementById(\"desc\").innerHTML = cleanDesc;\n            document.getElementById(\"num_tag\").innerText = data.num_tag;\n            document.getElementById(\"image_tag_64\").src = \"data:image\/jpg;base64,\" + data.image_tag_64;\n            if (data.prd_url) {\n                document.getElementById(\"prd_url\").href = data.prd_url;\n                document.getElementById(\"prd_url\").style.display = \"block\";\n            }\n          }\n          if (data.iframe_url && isValidURL(data.iframe_url)) {\n            document.getElementById(\"container-bubbles\").style.display = \"none\";\n            document.getElementById(\"container-iframe-errors\").style.display = \"flex\";\n            document.getElementById(\"title-error\").innerText = msg;\n            document.getElementById(\"error-iframe\").src = data.iframe_url;\n          } else {\n            document.getElementById(\"container-info-error-ccp\").style.display =\"flex\";\n          }\n        }\n      }\n\n      async function handleSubmit(event) {\n        event.preventDefault();\n        const tagNumber = document.getElementById(\"tagNumberInput\").value;\n        const sessionID = document.getElementById(\"sessionIdInput\").value;\n\n        if (tagNumber.length < 1) {\n          document.getElementById(\"container-info-error\").style.display = \"flex\";\n          return;\n        }\n\n        const res = await fetch(\"\/auth2\/prooftag-sena\/prooftag-auth-ajax.php\", {\n          method: \"POST\",\n          headers: {\n            \"Content-Type\": \"application\/json\",\n          },\n          body: JSON.stringify({\n            tag: tagNumber,\n            sessionID: sessionID,\n          }),\n        });\n        const json = await res.json();\n\n        if (json.data) {\n          const type = json.type;\n          const msg = json.msg;\n          const data = json.data;\n          const status = json.status;\n\n          document.getElementById(\"container-info-codes\").style.width = \"100%\";\n          if (data.iframe_url && !isValidURL(data.iframe_url)) {\n            document.getElementById(\"info-codigo\").style.display = \"none\";\n            document.getElementById(\"container-info-error\").style.display = \"flex\";\n            document.querySelector(\".loader\").style.display = \"none\";\n          } else {\n            document.querySelector(\".title\").style.marginLeft = \"auto\";\n            document.querySelector(\".title\").style.marginRight = \"auto\";\n            document.getElementById(\"container-img\").style.display = \"none\";\n            document.querySelector(\".content_container\").style.gridTemplateColumns = \"1fr\";\n\n            document.querySelector(\".parrafo-verif\").style.display = \"none\";\n            document.querySelector(\".botell-ingreso\").style.display = \"none\";\n            document.querySelector(\".loader\").style.display = \"none\";\n            document.getElementById(\"info-codigo\").style.display = \"flex\";\n            document.getElementById(\"info-codigo\").style.width = \"100%\";\n            document.getElementById(\"contenido-response\").style.display = \"flex\";\n            if (json.data.msg_id === \"0\") {\n              if (!!data.prd_image_64) {\n                document.getElementById(\"content-response\").style.display = \"grid\";\n                document.getElementById(\"image_tag_64_bottleshot\").style.display = \"flex\";\n                document.getElementById(\"image_tag_64_bottleshot\").src = \"data:image\/jpg;base64,\" + data.prd_image_64;\n              } else {\n                document.getElementById(\"content-response\").style.display = \"flex\";\n                document.getElementById(\"content-response\").style.flexDirection = \"column\";\n              }\n\n              document.getElementById(\"prd_name\").innerText = data.prd_name;\n              const cleanDesc = DOMPurify.sanitize(data.prd_desc);\n              console.log(data.prd_desc, cleanDesc);\n              document.getElementById(\"desc\").innerHTML = cleanDesc;\n              document.getElementById(\"num_tag\").innerText = data.num_tag;\n              document.getElementById(\"image_tag_64\").src = \"data:image\/jpg;base64,\" + data.image_tag_64;\n              if (data.prd_url) {\n                document.getElementById(\"prd_url\").href = data.prd_url;\n                document.getElementById(\"prd_url\").style.display = \"block\";\n              }\n            } else if (data.iframe_url) {\n              document.getElementById(\"contenido-response\").style.display = \"flex\";\n              document.getElementById(\"container-iframe-errors\").style.display = \"flex\";\n\n              document.getElementById(\"title-error\").innerText = msg;\n              if (data.msg_id === \"108\" || data.msg_id === \"30\") {\n                document.getElementById(\"lockout-notice\").style.display = \"flex\";\n              }\n              document.getElementById(\"error-iframe\").src = data.iframe_url;\n            }\n\n            if (data?.bubbles) {\n              var bubbles = data.bubbles;\n              var containerBubbles = document.getElementById(\"container-bubbles\");\n              containerBubbles.style.display = \"block\";\n              document.getElementById(\"title-bubbles\").innerText = msg;\n              if (data?.type === \"CONTROL_BUBBLE\") {\n                var bubbleList = document.createElement(\"div\");\n                bubbleList.classList.add(\"bubble-list-class\");\n                bubbles.forEach(function (bubble) {\n                  var button = document.createElement(\"button\");\n                  button.classList.add(\"button-bubble\");\n                  button.addEventListener(\"click\", function () {\n                    handleBubblesSubmit(\n                      tagNumber,\n                      data.session_id,\n                      bubble.dataValue\n                    );\n                  });\n                  var img = document.createElement(\"img\");\n                  img.src = \"data:image\/jpg;base64,\" + bubble.dataContent;\n                  button.appendChild(img);\n                  bubbleList.appendChild(button);\n                });\n                containerBubbles.appendChild(bubbleList);\n              } else {\n                console.log(\"CODE CCP\");\n                var form = document.getElementById(\"form-ccp\");\n                form.style.display = \"flex\";\n                form.addEventListener(\"submit\", function (event) {\n                  event.preventDefault();\n                  var codigoInput = document.getElementById(\"cppInput\");\n                  var CCP = codigoInput.value;\n                  handleSubmitWithCCP(\n                    tagNumber,\n                    CCP,\n                    data.control_key_id,\n                    data.control_key_name,\n                    data.control_key_label,\n                    data.session_id\n                  );\n                });\n              }\n            }\n          }\n        }\n      }\n\n      function hiddenInvalid() {\n        let el = document.getElementById(\"container-info-error\");\n        if (el) el.style.display = \"none\";\n      }\n\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        \n\n          let urlParams = new URLSearchParams(window.location.search);\n          let tag = urlParams.get(\"tag\");\n          let sessionId = urlParams.get(\"sessionId\");\n          if (tag || sessionId) {\n            document.getElementById(\"tagNumberInput\").value = tag || \"\";\n            document.getElementById(\"sessionIdInput\").value = sessionId || \"\";\n            handleSubmit(new Event(\"submit\"));\n          }\n        });\n    <\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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>AUTENTIFICA TU BOTELLA Puedes autentificar tu botella cuando quieras comparando la Bubble Tag\u2122 del sello con la del sitio web de Almaviva. AUTENTIFICA TU BOTELLA En Almaviva, queremos garantizar la autenticidad de nuestro vino, por eso a partir de la cosecha 2018, hemos incluido un sello de seguridad llamado Prooftag\u2122 Bubble Seal\u00ae en la c\u00e1psula [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"nf_dc_page":"","footnotes":""},"class_list":["post-6512","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Autentifica tu botella | Almaviva<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Autentifica tu botella | Almaviva\" \/>\n<meta property=\"og:description\" content=\"AUTENTIFICA TU BOTELLA Puedes autentificar tu botella cuando quieras comparando la Bubble Tag\u2122 del sello con la del sitio web de Almaviva. AUTENTIFICA TU BOTELLA En Almaviva, queremos garantizar la autenticidad de nuestro vino, por eso a partir de la cosecha 2018, hemos incluido un sello de seguridad llamado Prooftag\u2122 Bubble Seal\u00ae en la c\u00e1psula [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella\" \/>\n<meta property=\"og:site_name\" content=\"Almaviva\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-11T13:30:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img.png\" \/>\n\t<meta property=\"og:image:width\" content=\"632\" \/>\n\t<meta property=\"og:image:height\" content=\"408\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/autentifica-tu-botella\",\"url\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/autentifica-tu-botella\",\"name\":\"Autentifica tu botella | Almaviva\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/autentifica-tu-botella#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/autentifica-tu-botella#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.almavivawinery.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/authenticate-bottle-img.png\",\"datePublished\":\"2024-08-19T13:19:52+00:00\",\"dateModified\":\"2025-04-11T13:30:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/autentifica-tu-botella#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/autentifica-tu-botella\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/autentifica-tu-botella#primaryimage\",\"url\":\"https:\\\/\\\/www.almavivawinery.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/authenticate-bottle-img.png\",\"contentUrl\":\"https:\\\/\\\/www.almavivawinery.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/authenticate-bottle-img.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/autentifica-tu-botella#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\\\/legal\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Autentifica tu botella\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es#website\",\"url\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\",\"name\":\"Almaviva\",\"description\":\"Baron Philippe de Rothschild - Vi\u00f1a Concha y Toro\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.almavivawinery.com\\\/es?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es#organization\",\"name\":\"Almaviva\",\"url\":\"https:\\\/\\\/www.almavivawinery.com\\\/es\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.almavivawinery.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cropped-Sin-titulo-1.png\",\"contentUrl\":\"https:\\\/\\\/www.almavivawinery.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cropped-Sin-titulo-1.png\",\"width\":96,\"height\":96,\"caption\":\"Almaviva\"},\"image\":{\"@id\":\"https:\\\/\\\/www.almavivawinery.com\\\/es#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Autentifica tu botella | Almaviva","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella","og_locale":"es_ES","og_type":"article","og_title":"Autentifica tu botella | Almaviva","og_description":"AUTENTIFICA TU BOTELLA Puedes autentificar tu botella cuando quieras comparando la Bubble Tag\u2122 del sello con la del sitio web de Almaviva. AUTENTIFICA TU BOTELLA En Almaviva, queremos garantizar la autenticidad de nuestro vino, por eso a partir de la cosecha 2018, hemos incluido un sello de seguridad llamado Prooftag\u2122 Bubble Seal\u00ae en la c\u00e1psula [&hellip;]","og_url":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella","og_site_name":"Almaviva","article_modified_time":"2025-04-11T13:30:05+00:00","og_image":[{"width":632,"height":408,"url":"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella","url":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella","name":"Autentifica tu botella | Almaviva","isPartOf":{"@id":"https:\/\/www.almavivawinery.com\/es#website"},"primaryImageOfPage":{"@id":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella#primaryimage"},"image":{"@id":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella#primaryimage"},"thumbnailUrl":"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img.png","datePublished":"2024-08-19T13:19:52+00:00","dateModified":"2025-04-11T13:30:05+00:00","breadcrumb":{"@id":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella#primaryimage","url":"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img.png","contentUrl":"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/09\/authenticate-bottle-img.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.almavivawinery.com\/es\/autentifica-tu-botella#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.almavivawinery.com\/es\/legal"},{"@type":"ListItem","position":2,"name":"Autentifica tu botella"}]},{"@type":"WebSite","@id":"https:\/\/www.almavivawinery.com\/es#website","url":"https:\/\/www.almavivawinery.com\/es","name":"Almaviva","description":"Baron Philippe de Rothschild - Vi\u00f1a Concha y Toro","publisher":{"@id":"https:\/\/www.almavivawinery.com\/es#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.almavivawinery.com\/es?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.almavivawinery.com\/es#organization","name":"Almaviva","url":"https:\/\/www.almavivawinery.com\/es","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.almavivawinery.com\/es#\/schema\/logo\/image\/","url":"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/12\/cropped-Sin-titulo-1.png","contentUrl":"https:\/\/www.almavivawinery.com\/wp-content\/uploads\/2024\/12\/cropped-Sin-titulo-1.png","width":96,"height":96,"caption":"Almaviva"},"image":{"@id":"https:\/\/www.almavivawinery.com\/es#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.almavivawinery.com\/es\/wp-json\/wp\/v2\/pages\/6512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almavivawinery.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.almavivawinery.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.almavivawinery.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almavivawinery.com\/es\/wp-json\/wp\/v2\/comments?post=6512"}],"version-history":[{"count":5,"href":"https:\/\/www.almavivawinery.com\/es\/wp-json\/wp\/v2\/pages\/6512\/revisions"}],"predecessor-version":[{"id":7345,"href":"https:\/\/www.almavivawinery.com\/es\/wp-json\/wp\/v2\/pages\/6512\/revisions\/7345"}],"wp:attachment":[{"href":"https:\/\/www.almavivawinery.com\/es\/wp-json\/wp\/v2\/media?parent=6512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}