{"id":11413,"date":"2026-05-31T12:30:27","date_gmt":"2026-05-31T04:30:27","guid":{"rendered":"https:\/\/aeosub.com\/native-b2b-rfq-product-catalog-inquiry-form\/"},"modified":"2026-05-31T12:30:27","modified_gmt":"2026-05-31T04:30:27","slug":"native-b2b-rfq-product-catalog-inquiry-form","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/native-b2b-rfq-product-catalog-inquiry-form\/","title":{"rendered":"Native B2B: RFQ Product Catalog &amp; Inquiry Form"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<div style=\"padding: 20px;border-bottom: 1px solid #edf2f7;background: #fafafa;display: flex;align-items: flex-start\">\n                <img decoding=\"async\" src=\"https:\/\/ps.w.org\/native-b2b-rfq-product-catalog-inquiry-form\/assets\/icon-256x256.png?rev=3555076\" style=\"width: 45px;height: 45px;border-radius: 8px;margin-right: 15px\"> <\/p>\n<div style=\"flex: 1;line-height: 1.2\">\n<div style=\"font-weight: bold;font-size: 1.1em;color: #1a202c\">Plugin Specification<\/div>\n<p>                    <small style=\"color: #718096\">WordPress.org Official Data<\/small>\n                <\/div>\n<\/p><\/div>\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\">Developer<\/th>\n<td style=\"padding: 12px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/daijianpu\/\" target=\"_blank\" rel=\"noopener\">eezznet<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.1.9<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.5 \/ 7.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-31 3:38am GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/native-b2b-rfq-product-catalog-inquiry-form\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">High-speed B2B Product Catalog &amp; RFQ System. Native-first, zero-bloat architecture for professional wholesale and lead generation.<\/div>\n<p>Native B2B is a professional-grade Product Catalog and Request for Quote (RFQ) system for WordPress. Designed with a native-first, zero-bloat architecture, it provides a high-speed alternative for wholesale businesses and lead generation sites.<\/p>\n<h4>Core Features<\/h4>\n<ul>\n<li><strong>Custom Product Management:<\/strong> Effortlessly manage wholesale products with tiered pricing and technical specifications.<\/li>\n<li><strong>Professional RFQ System:<\/strong> High-performance AJAX-based inquiry form that integrates seamlessly into any theme.<\/li>\n<li><strong>Advanced Anti-Spam Shield:<\/strong> Protect your inbox with Math Challenges, Akismet integration, and Honeypot fields.<\/li>\n<li><strong>Global Notifications:<\/strong> Get instant alerts via Slack, Discord, Telegram, Feishu, Email, Bark, and NTFY.<\/li>\n<li><strong>Data Automation:<\/strong> Automatically synchronize inquiry data to Google Sheets via Apps Script.<\/li>\n<li><strong>Analytics Dashboard:<\/strong> Monitor leads and analyze inquiry peak hours with our unique Hotspot Analysis tool.<\/li>\n<li><strong>Enterprise Ready:<\/strong> One-click CSV export and daily automated database maintenance.<\/li>\n<\/ul>\n<h3>Usage<\/h3>\n<ul>\n<li><strong>Add Products:<\/strong> Navigate to &#8216;B2B Products&#8217; -&gt; &#8216;Add New&#8217;. Fill in the title, description, and tiered pricing in the provided meta boxes.<\/li>\n<li><strong>Display Catalog:<\/strong> Use the shortcode <code>[ezls_gallery columns=\"4\"]<\/code> on any page to display your product grid.<\/li>\n<li><strong>Inquiry Button:<\/strong> Use <code>[ezls_inquiry_btn]<\/code> on custom pages to trigger the RFQ popup.<\/li>\n<li><strong>Configuration:<\/strong> Visit &#8216;B2B Products&#8217; -&gt; &#8216;Settings&#8217; to connect your notification channels and data integration credentials.<\/li>\n<li><strong>Lead Management:<\/strong> View and process incoming leads under the &#8216;Inquiries&#8217; menu. Use the &#8216;Hotspot Analysis&#8217; to optimize your sales staffing.<\/li>\n<\/ul>\n<h3>Google Sheets Integration<\/h3>\n<p>This integration uses a secure Google Apps Script to send inquiry data to your Google Sheet in real-time.<\/p>\n<p><strong>Part 1: Create the Google Sheet &amp; Apps Script<\/strong><\/p>\n<ol>\n<li><strong>Create Google Sheet:<\/strong> Go to <a href=\"https:\/\/sheets.google.com\" rel=\"nofollow ugc noopener\" target=\"_blank\">sheets.google.com<\/a>, create a new spreadsheet, and name it (e.g., <code>B2B Inquiries<\/code>).<\/li>\n<li><strong>Set Up Headers:<\/strong> In the first row, set up the following headers exactly as written (case-sensitive): <code>Time<\/code>, <code>ID<\/code>, <code>Product<\/code>, <code>Name<\/code>, <code>Email<\/code>, <code>Tel<\/code>, <code>IM<\/code>, <code>Message<\/code>, <code>Link<\/code>.<\/li>\n<li><strong>Open Apps Script:<\/strong> In your spreadsheet, go to <code>Extensions<\/code> -&gt; <code>Apps Script<\/code>.<\/li>\n<li>\n<p><strong>Paste Script Code:<\/strong> Delete any default code in the <code>Code.gs<\/code> file and paste the entire script below:<\/p>\n<p>\/\/ Copyright (c) 2024 EEZZ.NET. All rights reserved.<br \/>\n\/\/ This script is provided for use with the &#8220;Native B2B&#8221; WordPress plugin.<br \/>\nconst API_PASSWORD = &#8220;YOUR_SECRET_PASSWORD&#8221;;<br \/>\nconst sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();<br \/>\nfunction doPost(e){try{if(!e||!e.postData||!e.postData.contents){throw new Error(&#8220;Invalid request: No data received.&#8221;)}const params=JSON.parse(e.postData.contents);if(params.AuthKey!==API_PASSWORD){return createJsonResponse({&#8220;status&#8221;:&#8221;error&#8221;,&#8221;message&#8221;:&#8221;Authentication failed.&#8221;})}const newRow=[params.Time||new Date(),params.ID||&#8217;N\/A&#8217;,params.Product||&#8217;N\/A&#8217;,params.Name||&#8217;N\/A&#8217;,params.Email||&#8217;N\/A&#8217;,params.Tel||&#8217;N\/A&#8217;,params.IM||&#8217;N\/A&#8217;,params.Message||&#8217;N\/A&#8217;,params.Link||&#8217;N\/A&#8217;];const lock=LockService.getScriptLock();lock.waitLock(30000);try{sheet.appendRow(newRow)}finally{lock.releaseLock()}return createJsonResponse({&#8220;status&#8221;:&#8221;success&#8221;})}catch(error){console.error(&#8220;Error processing request: &#8220;+error.toString());return createJsonResponse({&#8220;status&#8221;:&#8221;error&#8221;,&#8221;message&#8221;:&#8221;An internal error occurred: &#8220;+error.message})}}<br \/>\nfunction createJsonResponse(data){return ContentService.createTextOutput(JSON.stringify(data)).setMimeType(ContentService.MimeType.JSON)}<\/p>\n<\/li>\n<li>\n<p><strong>Set Password &amp; Save:<\/strong> In the script, change <code>\"YOUR_SECRET_PASSWORD\"<\/code> to your own strong password and save the project.<\/p>\n<\/li>\n<\/ol>\n<p><strong>Part 2: Deploy and Configure<\/strong><\/p>\n<ol>\n<li><strong>Deploy as Web App:<\/strong> Click <code>Deploy<\/code> -&gt; <code>New deployment<\/code>. Select type <code>Web app<\/code>.<\/li>\n<li><strong>Set Access:<\/strong> Under &#8220;Who has access&#8221;, select <code>Anyone<\/code>. This is critical.<\/li>\n<li><strong>Authorize &amp; Copy URL:<\/strong> Click <code>Deploy<\/code>, authorize the script (you may need to click &#8220;Advanced&#8221; -&gt; &#8220;Go to&#8230;&#8221;), and copy the generated <strong>Web app URL<\/strong>.<\/li>\n<li><strong>Configure in WordPress:<\/strong> Go to <code>B2B Products<\/code> -&gt; <code>Settings<\/code>. Paste the <strong>Web app URL<\/strong> and your <strong>password<\/strong> into the Google Sheets section and save changes.<\/li>\n<\/ol>\n<h3>External Services<\/h3>\n<p>This plugin connects to third-party services to provide notifications, data sync, and spam protection. No data is sent to these services unless you explicitly configure the corresponding credentials in the plugin settings.<\/p>\n<ul>\n<li>\n<p><strong>Akismet Anti-Spam<\/strong><\/p>\n<ul>\n<li><strong>Purpose:<\/strong> To check inquiry submissions for spam.<\/li>\n<li><strong>Data Sent:<\/strong> When a user submits an inquiry, their IP address, user agent, referrer, name, email address, and message content are sent to the Akismet service.<\/li>\n<li><strong>Links:<\/strong> <a href=\"https:\/\/akismet.com\/tos\/\" rel=\"nofollow ugc noopener\" target=\"_blank\">Terms of Service<\/a>, <a href=\"https:\/\/automattic.com\/privacy\/\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Telegram Bot API<\/strong><\/p>\n<ul>\n<li><strong>Purpose:<\/strong> To send real-time notifications for new inquiries to your configured chat.<\/li>\n<li><strong>Data Sent:<\/strong> When a new inquiry is received, details such as the product name, customer name, and email are sent via the Telegram Bot API.<\/li>\n<li><strong>Links:<\/strong> <a href=\"https:\/\/telegram.org\/tos\" rel=\"nofollow ugc noopener\" target=\"_blank\">Terms of Service<\/a>, <a href=\"https:\/\/telegram.org\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Slack (Incoming Webhook)<\/strong><\/p>\n<ul>\n<li><strong>Purpose:<\/strong> To send real-time notifications for new inquiries to your Slack workspace.<\/li>\n<li><strong>Data Sent:<\/strong> When a new inquiry is received, the product name, customer name, message preview, and a link to the product page are sent to the configured Slack webhook URL.<\/li>\n<li><strong>Links:<\/strong> <a href=\"https:\/\/slack.com\/trust\/privacy\/privacy-policy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Discord (Webhook)<\/strong><\/p>\n<ul>\n<li><strong>Purpose:<\/strong> To send real-time notifications for new inquiries to your Discord server.<\/li>\n<li><strong>Data Sent:<\/strong> When a new inquiry is received, the product name, customer name, email, and a link to the product page are sent to the configured Discord webhook URL.<\/li>\n<li><strong>Links:<\/strong> <a href=\"https:\/\/discord.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Feishu \/ Lark (Webhook)<\/strong><\/p>\n<ul>\n<li><strong>Purpose:<\/strong> To send real-time notifications for new inquiries to your Feishu\/Lark group.<\/li>\n<li><strong>Data Sent:<\/strong> When a new inquiry is received, the inquiry ID, product name, customer name, email, and message text are sent to the configured Feishu webhook URL. If a Feishu signing secret is configured, a timestamp and HMAC signature are also included for request verification.<\/li>\n<li><strong>Links:<\/strong> <a href=\"https:\/\/www.feishu.cn\/en\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">Terms of Service<\/a>, <a href=\"https:\/\/www.feishu.cn\/en\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Bark<\/strong><\/p>\n<ul>\n<li><strong>Purpose:<\/strong> To send real-time push notifications for new inquiries to your mobile devices via your self-hosted or public Bark server.<\/li>\n<li><strong>Data Sent:<\/strong> When a new inquiry is received, the inquiry ID and customer name are sent to the configured Bark server URL.<\/li>\n<li><strong>Links:<\/strong> <a href=\"https:\/\/github.com\/finb\/bark\" rel=\"nofollow ugc noopener\" target=\"_blank\">Project Repository &amp; Documentation<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>ntfy<\/strong><\/p>\n<ul>\n<li><strong>Purpose:<\/strong> To send real-time push notifications for new inquiries to your mobile devices via your self-hosted or public ntfy server.<\/li>\n<li><strong>Data Sent:<\/strong> When a new inquiry is received, a notification message containing the customer name and product name is sent to the configured ntfy topic URL.<\/li>\n<li><strong>Links:<\/strong> <a href=\"https:\/\/ntfy.sh\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">Terms of Service (ntfy.sh)<\/a>, <a href=\"https:\/\/ntfy.sh\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Privacy Policy (ntfy.sh)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Google Sheets (via Apps Script Webhook)<\/strong><\/p>\n<ul>\n<li><strong>Purpose:<\/strong> To automatically sync inquiry data to a Google Sheets spreadsheet for record-keeping and analysis.<\/li>\n<li><strong>Data Sent:<\/strong> When a new inquiry is received, the inquiry code, product name, customer name, email, phone, IM platform, IM account, message, product link, and timestamp are sent to the configured Google Apps Script webhook URL. An API password (set by the site administrator) is included for authentication.<\/li>\n<li><strong>Links:<\/strong> <a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>High-speed B2B Product Catalog &amp; RFQ System. Native-first, zero-bloat architecture for professional wholesale and lead generation.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[1784,1832,2636,2637,1785,555],"class_list":["post-11413","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-b2b","tag-inquiry","tag-product-catalog","tag-rfq","tag-wholesale","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=11413"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11413\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=11413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=11413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=11413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}