{"id":27713,"date":"2026-03-08T10:02:17","date_gmt":"2026-03-08T10:02:17","guid":{"rendered":"https:\/\/uwisely.com\/?page_id=27713"},"modified":"2026-03-12T11:12:56","modified_gmt":"2026-03-12T11:12:56","slug":"forgot-ic","status":"publish","type":"page","link":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/forgot-ic\/","title":{"rendered":"Forgot IC MTN"},"content":{"rendered":"<p style=\"text-align: center;\">\n<div class=\"mtn-login-container\">\n    <div class=\"mtn-login-card\">\n        \n        <div class=\"mtn-header-banner\">\n            <div class=\"mtn-login-icon\">\n                <svg width=\"75\" height=\"75\" viewBox=\"0 0 75 75\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path d=\"M56.25 25H53.125V18.75C53.125 10.125 46.125 3.125 37.5 3.125C28.875 3.125 21.875 10.125 21.875 18.75V25H18.75C15.3125 25 12.5 27.8125 12.5 31.25V62.5C12.5 65.9375 15.3125 68.75 18.75 68.75H56.25C59.6875 68.75 62.5 65.9375 62.5 62.5V31.25C62.5 27.8125 59.6875 25 56.25 25ZM28.125 18.75C28.125 13.5625 32.3125 9.375 37.5 9.375C42.6875 9.375 46.875 13.5625 46.875 18.75V25H28.125V18.75ZM56.25 62.5H18.75V31.25H56.25V62.5ZM37.5 53.125C40.9375 53.125 43.75 50.3125 43.75 46.875C43.75 43.4375 40.9375 40.625 37.5 40.625C34.0625 40.625 31.25 43.4375 31.25 46.875C31.25 50.3125 34.0625 53.125 37.5 53.125Z\" fill=\"#181818\"\/>\n                <\/svg>\n            <\/div>\n            <h1>Mot de passe oubli\u00e9 ?<\/h1>\n        <\/div>\n\n        <div class=\"mtn-form-body\">\n            <p class=\"mtn-instruction-text\">\n                Entrez votre MSISDN para recevoir votre mot de passe par SMS.\n            <\/p>\n\n            <div id=\"forgot-response-msg\" style=\"display:none;\"><\/div>\n\n            <form id=\"mtnForgotForm\" onsubmit=\"event.preventDefault(); handleForgotIC();\">\n                \n                <div class=\"mtn-input-group\" id=\"group-msisdn\">\n                    <div class=\"mtn-input-wrapper\">\n                        <span class=\"mtn-icon-prefix\">\n                            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                                <path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.86 19.86 0 01-8.63-3.07 19.5 19.5 0 01-6-6A19.86 19.86 0 012.08 4.18 2 2 0 014.06 2h3a2 2 0 012 1.72c.12.9.34 1.78.64 2.63a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.45-1.15a2 2 0 012.11-.45c.85.3 1.73.52 2.63.64A2 2 0 0122 16.92z\"\/>\n                            <\/svg>\n                        <\/span>\n                        <span class=\"mtn-prefix-text\">+225<\/span>\n                        <input type=\"tel\" name=\"msisdn\" id=\"msisdn_forgot\" placeholder=\"Votre num\u00e9ro\" maxlength=\"11\" required oninput=\"handleTypingForgot()\">\n                    <\/div>\n                    <p class=\"mtn-error-text\" id=\"error-msisdn\">Le num\u00e9ro de t\u00e9l\u00e9phone est invalide. Veuillez r\u00e9essayer.<\/p>\n                <\/div>\n\n                <button type=\"submit\" class=\"mtn-btn-submit\" id=\"btnSubmitForgot\">Renvoyer le mot de passe<\/button>\n            <\/form>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n\/* CSS UNIFICADO SEG\u00daN DISE\u00d1O VALIDADO *\/\n:root {\n    --mtn-yellow: #FFCC00;\n    --mtn-dark: #000000;\n    --mtn-error: #FF0000;\n    --mtn-gray: #757575;\n    --mtn-border: #CCCCCC;\n    --bg-light: #F7F7F7;\n}\n\n.mtn-login-container { \n    display: flex; justify-content: center; align-items: flex-start;\n    min-height: 100vh; width: 100vw; position: relative;\n    left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;\n    background-color: var(--bg-light); padding: 40px 0; font-family: sans-serif;\n}\n\n.mtn-login-card { width: 100%; max-width: 400px; background: white; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.08); }\n\n.mtn-header-banner { background: var(--mtn-yellow); padding: 40px 20px; text-align: center; }\n.mtn-header-banner h1 { margin: 0; font-size: 26px; font-weight: 800; color: var(--mtn-dark); }\n\n.mtn-form-body { padding: 35px 25px; }\n.mtn-instruction-text { text-align: center; font-size: 15px; color: #666; margin-bottom: 30px; line-height: 1.4; }\n\n.mtn-input-group { margin-bottom: 20px; position: relative; }\n.mtn-input-wrapper { display: flex; align-items: center; border: 2px solid var(--mtn-border); border-radius: 12px; padding: 12px 18px; transition: border-color 0.3s; }\n.mtn-input-wrapper:focus-within { border-color: var(--mtn-dark); }\n\n.mtn-prefix-text { font-weight: 800; margin: 0 12px; color: var(--mtn-gray); font-size: 14px; border-right: 1px solid #EEE; padding-right: 12px; }\n.mtn-input-wrapper input { border: none; outline: none; width: 100%; font-size: 16px; background: transparent; font-weight: 600; }\n\n.mtn-error-text { color: var(--mtn-error); font-size: 12px; margin: 8px 18px 0; display: none; font-style: italic; }\n.mtn-input-group.has-error .mtn-input-wrapper { border-color: var(--mtn-error); }\n.mtn-input-group.has-error .mtn-error-text { display: block; }\n\n.mtn-btn-submit { width: 100%; padding: 16px; border-radius: 12px; border: none; background: var(--mtn-yellow); font-weight: 800; font-size: 16px; cursor: pointer; margin-top: 15px; box-shadow: 0 4px 12px rgba(255,204,0,0.3); }\n\n.mtn-form-footer { text-align: center; margin-top: 30px; }\n.mtn-link-forgot { color: var(--mtn-dark); text-decoration: none; font-weight: 700; border-bottom: 2.5px solid var(--mtn-yellow); padding-bottom: 2px; font-size: 14px; }\n\n#forgot-response-msg { padding: 12px; border-radius: 8px; margin-bottom: 20px; font-size: 14px; text-align: center; font-weight: 600; }\n.success-banner { background: #E8F5E9; color: #2E7D32; border: 1px solid #C8E6C9; }\n.error-banner { background: #FFEBEE; color: #D32F2F; border: 1px solid #FFCDD2; }\n<\/style>\n\n<script>\nfunction handleTypingForgot() {\n    const msisdn = document.getElementById('msisdn_forgot');\n    const groupM = document.getElementById('group-msisdn');\n    const btnSubmit = document.getElementById('btnSubmitForgot');\n    \n    \/\/ 1. Limpiamos caracteres no num\u00e9ricos\n    msisdn.value = msisdn.value.replace(\/[^0-9]\/g, '');\n    \n    \/\/ 2. Validaci\u00f3n de longitud (Prefijo 225 + 10 d\u00edgitos = 13 total) \n    const currentLength = msisdn.value.length;\n\n    if (currentLength > 10) {\n        \/\/ Si se pasa de 10, error visual inmediato (borde rojo)\n        groupM.classList.add('has-error');\n        btnSubmit.disabled = true;\n    } else {\n        groupM.classList.remove('has-error');\n        \/\/ Solo habilitamos si tiene los 10 d\u00edgitos exactos\n        btnSubmit.disabled = (currentLength !== 10);\n    }\n}\n\nfunction handleForgotIC() {\n    const mInput = document.getElementById('msisdn_forgot');\n    const group = document.getElementById('group-msisdn');\n    const msgBox = document.getElementById('forgot-response-msg');\n    const msisdn = mInput.value;\n    \n    \/\/ Doble validaci\u00f3n de seguridad antes de la llamada a Hydra [cite: 30]\n    if (msisdn.length !== 10) {\n        group.classList.add('has-error');\n        return;\n    }\n\n    \/\/ Llamada al endpoint de Hydra para Remind Password [cite: 29, 31]\n    fetch(\"https:\/\/mtn-ic-upst.uwisely.com\/wp-admin\/admin-ajax.php?action=uwu_remind_password_ic&msisdn=\" + msisdn)\n        .then(r => r.json())\n        .then(d => {\n            msgBox.style.display = 'block';\n            msgBox.className = (d.result == 0) ? 'success-banner' : 'error-banner';\n            msgBox.innerText = d.message;\n            \n            if(d.result == 0) {\n                mInput.value = '';\n                group.classList.remove('has-error');\n            }\n        });\n}\n<\/script><\/p>\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-27713","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/pages\/27713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/comments?post=27713"}],"version-history":[{"count":1,"href":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/pages\/27713\/revisions"}],"predecessor-version":[{"id":27714,"href":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/pages\/27713\/revisions\/27714"}],"wp:attachment":[{"href":"https:\/\/mtn-ic-upst.uwisely.com\/fr\/wp-json\/wp\/v2\/media?parent=27713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}