{"id":12611,"date":"2026-05-29T07:23:50","date_gmt":"2026-05-29T07:23:50","guid":{"rendered":"https:\/\/goshop.am\/%d0%bc%d0%be%d0%b9-%d0%b0%d0%ba%d0%ba%d0%b0%d1%83%d0%bd%d1%82\/"},"modified":"2026-06-26T07:41:52","modified_gmt":"2026-06-26T07:41:52","slug":"%d0%bc%d0%be%d0%b9-%d0%b0%d0%ba%d0%ba%d0%b0%d1%83%d0%bd%d1%82","status":"publish","type":"page","link":"https:\/\/goshop.am\/ru\/%d0%bc%d0%be%d0%b9-%d0%b0%d0%ba%d0%ba%d0%b0%d1%83%d0%bd%d1%82\/","title":{"rendered":"\u041c\u043e\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442"},"content":{"rendered":"<!DOCTYPE html>\n<html lang=\"ru_RU\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\u0412\u043e\u0439\u0442\u0438<\/title>\n    <style>\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600&display=swap');\n\n        .signin-container { font-family: 'Inter', sans-serif; max-width: 420px; margin: 60px auto; background: #fff; padding: 30px 24px; border: 1px solid #eee; border-radius: 8px; }\n        #form-message { margin-bottom: 15px; padding: 10px; border-radius: 6px; font-size: 13px; display: none; }\n        .msg-error   { background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca; }\n        .msg-success { background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0; }\n\n        .signin-container h1        { font-size: 26px; font-weight: 600; margin-bottom: 8px; }\n        .signin-container .subtitle { color: #6b7280; font-size: 14px; margin-bottom: 25px; }\n\n        .signin-container .phone-input-group  { display: flex; gap: 10px; margin-bottom: 20px; }\n        .signin-container .country-selector   { position: relative; }\n        .signin-container .country-select     { display: flex; align-items: center; gap: 6px; background: #f3f4f6; border-radius: 6px; cursor: pointer; min-width: 110px; height: 48px; padding: 0 12px; box-sizing: border-box; }\n        .signin-container .country-dropdown   { position: absolute; top: 110%; left: 0; width: 260px; max-height: 250px; overflow-y: auto; background: white; border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.08); display: none; z-index: 9999; }\n        .signin-container .country-dropdown.show { display: block; }\n        .signin-container .phone-number-input { flex: 1; border: none; outline: none; background: #f3f4f6; border-radius: 6px; font-size: 14px; height: 48px; padding: 0 14px; width: 100%; box-sizing: border-box; }\n        .signin-container .next-button        { width: 100%; padding: 14px; background: #e6003a; border: none; color: white; font-size: 15px; font-weight: 500; border-radius: 6px; cursor: pointer; margin-top: 10px; }\n        .signin-container .back-link          { display: block; text-align: center; margin-top: 15px; font-size: 13px; color: #6b7280; text-decoration: none; cursor: pointer; }\n\n        .separator-or { display: flex; align-items: center; text-align: center; margin: 20px 0; color: #9ca3af; font-size: 14px; }\n        .separator-or::before, .separator-or::after { content: ''; flex: 1; border-bottom: 1px solid #f3f4f6; }\n        .separator-or:not(:empty)::before { margin-right: 1em; }\n        .separator-or:not(:empty)::after  { margin-left:  1em; }\n\n        .extra-login-methods { display: flex; flex-wrap: wrap; gap: 12px; }\n        .timer-container     { text-align: center; margin-top: 15px; font-size: 14px; color: #6b7280; }\n        #resend-link         { color: #e6003a; text-decoration: none; font-weight: 600; cursor: pointer; display: none; }\n    <\/style>\n<\/head>\n<body>\n\n<div class=\"signin-container\">\n    <h1 id=\"form-title\">\u0412\u043e\u0439\u0442\u0438<\/h1>\n    <p class=\"subtitle\" id=\"form-subtitle\">\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0430\u0448 \u043d\u043e\u043c\u0435\u0440 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430<\/p>\n\n    <div id=\"form-message\"><\/div>\n\n    <!-- Step 1: Phone Input -->\n    <div id=\"step-phone\">\n        <div class=\"phone-input-group\">\n            <div class=\"country-selector\" id=\"countrySelector\">\n                <div class=\"country-select\" id=\"selectedCountry\">\n                    <span class=\"code\" id=\"selectedCode\">+374<\/span>\n                <\/div>\n                <div class=\"country-dropdown\" id=\"countryDropdown\"><\/div>\n            <\/div>\n            <input type=\"tel\"\n                   class=\"phone-number-input\"\n                   id=\"phoneInput\"\n                   placeholder=\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430\">\n        <\/div>\n        <button class=\"next-button\" id=\"btn-send\" onclick=\"handleSendOTP()\">\n            \u0414\u0430\u043b\u0435\u0435        <\/button>\n\n                    <div class=\"separator-or\">\u0438\u043b\u0438<\/div>\n            <div class=\"extra-login-methods\"\n                 style=\"flex-direction:column;justify-content:center;align-items:center;\">\n                                    <div class=\"shortcode-slot\"><div class=\"nsl-container nsl-container-block\" data-align=\"left\"><div class=\"nsl-container-buttons\"><a href=\"https:\/\/goshop.am\/wp-login.php?loginSocial=google&#038;redirect=https%3A%2F%2Fgoshop.am%2Fru%2Fwp-json%2Fwp%2Fv2%2Fpages%2F12611\" rel=\"nofollow\" aria-label=\"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441 &lt;b&gt;Google&lt;\/b&gt;\" data-plugin=\"nsl\" data-action=\"connect\" data-provider=\"google\" data-popupwidth=\"600\" data-popupheight=\"600\" data-e-disable-page-transition=\"1\"><div class=\"nsl-button nsl-button-default nsl-button-google\" data-skin=\"light\" style=\"background-color:#fff;\"><div class=\"nsl-button-svg-container\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path fill=\"#4285F4\" d=\"M20.64 12.2045c0-.6381-.0573-1.2518-.1636-1.8409H12v3.4814h4.8436c-.2086 1.125-.8427 2.0782-1.7959 2.7164v2.2581h2.9087c1.7018-1.5668 2.6836-3.874 2.6836-6.615z\"><\/path><path fill=\"#34A853\" d=\"M12 21c2.43 0 4.4673-.806 5.9564-2.1805l-2.9087-2.2581c-.8059.54-1.8368.859-3.0477.859-2.344 0-4.3282-1.5831-5.036-3.7104H3.9574v2.3318C5.4382 18.9832 8.4818 21 12 21z\"><\/path><path fill=\"#FBBC05\" d=\"M6.964 13.71c-.18-.54-.2822-1.1168-.2822-1.71s.1023-1.17.2823-1.71V7.9582H3.9573A8.9965 8.9965 0 0 0 3 12c0 1.4523.3477 2.8268.9573 4.0418L6.964 13.71z\"><\/path><path fill=\"#EA4335\" d=\"M12 6.5795c1.3214 0 2.5077.4541 3.4405 1.346l2.5813-2.5814C16.4632 3.8918 14.426 3 12 3 8.4818 3 5.4382 5.0168 3.9573 7.9582L6.964 10.29C7.6718 8.1627 9.6559 6.5795 12 6.5795z\"><\/path><\/svg><\/div><div class=\"nsl-button-label-container\">\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441 <b>Google<\/b><\/div><\/div><\/a><\/div><\/div><\/div>\n                            <\/div>\n            <\/div>\n\n    <!-- Step 2: OTP Verification -->\n    <div id=\"step-otp\" style=\"display:none;\">\n        <input type=\"text\"\n               class=\"phone-number-input\"\n               id=\"otpInput\"\n               placeholder=\"6-\u0437\u043d\u0430\u0447\u043d\u044b\u0439 \u043a\u043e\u0434\"\n               maxlength=\"6\"\n               style=\"text-align:center;letter-spacing:4px;margin-bottom:20px;\">\n        <button class=\"next-button\" id=\"btn-verify\" onclick=\"handleVerifyOTP()\">\n            \u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0438 \u0432\u043e\u0439\u0442\u0438        <\/button>\n        <div class=\"timer-container\">\n            <span id=\"timer-text\">\n                \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0447\u0435\u0440\u0435\u0437                <span id=\"countdown\">60<\/span>\u0441\u0435\u043a\u0443\u043d\u0434            <\/span>\n            <a id=\"resend-link\" onclick=\"handleSendOTP()\">\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0434 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e<\/a>\n        <\/div>\n        <a class=\"back-link\" onclick=\"toggleSteps('phone')\">\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430<\/a>\n    <\/div>\n\n    <!-- Step 3: Email Collection (For New Users) -->\n    <div id=\"step-email\" style=\"display:none;\">\n        <input type=\"email\"\n               class=\"phone-number-input\"\n               id=\"emailInput\"\n               placeholder=\"Enter your email address\"\n               style=\"margin-bottom:10px;\">\n        <button class=\"next-button\" id=\"btn-register\" onclick=\"handleVerifyOTP(true)\">\n            Complete Registration        <\/button>\n        <a class=\"back-link\" onclick=\"toggleSteps('otp')\">Back to code<\/a>\n    <\/div>\n<\/div>\n\n<script>\n    var smsI18n = {\"titleSignIn\":\"\\u0412\\u043e\\u0439\\u0442\\u0438\",\"subtitlePhone\":\"\\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u0432\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u0432\\u0430\\u0448 \\u043d\\u043e\\u043c\\u0435\\u0440 \\u043c\\u043e\\u0431\\u0438\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\u0442\\u0435\\u043b\\u0435\\u0444\\u043e\\u043d\\u0430\",\"titleVerify\":\"\\u041a\\u043e\\u0434 \\u043f\\u043e\\u0434\\u0442\\u0432\\u0435\\u0440\\u0436\\u0434\\u0435\\u043d\\u0438\\u044f\",\"subtitleVerify\":\"\\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 6-\\u0437\\u043d\\u0430\\u0447\\u043d\\u044b\\u0439 \\u043a\\u043e\\u0434\",\"titleFinalStep\":\"Final Step\",\"subtitleEmail\":\"Enter your email to create your account\",\"btnNext\":\"\\u0414\\u0430\\u043b\\u0435\\u0435\",\"btnSending\":\"\\u041e\\u0442\\u043f\\u0440\\u0430\\u0432\\u043a\\u0430...\",\"btnVerify\":\"\\u041f\\u043e\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0438\\u0442\\u044c \\u0438 \\u0432\\u043e\\u0439\\u0442\\u0438\",\"btnRegister\":\"Complete Registration\",\"resendIn\":\"\\u041e\\u0442\\u043f\\u0440\\u0430\\u0432\\u0438\\u0442\\u044c \\u043f\\u043e\\u0432\\u0442\\u043e\\u0440\\u043d\\u043e \\u0447\\u0435\\u0440\\u0435\\u0437\",\"resendSuffix\":\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",\"resendLink\":\"\\u041e\\u0442\\u043f\\u0440\\u0430\\u0432\\u0438\\u0442\\u044c \\u043a\\u043e\\u0434 \\u043f\\u043e\\u0432\\u0442\\u043e\\u0440\\u043d\\u043e\",\"changePhone\":\"\\u0418\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u043d\\u043e\\u043c\\u0435\\u0440 \\u0442\\u0435\\u043b\\u0435\\u0444\\u043e\\u043d\\u0430\",\"backToCode\":\"Back to code\",\"errorNoPhone\":\"\\u041f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u0432\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u043d\\u043e\\u043c\\u0435\\u0440 \\u0442\\u0435\\u043b\\u0435\\u0444\\u043e\\u043d\\u0430\",\"errorConnection\":\"Connection error.\",\"errorVerify\":\"Verification failed.\"};\n\n    var countries = [\n        {name:\"Armenia\", code:\"+374\"},\n        {name:\"Russia\",  code:\"+7\"},\n        {name:\"Georgia\", code:\"+995\"},\n        {name:\"Iran\",    code:\"+98\"},\n        {name:\"USA\",     code:\"+1\"},\n        {name:\"Germany\", code:\"+49\"}\n    ];\n\n    var messageBox = document.getElementById(\"form-message\");\n    var countdownInterval;\n\n    function showMessage(text, type) {\n        type = type || 'error';\n        messageBox.textContent   = text;\n        messageBox.className     = (type === 'error') ? 'msg-error' : 'msg-success';\n        messageBox.style.display = 'block';\n    }\n    function hideMessage() { messageBox.style.display = 'none'; }\n\n    function toggleSteps(step) {\n        hideMessage();\n        document.getElementById('step-phone').style.display = (step === 'phone') ? 'block' : 'none';\n        document.getElementById('step-otp').style.display   = (step === 'otp')   ? 'block' : 'none';\n        document.getElementById('step-email').style.display = (step === 'email')  ? 'block' : 'none';\n\n        if (step === 'email') {\n            document.getElementById('form-title').textContent    = smsI18n.titleFinalStep;\n            document.getElementById('form-subtitle').textContent = smsI18n.subtitleEmail;\n        } else if (step === 'otp') {\n            document.getElementById('form-title').textContent    = smsI18n.titleVerify;\n            document.getElementById('form-subtitle').textContent = smsI18n.subtitleVerify;\n        } else {\n            document.getElementById('form-title').textContent    = smsI18n.titleSignIn;\n            document.getElementById('form-subtitle').textContent = smsI18n.subtitlePhone;\n            clearInterval(countdownInterval);\n        }\n    }\n\n    async function handleSendOTP() {\n        var phone     = document.getElementById(\"phoneInput\").value.trim();\n        var fullPhone = document.getElementById(\"selectedCode\").textContent + phone;\n        var btn       = document.getElementById(\"btn-send\");\n        if (!phone) return showMessage(smsI18n.errorNoPhone);\n\n        btn.disabled    = true;\n        btn.textContent = smsI18n.btnSending;\n        var formData = new FormData();\n        formData.append('action', 'sms_login_send_otp');\n        formData.append('phone',  fullPhone);\n\n        try {\n            var response = await fetch('https:\/\/goshop.am\/wp-admin\/admin-ajax.php', {method:'POST', body:formData});\n            var result   = await response.json();\n            if (result.success) { toggleSteps('otp'); startTimer(); }\n            else showMessage(result.data.message);\n        } catch(e) {\n            showMessage(smsI18n.errorConnection);\n        } finally {\n            btn.disabled    = false;\n            btn.textContent = smsI18n.btnNext;\n        }\n    }\n\n    async function handleVerifyOTP(isRegistering) {\n        isRegistering = isRegistering || false;\n        hideMessage();\n        var phone    = document.getElementById(\"selectedCode\").textContent + document.getElementById(\"phoneInput\").value.trim();\n        var otp      = document.getElementById(\"otpInput\").value.trim();\n        var email    = document.getElementById(\"emailInput\").value.trim();\n        var btn      = isRegistering ? document.getElementById(\"btn-register\") : document.getElementById(\"btn-verify\");\n        var formData = new FormData();\n        formData.append('action', 'sms_login_verify_otp');\n        formData.append('phone',  phone);\n        formData.append('otp',    otp);\n        if (isRegistering) formData.append('email', email);\n\n        btn.disabled = true;\n        try {\n            var response = await fetch('https:\/\/goshop.am\/wp-admin\/admin-ajax.php', {method:'POST', body:formData});\n            var result   = await response.json();\n            if (result.success) {\n                if (result.data.new_user) {\n                    toggleSteps('email');\n                    showMessage(result.data.message, 'success');\n                } else {\n                    window.location.href = 'https:\/\/goshop.am\/ru\/%d0%bc%d0%be%d0%b9-%d0%b0%d0%ba%d0%ba%d0%b0%d1%83%d0%bd%d1%82\/';\n                }\n            } else {\n                showMessage(result.data.message);\n            }\n        } catch(e) {\n            showMessage(smsI18n.errorVerify);\n        } finally {\n            btn.disabled = false;\n        }\n    }\n\n    function startTimer() {\n        var timeLeft = 60;\n        document.getElementById('timer-text').style.display  = 'inline';\n        document.getElementById('resend-link').style.display = 'none';\n        document.getElementById('countdown').textContent     = timeLeft;\n        clearInterval(countdownInterval);\n        countdownInterval = setInterval(function() {\n            timeLeft--;\n            document.getElementById('countdown').textContent = timeLeft;\n            if (timeLeft <= 0) {\n                clearInterval(countdownInterval);\n                document.getElementById('timer-text').style.display  = 'none';\n                document.getElementById('resend-link').style.display = 'inline';\n            }\n        }, 1000);\n    }\n\n    \/\/ Country Dropdown\n    var dropdown = document.getElementById(\"countryDropdown\");\n    var selector = document.getElementById(\"countrySelector\");\n    countries.forEach(function(c) {\n        var div           = document.createElement(\"div\");\n        div.style.padding = \"10px\";\n        div.style.cursor  = \"pointer\";\n        div.textContent   = c.name + \" (\" + c.code + \")\";\n        div.onclick = function(e) {\n            e.stopPropagation();\n            document.getElementById(\"selectedCode\").textContent = c.code;\n            dropdown.classList.remove(\"show\");\n        };\n        dropdown.appendChild(div);\n    });\n    selector.onclick = function() { dropdown.classList.toggle(\"show\"); };\n    window.onclick   = function(e) { if (!selector.contains(e.target)) dropdown.classList.remove(\"show\"); };\n<\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12611","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/goshop.am\/ru\/wp-json\/wp\/v2\/pages\/12611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/goshop.am\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/goshop.am\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/goshop.am\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/goshop.am\/ru\/wp-json\/wp\/v2\/comments?post=12611"}],"version-history":[{"count":2,"href":"https:\/\/goshop.am\/ru\/wp-json\/wp\/v2\/pages\/12611\/revisions"}],"predecessor-version":[{"id":13053,"href":"https:\/\/goshop.am\/ru\/wp-json\/wp\/v2\/pages\/12611\/revisions\/13053"}],"wp:attachment":[{"href":"https:\/\/goshop.am\/ru\/wp-json\/wp\/v2\/media?parent=12611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}