{"id":29246,"date":"2026-06-16T10:58:13","date_gmt":"2026-06-16T10:58:13","guid":{"rendered":"https:\/\/mosaicconnect.io\/mc-anweisungen\/"},"modified":"2026-06-27T17:54:45","modified_gmt":"2026-06-27T17:54:45","slug":"mc-anweisungen","status":"publish","type":"page","link":"https:\/\/mosaicconnect.io\/de\/mc-anweisungen\/","title":{"rendered":"MC-Anweisungen"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"29246\" class=\"elementor elementor-29246 elementor-29222\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-955a24a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"955a24a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2103b87\" data-id=\"2103b87\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-423219d elementor-widget elementor-widget-shortcode\" data-id=\"423219d\" 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\">        <div id=\"mc-prompts-QIJIEQIb\" class=\"mc-prompts-wrap\">\n            <div class=\"mc-prompts-card\">\n                <div class=\"mc-prompts-header\">\n                    <div>\n                        <h2 class=\"mc-prompts-title\">Prompt Studio<\/h2>\n                        <p class=\"mc-prompts-subtitle\">Fuelle das Formular aus, sende es an den Webhook und pruefe die Antwort unten.<\/p>\n                    <\/div>\n                <\/div>\n\n                <form class=\"mc-prompts-form\" novalidate>\n                    <div class=\"mc-prompts-grid\">\n                        <div class=\"mc-prompts-field mc-prompts-field-full\">\n                            <label for=\"mc-prompts-QIJIEQIb-idea\">Beschreibe deine Idee <span class=\"required\">*<\/span><\/label>\n                            <textarea id=\"mc-prompts-QIJIEQIb-idea\" name=\"idea\" rows=\"5\" required placeholder=\"erstelle einen Entwicklungsplan fuer mein Hotel\"><\/textarea>\n                        <\/div>\n\n                        <div class=\"mc-prompts-field\">\n                            <label for=\"mc-prompts-QIJIEQIb-personality\">Gewuenschte KI-Persoenlichkeit <span class=\"required\">*<\/span><\/label>\n                            <select id=\"mc-prompts-QIJIEQIb-personality\" name=\"personality\" required>\n                                <option value=\"\">Persoenlichkeit waehlen<\/option>\n                                                                    <option value=\"expert\">Expert<\/option>\n                                                                    <option value=\"friendly\">Friendly<\/option>\n                                                                    <option value=\"creative\">Creative<\/option>\n                                                                    <option value=\"strategic\">Strategic<\/option>\n                                                                    <option value=\"analytical\">Analytical<\/option>\n                                                                    <option value=\"concise\">Concise<\/option>\n                                                                    <option value=\"professional\">Professional<\/option>\n                                                                    <option value=\"playful\">Playful<\/option>\n                                                            <\/select>\n                        <\/div>\n\n                        <div class=\"mc-prompts-field\">\n                            <label for=\"mc-prompts-QIJIEQIb-language\">Prompt-Sprache <span class=\"required\">*<\/span><\/label>\n                            <select id=\"mc-prompts-QIJIEQIb-language\" name=\"language\" required>\n                                <option value=\"\">Sprache waehlen<\/option>\n                                                                    <option value=\"English\" >English<\/option>\n                                                                    <option value=\"Arabic\" >Arabic<\/option>\n                                                                    <option value=\"French\" >French<\/option>\n                                                                    <option value=\"Spanish\" >Spanish<\/option>\n                                                                    <option value=\"German\"  selected='selected'>German<\/option>\n                                                                    <option value=\"Italian\" >Italian<\/option>\n                                                                    <option value=\"Portuguese\" >Portuguese<\/option>\n                                                                    <option value=\"Turkish\" >Turkish<\/option>\n                                                            <\/select>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"mc-prompts-actions\">\n                        <button type=\"submit\" class=\"mc-prompts-submit\">Prompt senden<\/button>\n                        <button type=\"button\" class=\"mc-prompts-secondary\" data-action=\"start-new\" hidden>Neu starten<\/button>\n                        <button type=\"button\" class=\"mc-prompts-secondary\" data-action=\"resend\" hidden>Prompt erneut senden<\/button>\n                    <\/div>\n\n                    <div class=\"mc-prompts-message\" aria-live=\"polite\"><\/div>\n                <\/form>\n\n                <div class=\"mc-prompts-result\" hidden>\n                    <div class=\"mc-prompts-result-grid\">\n                        <div class=\"mc-prompts-result-panel is-copyable mc-prompts-result-panel-full\">\n                            <div class=\"mc-prompts-panel-title\">\n                                <span>Webhook-Antwort<\/span>\n                                <button type=\"button\" class=\"mc-prompts-copy-btn\" data-copy=\"response\" aria-label=\"Antwort kopieren\">Kopieren<\/button>\n                            <\/div>\n                            <div class=\"mc-prompts-panel-body\" data-panel=\"response\"><\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <script>\n        (function(){\n            var wrap = document.getElementById(\"mc-prompts-QIJIEQIb\");\n            if (!wrap) return;\n\n            var form = wrap.querySelector('.mc-prompts-form');\n            var msgBox = wrap.querySelector('.mc-prompts-message');\n            var submitBtn = wrap.querySelector('.mc-prompts-submit');\n            var startNewBtn = wrap.querySelector('[data-action=\"start-new\"]');\n            var resendBtn = wrap.querySelector('[data-action=\"resend\"]');\n            var resultBox = wrap.querySelector('.mc-prompts-result');\n            var responsePanel = wrap.querySelector('[data-panel=\"response\"]');\n            var ajaxUrl = \"https:\\\/\\\/mosaicconnect.io\\\/wp-admin\\\/admin-ajax.php\";\n            var nonce = \"6650fbb107\";\n            var currentLanguage = \"German\";\n            var copy = {\"subtitle\":\"Fuelle das Formular aus, sende es an den Webhook und pruefe die Antwort unten.\",\"idea\":\"Beschreibe deine Idee\",\"idea_placeholder\":\"erstelle einen Entwicklungsplan fuer mein Hotel\",\"personality\":\"Gewuenschte KI-Persoenlichkeit\",\"select_personality\":\"Persoenlichkeit waehlen\",\"language\":\"Prompt-Sprache\",\"select_language\":\"Sprache waehlen\",\"send\":\"Prompt senden\",\"start_new\":\"Neu starten\",\"resend\":\"Prompt erneut senden\",\"response\":\"Webhook-Antwort\",\"copy_response\":\"Antwort kopieren\",\"copy\":\"Kopieren\",\"copied\":\"Kopiert\",\"sending\":\"Wird gesendet...\",\"failed\":\"Senden fehlgeschlagen.\",\"network_error\":\"Netzwerkfehler. Bitte versuche es erneut.\"};\n            var noncePromise = null;\n            var lastPayload = null;\n\n            if (!form || !msgBox || !submitBtn || !startNewBtn || !resendBtn || !resultBox || !responsePanel) return;\n\n            function refreshNonce() {\n                if (noncePromise) return noncePromise;\n\n                noncePromise = fetch(ajaxUrl, {\n                    method: 'POST',\n                    headers: {'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8'},\n                    body: new URLSearchParams({ action: 'mc_prompts_get_nonce' }).toString(),\n                    credentials: 'same-origin'\n                })\n                .then(function(res){ return res.json(); })\n                .then(function(resp){\n                    if (resp && resp.success && resp.data && resp.data.nonce) {\n                        nonce = resp.data.nonce;\n                        return nonce;\n                    }\n                    throw new Error('Could not load security token.');\n                })\n                .catch(function(err){\n                    noncePromise = null;\n                    throw err;\n                });\n\n                return noncePromise;\n            }\n\n            function prettyJson(value) {\n                if (typeof value === 'string') {\n                    try {\n                        value = JSON.parse(value);\n                    } catch (e) {\n                        return value;\n                    }\n                }\n\n                try {\n                    return JSON.stringify(value, null, 2);\n                } catch (e) {\n                    return String(value);\n                }\n            }\n\n            function setResult(responseData) {\n                responsePanel.textContent = prettyJson(responseData);\n                resultBox.hidden = false;\n                startNewBtn.hidden = false;\n                resendBtn.hidden = false;\n            }\n\n            function setMessage(text, isError) {\n                msgBox.classList.remove('is-error', 'is-success');\n                if (text) {\n                    msgBox.classList.add(isError ? 'is-error' : 'is-success');\n                    msgBox.textContent = text;\n                } else {\n                    msgBox.textContent = '';\n                }\n            }\n\n            function collectPayload() {\n                return {\n                    idea: form.querySelector('[name=\"idea\"]').value,\n                    personality: form.querySelector('[name=\"personality\"]').value,\n                    language: form.querySelector('[name=\"language\"]').value\n                };\n            }\n\n            function sendPrompt(payload) {\n                submitBtn.disabled = true;\n                submitBtn.textContent = copy.sending;\n                setMessage('', false);\n\n                return refreshNonce()\n                    .then(function(){\n                        var body = new URLSearchParams({\n                            action: 'mc_prompts_submit',\n                            nonce: nonce,\n                            idea: payload.idea,\n                            personality: payload.personality,\n                            language: payload.language\n                        });\n\n                        return fetch(ajaxUrl, {\n                            method: 'POST',\n                            headers: {'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8'},\n                            body: body.toString(),\n                            credentials: 'same-origin'\n                        });\n                    })\n                    .then(function(res){ return res.json(); })\n                    .then(function(resp){\n                        if (resp && resp.data) {\n                            var submitted = resp.data.submitted_prompt || payload;\n                            var response = typeof resp.data.webhook_response !== 'undefined' ? resp.data.webhook_response : resp.data;\n                            lastPayload = submitted;\n                            setResult(response);\n                        }\n\n                        if (resp && resp.success) {\n                            setMessage('', false);\n                            form.querySelector('[name=\"idea\"]').value = '';\n                            form.querySelector('[name=\"personality\"]').selectedIndex = 0;\n                            form.querySelector('[name=\"language\"]').value = currentLanguage;\n                        } else {\n                            var err = (resp && resp.data && resp.data.message) ? resp.data.message : copy.failed;\n                            setMessage(err, true);\n                        }\n                    })\n                    .catch(function(){\n                        setMessage(copy.network_error, true);\n                    })\n                    .finally(function(){\n                        submitBtn.disabled = false;\n                        submitBtn.textContent = copy.send;\n                });\n            }\n\n            function copyText(type) {\n                var text = responsePanel.textContent;\n                if (!text) return;\n\n                var button = wrap.querySelector('[data-copy=\"' + type + '\"]');\n                var done = function() {\n                    if (!button) return;\n                    button.classList.add('is-copied');\n                    button.textContent = copy.copied;\n                    setTimeout(function(){\n                        button.classList.remove('is-copied');\n                        button.textContent = copy.copy;\n                    }, 1200);\n                };\n\n                if (navigator.clipboard && window.isSecureContext) {\n                    navigator.clipboard.writeText(text).then(done).catch(function(){});\n                    return;\n                }\n\n                var temp = document.createElement('textarea');\n                temp.value = text;\n                temp.setAttribute('readonly', 'readonly');\n                temp.style.position = 'absolute';\n                temp.style.left = '-9999px';\n                document.body.appendChild(temp);\n                temp.select();\n                try {\n                    document.execCommand('copy');\n                    done();\n                } finally {\n                    document.body.removeChild(temp);\n                }\n            }\n\n            Array.prototype.forEach.call(wrap.querySelectorAll('[data-copy]'), function(button){\n                button.addEventListener('click', function(){\n                    copyText(button.getAttribute('data-copy'));\n                });\n            });\n\n            form.addEventListener('submit', function(e){\n                e.preventDefault();\n                sendPrompt(collectPayload());\n            });\n\n            resendBtn.addEventListener('click', function(){\n                if (!lastPayload) {\n                    setMessage('There is no prompt to resend yet.', true);\n                    return;\n                }\n                sendPrompt(lastPayload);\n            });\n\n            startNewBtn.addEventListener('click', function(){\n                form.reset();\n                lastPayload = null;\n                resultBox.hidden = true;\n                startNewBtn.hidden = true;\n                resendBtn.hidden = true;\n                setMessage('', false);\n                form.querySelector('[name=\"idea\"]').focus();\n            });\n        })();\n        <\/script>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-29246","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/mosaicconnect.io\/de\/wp-json\/wp\/v2\/pages\/29246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mosaicconnect.io\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mosaicconnect.io\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mosaicconnect.io\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mosaicconnect.io\/de\/wp-json\/wp\/v2\/comments?post=29246"}],"version-history":[{"count":1,"href":"https:\/\/mosaicconnect.io\/de\/wp-json\/wp\/v2\/pages\/29246\/revisions"}],"predecessor-version":[{"id":29247,"href":"https:\/\/mosaicconnect.io\/de\/wp-json\/wp\/v2\/pages\/29246\/revisions\/29247"}],"wp:attachment":[{"href":"https:\/\/mosaicconnect.io\/de\/wp-json\/wp\/v2\/media?parent=29246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}