{"id":1427,"date":"2026-04-09T15:04:37","date_gmt":"2026-04-09T09:34:37","guid":{"rendered":"https:\/\/mynidhi.com\/?page_id=1427"},"modified":"2026-04-10T22:23:43","modified_gmt":"2026-04-10T16:53:43","slug":"card-picker","status":"publish","type":"page","link":"https:\/\/mynidhi.com\/ml\/card-picker\/","title":{"rendered":"Find Your Perfect Credit Card"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1427\" class=\"elementor elementor-1427\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42ad08b e-con-full e-flex e-con e-parent\" data-id=\"42ad08b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-79469ad elementor-widget elementor-widget-text-editor\" data-id=\"79469ad\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Please introduce yourself below so we can personalize your recommendations.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c8c877 elementor-button-align-stretch elementor-widget elementor-widget-form\" data-id=\"1c8c877\" data-element_type=\"widget\" id=\"card-picker-lead-form\" data-settings=\"{&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" name=\"New Form\" aria-label=\"New Form\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"1427\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"1c8c877\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"Find Your Perfect Credit Card\" \/>\n\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"queried_id\" value=\"1427\"\/>\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-lead_name elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-lead_name\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tName\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[lead_name]\" id=\"form-field-lead_name\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Enter your full name\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-lead_email elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-lead_email\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEmail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[lead_email]\" id=\"form-field-lead_email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Enter your email id\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Start Free Chat<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-516edd1 elementor-widget elementor-widget-html\" data-id=\"516edd1\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\nElementor landing-page setup:\r\n1. Keep this page as the SEO\/indexable landing page.\r\n2. Add a Form widget and set the CSS ID to: card-picker-lead-form\r\n3. Add fields with IDs:\r\n   - lead_name (required)\r\n   - lead_email (required)\r\n   - lead_mobile (optional)\r\n4. Keep Elementor AJAX submission enabled and do not redirect inside Elementor.\r\n5. Add this HTML widget below the form.\r\n6. Create a separate WordPress page for \/ml\/card-picker\/chat\/ and place:\r\n   [mn_assistant_chat_app product_line=\"credit_cards\" locale=\"ml\"]\r\n-->\r\n\r\n<div id=\"mn-card-picker-status\" style=\"display:none;padding:14px;margin-top:16px;border:1px solid #dfe7df;border-radius:10px;background:#f7fbf7;\"><\/div>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n  if (!window.jQuery) return;\r\n\r\n  jQuery(function ($) {\r\n    const FORM_WRAPPER = '#card-picker-lead-form';\r\n    const NAME_SELECTOR = '[name=\"form_fields[lead_name]\"]';\r\n    const MOBILE_SELECTOR = '[name=\"form_fields[lead_mobile]\"]';\r\n    const EMAIL_SELECTOR = '[name=\"form_fields[lead_email]\"]';\r\n    const BOOTSTRAP_URL = '\/wp-json\/mn\/v1\/chat-bootstrap';\r\n    const LEAD_URL = '\/wp-json\/mn\/v1\/chat-leads';\r\n    const CHAT_APP_URL = '\/ml\/card-picker\/chat\/';\r\n    const STORAGE_KEY = 'mnAssistantChatState:credit_cards';\r\n    const PRODUCT_LINE = 'credit_cards';\r\n    const LOCALE = 'ml';\r\n\r\n    let pendingLead = null;\r\n    let awaitingSuccess = false;\r\n    let bootstrapPromise = null;\r\n\r\n    function clean(value) {\r\n      return String(value || '').replace(\/\\s+\/g, ' ').trim();\r\n    }\r\n\r\n    function escapeHtml(value) {\r\n      return $('<div>').text(value).html();\r\n    }\r\n\r\n    function showStatus(message, isError) {\r\n      $('#mn-card-picker-status')\r\n        .html(message)\r\n        .css({\r\n          display: 'block',\r\n          borderColor: isError ? '#f1b7b7' : '#dfe7df',\r\n          background: isError ? '#fff7f7' : '#f7fbf7',\r\n          color: isError ? '#9f1d1d' : '#1f3b1f'\r\n        });\r\n    }\r\n\r\n    function getBootstrap() {\r\n      if (!bootstrapPromise) {\r\n        bootstrapPromise = fetch(BOOTSTRAP_URL, {\r\n          method: 'GET',\r\n          credentials: 'same-origin',\r\n          headers: { Accept: 'application\/json' }\r\n        }).then(function (response) {\r\n          if (!response.ok) throw new Error('Bootstrap failed');\r\n          return response.json();\r\n        });\r\n      }\r\n\r\n      return bootstrapPromise;\r\n    }\r\n\r\n    function createLead(bootstrap, lead) {\r\n      const formBody = new URLSearchParams({\r\n        lead_token: bootstrap.lead_token,\r\n        name: lead.name,\r\n        mobile: lead.mobile,\r\n        email: lead.email,\r\n        page_url: window.location.href,\r\n        website: '',\r\n        form_id: 'card-picker-lead-form',\r\n        source: 'elementor'\r\n      });\r\n\r\n      return fetch(LEAD_URL, {\r\n        method: 'POST',\r\n        credentials: 'same-origin',\r\n        headers: {\r\n          'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8',\r\n          Accept: 'application\/json'\r\n        },\r\n        body: formBody.toString()\r\n      }).then(function (response) {\r\n        return response.json().then(function (json) {\r\n          if (!response.ok || !json.ok) {\r\n            const message = json && json.message ? json.message : 'Lead capture failed';\r\n            throw new Error(message);\r\n          }\r\n          return json;\r\n        });\r\n      });\r\n    }\r\n\r\n    function persistLeadState(leadResponse, lead) {\r\n      const payload = {\r\n        compareSlugs: [],\r\n        landingUrl: window.location.href,\r\n        leadName: lead.name,\r\n        leadRef: leadResponse.lead_ref,\r\n        locale: LOCALE,\r\n        productLine: PRODUCT_LINE,\r\n        sessionId: '',\r\n        shortlistSlugs: [],\r\n        usernameToken: leadResponse.username_token\r\n      };\r\n\r\n      try {\r\n        window.sessionStorage.setItem(STORAGE_KEY, JSON.stringify(payload));\r\n      } catch (error) {\r\n        throw new Error('We could not prepare your assistant session in this browser.');\r\n      }\r\n    }\r\n\r\n    function redirectToChat() {\r\n      window.location.assign(CHAT_APP_URL);\r\n    }\r\n\r\n    getBootstrap().catch(function () {\r\n      showStatus('Chat setup could not be initialized. Please refresh the page or contact support.', true);\r\n    });\r\n\r\n    $(document).on('submit', FORM_WRAPPER + ' form', function () {\r\n      const $form = $(this);\r\n      pendingLead = {\r\n        name: clean($form.find(NAME_SELECTOR).val()),\r\n        mobile: clean($form.find(MOBILE_SELECTOR).val()),\r\n        email: clean($form.find(EMAIL_SELECTOR).val())\r\n      };\r\n      awaitingSuccess = true;\r\n    });\r\n\r\n    $(document).on('submit_success', function () {\r\n      if (!awaitingSuccess || !pendingLead || !pendingLead.name) return;\r\n\r\n      awaitingSuccess = false;\r\n      showStatus('Preparing your dedicated MyNidhi Assistant...', false);\r\n\r\n      Promise.resolve()\r\n        .then(function () { return getBootstrap(); })\r\n        .then(function (bootstrap) { return createLead(bootstrap, pendingLead); })\r\n        .then(function (leadResponse) {\r\n          persistLeadState(leadResponse, pendingLead);\r\n          $(FORM_WRAPPER).slideUp(200);\r\n          showStatus(\r\n            'Thanks, <strong>' + escapeHtml(pendingLead.name) + '<\/strong>. Opening your full-screen assistant...',\r\n            false\r\n          );\r\n          window.setTimeout(redirectToChat, 250);\r\n        })\r\n        .catch(function (error) {\r\n          showStatus(error.message || 'The chat assistant could not be started right now.', true);\r\n        });\r\n    });\r\n  });\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c1669f9 e-flex e-con-boxed e-con e-parent\" data-id=\"c1669f9\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d5f63cf elementor-widget elementor-widget-heading\" data-id=\"d5f63cf\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">How our AI credit card assistant works<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0404642 elementor-widget elementor-widget-text-editor\" data-id=\"0404642\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-path-to-node=\"14,1,0\">Choosing the right credit card can be overwhelming. With hundreds of options offering different cashback rates, travel miles, and annual fees, it is easy to leave money on the table.<\/p><p data-path-to-node=\"14,1,0\">Our intelligent credit card recommendation tool analyzes your specific spending habits and income to suggest the best cards for your lifestyle. Whether you need a lifetime free card, a premium travel card with zero forex markup, or a dedicated card for online shopping and utility bills, our AI compares the latest reward structures to give you instant, unbiased advice.<\/p><p data-path-to-node=\"14,1,0\">Start chatting today to optimize your rewards, understand the fine print, and make smarter financial decisions.<\/p>\t\t\t\t\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":"<p>Please introduce yourself below so we can personalize your recommendations. How our AI credit card assistant works Choosing the right credit card can be overwhelming. With hundreds of options offering different cashback rates, travel miles, and annual fees, it is easy to leave money on the table. Our intelligent credit card recommendation tool analyzes your &#8230; <a title=\"Find Your Perfect Credit Card\" class=\"read-more\" href=\"https:\/\/mynidhi.com\/ml\/card-picker\/\" aria-label=\"Read more about Find Your Perfect Credit Card\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"footnotes":""},"class_list":["post-1427","page","type-page","status-publish"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/mynidhi.com\/ml\/wp-json\/wp\/v2\/pages\/1427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mynidhi.com\/ml\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mynidhi.com\/ml\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mynidhi.com\/ml\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mynidhi.com\/ml\/wp-json\/wp\/v2\/comments?post=1427"}],"version-history":[{"count":28,"href":"https:\/\/mynidhi.com\/ml\/wp-json\/wp\/v2\/pages\/1427\/revisions"}],"predecessor-version":[{"id":1467,"href":"https:\/\/mynidhi.com\/ml\/wp-json\/wp\/v2\/pages\/1427\/revisions\/1467"}],"wp:attachment":[{"href":"https:\/\/mynidhi.com\/ml\/wp-json\/wp\/v2\/media?parent=1427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}