{"id":47,"date":"2025-07-16T15:54:38","date_gmt":"2025-07-16T13:54:38","guid":{"rendered":"https:\/\/iga-la.com\/landing-page\/?page_id=47"},"modified":"2025-07-29T16:30:45","modified_gmt":"2025-07-29T14:30:45","slug":"generador","status":"publish","type":"page","link":"https:\/\/iga-la.com\/landing-page\/","title":{"rendered":"Generador"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"47\" class=\"elementor elementor-47\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-38ebb12 e-grid e-con-boxed e-con e-parent\" data-id=\"38ebb12\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bc65a81 elementor-widget elementor-widget-shortcode\" data-id=\"bc65a81\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\r\n    <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/select2@4.1.0-rc.0\/dist\/css\/select2.min.css\" rel=\"stylesheet\" \/>\r\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/select2@4.1.0-rc.0\/dist\/js\/select2.min.js\"><\/script>\r\n\r\n    <div class=\"iga-landing\">\r\n        <h1 style=\"font-size: 45px; text-align: center; margin-bottom: 30px;\">\r\n            Generador de Enlaces \/ Gerador de Enlaces\r\n        <\/h1>\r\n\r\n        <form id=\"formLeads\" method=\"POST\" style=\"display: flex; flex-direction: column; gap: 20px; max-width: 500px; margin: auto;\">\r\n            <label for=\"paisSelect\" style=\"font-size: 16px;\">Pa\u00eds \/ Pa\u00eds:<\/label>\r\n            <select id=\"paisSelect\" required style=\"width: 100%; font-size: 16px; padding: 8px;\"><\/select>\r\n\r\n            <label for=\"provinciaSelect\" style=\"font-size: 16px;\">Provincia \/ Estado:<\/label>\r\n            <select id=\"provinciaSelect\" required style=\"width: 100%; font-size: 16px; padding: 8px;\"><\/select>\r\n\r\n            <label for=\"filialSelect\" style=\"font-size: 16px;\">Filial \/ Filiais:<\/label>\r\n            <select id=\"filialSelect\" required style=\"width: 100%; font-size: 16px; padding: 8px;\"><\/select>\r\n\r\n            <label for=\"courseSelect\" style=\"font-size: 16px;\">Curso \/ Curso:<\/label>\r\n            <select name=\"courseId\" id=\"courseSelect\" required style=\"width: 100%; font-size: 16px; padding: 8px;\"><\/select>\r\n\r\n            <label for=\"medioSelect\" style=\"font-size: 16px;\">Medio \/ Meio:<\/label>\r\n            <select name=\"medio\" id=\"medioSelect\" style=\"width: 100%; font-size: 16px; padding: 8px;\">\r\n                <option value=\"\">Seleccion\u00e1 un medio (opcional)<\/option>\r\n                <option value=\"Facebook\">Facebook<\/option>\r\n                <option value=\"Instagram\">Instagram<\/option>\r\n                <option value=\"Google\">Google<\/option>\r\n                <option value=\"TikTok\">TikTok<\/option>\r\n                <option value=\"Otros\">Otros<\/option>\r\n            <\/select>\r\n\r\n            <label for=\"gtmInclude\" style=\"font-size: 16px;\">Incluir Google Tag Manager:<\/label>\r\n            <input type=\"text\" name=\"gtmCode\" id=\"gtmInclude\" placeholder=\"GTM-XXXXXXXX\" style=\"font-size: 16px; padding: 8px;\">\r\n\r\n            <input type=\"hidden\" name=\"sourceId\" value=\"85\">\r\n\r\n            <button type=\"submit\" style=\"\r\n                margin-top: 20px;\r\n                padding: 12px 25px;\r\n                font-size: 16px;\r\n                font-weight: bold;\r\n                background-color: #0073e6;\r\n                color: white;\r\n                border: none;\r\n                border-radius: 5px;\r\n                cursor: pointer;\r\n                width: auto;\r\n                align-self: center;\r\n            \">Generar enlace<\/button>\r\n\r\n            <div id=\"gtmError\" style=\"color: red; display: none;\"><\/div>\r\n        <\/form>\r\n\r\n        <div id=\"mensajeGracias\" style=\"display:none; text-align: center; margin-top: 20px;\"><p>Link generado:<\/p><\/div>\r\n        <div id=\"generatedUrl\" style=\"margin-top: 10px; font-size: 16px; font-weight: bold; text-align: center; display: none;\"><\/div>\r\n\r\n        <div id=\"copyContainer\" style=\"display: none; margin-top: 10px; text-align: center;\">\r\n            <button id=\"copyButton\" type=\"button\" style=\"\r\n                padding: 8px 20px;\r\n                font-size: 14px;\r\n                background-color: #28a745;\r\n                color: white;\r\n                border: none;\r\n                border-radius: 4px;\r\n                cursor: pointer;\r\n            \">Copiar link<\/button>\r\n            <span id=\"copyMsg\" style=\"margin-left: 10px; color: #28a745; display: none;\">\u00a1Copiado!<\/span>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n    jQuery(function($) {\r\n        const form = $(\"#formLeads\");\r\n        const paisSelect = $(\"#paisSelect\");\r\n        const provinciaSelect = $(\"#provinciaSelect\");\r\n        const filialSelect = $(\"#filialSelect\");\r\n        const courseSelect = $(\"#courseSelect\");\r\n        const medioSelect = $(\"#medioSelect\");\r\n        const gtmInput = $(\"#gtmInclude\");\r\n        const gtmError = $(\"#gtmError\");\r\n        const generatedUrlDiv = $(\"#generatedUrl\");\r\n        const mensajeGracias = $(\"#mensajeGracias\");\r\n\r\n        const medioMap = {\r\n            'Facebook': 69,\r\n            'Instagram': 35,\r\n            'Google': 45,\r\n            'TikTok': 46,\r\n            'Otros': 74\r\n        };\r\n\r\n        let paisNames = {};\r\n\r\n        \/\/ Cargar pa\u00edses y placeholder multiling\u00fce\r\n        fetch(\"https:\/\/iga-la.com\/landing-page\/wp-json\/iga\/v1\/paises\")\r\n            .then(res => res.json())\r\n            .then(data => {\r\n                paisSelect.empty().append('<option value=\"\">Seleccione un pa\u00eds \/ Selecionar um pa\u00eds<\/option>');\r\n                data.paises.forEach(pais => {\r\n                    paisSelect.append(`<option value=\"${pais.id}\">${pais.pais}<\/option>`);\r\n                    paisNames[pais.id] = pais.pais.toLowerCase();\r\n                });\r\n                paisSelect.select2();\r\n            });\r\n\r\n        \/\/ Inicializar los otros selects con sus placeholders\r\n        provinciaSelect.empty().append('<option value=\"\">Seleccione una provincia \/ Selecionar um estado<\/option>').select2();\r\n        filialSelect.empty().append('<option value=\"\">Seleccione una filial \/ Selecionar uma filial<\/option>').select2();\r\n        courseSelect.empty().append('<option value=\"\">Seleccione un curso \/ Selecionar um curso<\/option>').select2();\r\n        medioSelect.select2();\r\n\r\n        function validateGTM(gtmValue) {\r\n            \/\/ \ud83d\udd39 Cambiado a {7,12}\r\n            const gtmRegex = \/^GTM-[A-Za-z0-9]{7,12}$\/;\r\n            if (gtmValue && !gtmRegex.test(gtmValue)) {\r\n                gtmError.show().text('Debe incluir un Google Tag Manager v\u00e1lido en el formato GTM-XXXXXXXX');\r\n                return false;\r\n            }\r\n            gtmError.hide();\r\n            return true;\r\n        }\r\n\r\n        gtmInput.on('input', function () {\r\n            let value = $(this).val().toUpperCase().replace(\/[^A-Z0-9-]\/g, '');\r\n            if (!value.startsWith(\"GTM-\")) {\r\n                value = \"GTM-\" + value.replace(\/^GTM-\/, '');\r\n            }\r\n            if (value === \"GTM-\") return;\r\n            \/\/ \ud83d\udd39 Ampliado a 16 para permitir los 4 de \"GTM-\" + 12 caracteres posibles\r\n            $(this).val(value.substring(0, 16));\r\n            validateGTM(value);\r\n        });\r\n\r\n        gtmInput.on('keydown', function (e) {\r\n            if ($(this).prop('selectionStart') <= 4 && (e.key === 'Backspace' || e.key === 'Delete')) {\r\n                e.preventDefault();\r\n            }\r\n        });\r\n\r\n        paisSelect.on(\"change\", function () {\r\n            const idPais = $(this).val();\r\n            if (!idPais) return;\r\n            fetch(`https:\/\/iga-la.com\/landing-page\/wp-json\/iga\/v1\/paises\/${idPais}\/provincias`)\r\n                .then(res => res.json())\r\n                .then(data => {\r\n                    provinciaSelect.empty().append('<option value=\"\">Seleccione una provincia \/ Selecionar um estado<\/option>');\r\n                    data.provincias.forEach(provincia => {\r\n                        provinciaSelect.append(`<option value=\"${provincia.id}\">${provincia.nombre}<\/option>`);\r\n                    });\r\n                    provinciaSelect.trigger('change.select2');\r\n                });\r\n        });\r\n\r\n        provinciaSelect.on(\"change\", function () {\r\n            const idProvincia = $(this).val();\r\n            const idPais = paisSelect.val();\r\n            if (!idProvincia) return;\r\n            fetch(`https:\/\/iga-la.com\/landing-page\/wp-json\/iga\/v1\/paises\/${idPais}\/provincias\/${idProvincia}\/ciudades`)\r\n                .then(res => res.json())\r\n                .then(data => {\r\n                    filialSelect.empty().append('<option value=\"\">Seleccione una filial \/ Selecionar uma filial<\/option>');\r\n                    data.ciudades.forEach(ciudad => {\r\n                        filialSelect.append(`<option value=\"${ciudad.id}\">${ciudad.nombre}<\/option>`);\r\n                    });\r\n                    filialSelect.trigger('change.select2');\r\n                });\r\n        });\r\n\r\n        filialSelect.on(\"change\", function () {\r\n            const idFilial = $(this).val();\r\n            if (!idFilial) return;\r\n\r\n            form.attr(\"action\", `https:\/\/iga-la.com\/landing-page\/wp-json\/iga\/v1\/filiales\/${idFilial}\/leads`);\r\n            courseSelect.html('<option value=\"\">Cargando cursos...<\/option>');\r\n\r\n            fetch('https:\/\/iga-la.com\/landing-page\/wp-json\/iga\/v1\/all-cursos')\r\n                .then(res => res.json())\r\n                .then(data => {\r\n                    courseSelect.empty().append('<option value=\"\">Seleccione un curso \/ Selecionar um curso<\/option>');\r\n                    const isBrazil = paisNames[paisSelect.val()] === 'brasil';\r\n\r\n                    data.forEach(curso => {\r\n                        if (isBrazil && (!curso.titulo_pt || curso.titulo_pt.trim() === '')) return;\r\n                        const name = isBrazil ? curso.titulo_pt : curso.nombre;\r\n                        courseSelect.append(`<option value=\"${curso.curso_id}\">${name}<\/option>`);\r\n                    });\r\n\r\n                    courseSelect.trigger('change.select2');\r\n                });\r\n        });\r\n\r\n        form.on(\"submit\", function (e) {\r\n            e.preventDefault();\r\n            const filialId = filialSelect.val();\r\n            const cursoId = courseSelect.val();\r\n            const medio = medioSelect.val();\r\n            const gtm = gtmInput.val();\r\n\r\n            if (gtm !== \"GTM-\" && !validateGTM(gtm)) return;\r\n\r\n            if (filialId && cursoId) {\r\n                fetch(`https:\/\/iga-la.com\/landing-page\/wp-json\/iga\/v1\/cursos\/${cursoId}`)\r\n                    .then(res => res.json())\r\n                    .then(data => {\r\n                        const category = data.categoria || 'Uncategorized';\r\n                        let baseUrl = '';\r\n                        const language = paisNames[paisSelect.val()] === 'brasil' ? 'pt' : 'es';\r\n                        const isBrazil = language === 'pt';\r\n\r\n                        if (category === 'Cocineritos') {\r\n                            baseUrl = isBrazil ? '\/landing-cozinheirinhos\/' : '\/landing-cocineritos\/';\r\n                        } else if (category === 'Gastronom\u00eda y Alta Cocina') {\r\n                            baseUrl = isBrazil ? '\/landing-gastronomia-br\/' : '\/landing-gastronomia\/';\r\n                        } else if (category === 'Pasteler\u00eda Profesional y Avanzada') {\r\n                            baseUrl = isBrazil ? '\/landing-confeitaria\/' : '\/landing-pasteleria\/';\r\n                        } else {\r\n                            baseUrl = isBrazil ? '\/landing-cursos-rapidos\/' : '\/landing-cursos-cortos\/';\r\n                        }\r\n\r\n                        const medioId = medioMap[medio] || '';\r\n                        const gtmParam = gtm === \"GTM-\" || !gtm ? '' : `&id=${gtm}`;\r\n                        const medioParam = medioId ? `&medio_id=${medioId}` : '';\r\n                        const url = `https:\/\/iga-la.com\/landing-page${baseUrl}?cur=${cursoId}&f=${filialId}&i=${language}${medioParam}${gtmParam}`;\r\n                        generatedUrlDiv.text(`URL Generada: ${url}`).show();\r\n                        mensajeGracias.show();\r\n                        $(\"#copyContainer\").show();\r\n                    });\r\n            } else {\r\n                generatedUrlDiv.hide();\r\n                mensajeGracias.hide();\r\n                $(\"#copyContainer\").hide();\r\n            }\r\n        });\r\n\r\n        $(\"#copyButton\").on(\"click\", function () {\r\n            const textToCopy = $(\"#generatedUrl\").text().replace(\"URL Generada: \", \"\").trim();\r\n            navigator.clipboard.writeText(textToCopy).then(() => {\r\n                $(\"#copyMsg\").fadeIn(200).delay(1000).fadeOut(500);\r\n            });\r\n        });\r\n    });\r\n    <\/script>\r\n\r\n     <\/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\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-47","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Generador - Landing Page<\/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:\/\/iga-la.com\/landing-page\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Generador - Landing Page\" \/>\n<meta property=\"og:url\" content=\"https:\/\/iga-la.com\/landing-page\/\" \/>\n<meta property=\"og:site_name\" content=\"Landing Page\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-29T14:30:45+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/\",\"url\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/\",\"name\":\"Generador - Landing Page\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/#website\"},\"datePublished\":\"2025-07-16T13:54:38+00:00\",\"dateModified\":\"2025-07-29T14:30:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generador\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/#website\",\"url\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/\",\"name\":\"Landing Page\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/iga-la.com\\\/landing-page\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Generador - Landing Page","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:\/\/iga-la.com\/landing-page\/","og_locale":"es_ES","og_type":"article","og_title":"Generador - Landing Page","og_url":"https:\/\/iga-la.com\/landing-page\/","og_site_name":"Landing Page","article_modified_time":"2025-07-29T14:30:45+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/iga-la.com\/landing-page\/","url":"https:\/\/iga-la.com\/landing-page\/","name":"Generador - Landing Page","isPartOf":{"@id":"https:\/\/iga-la.com\/landing-page\/#website"},"datePublished":"2025-07-16T13:54:38+00:00","dateModified":"2025-07-29T14:30:45+00:00","breadcrumb":{"@id":"https:\/\/iga-la.com\/landing-page\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/iga-la.com\/landing-page\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/iga-la.com\/landing-page\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/iga-la.com\/landing-page\/"},{"@type":"ListItem","position":2,"name":"Generador"}]},{"@type":"WebSite","@id":"https:\/\/iga-la.com\/landing-page\/#website","url":"https:\/\/iga-la.com\/landing-page\/","name":"Landing Page","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/iga-la.com\/landing-page\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"}]}},"_links":{"self":[{"href":"https:\/\/iga-la.com\/landing-page\/wp-json\/wp\/v2\/pages\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iga-la.com\/landing-page\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iga-la.com\/landing-page\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iga-la.com\/landing-page\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/iga-la.com\/landing-page\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":19,"href":"https:\/\/iga-la.com\/landing-page\/wp-json\/wp\/v2\/pages\/47\/revisions"}],"predecessor-version":[{"id":2290,"href":"https:\/\/iga-la.com\/landing-page\/wp-json\/wp\/v2\/pages\/47\/revisions\/2290"}],"wp:attachment":[{"href":"https:\/\/iga-la.com\/landing-page\/wp-json\/wp\/v2\/media?parent=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}