描述
Lestari Importer turns Shopee listings into reviewable WooCommerce drafts. The companion browser extension reads the Shopee product page the merchant is already looking at and sends the data, over a signed REST request, to a staging area inside the WordPress admin. Nothing is published automatically — every title, price, stock count, description, and image lands in staging first, ready for the merchant to edit, approve, or discard.
One paired site. One pairing code. One staging queue. No accounts to create, no third-party SaaS sitting in the middle of the data flow.
What Lestari Importer does
- Paired browser-extension intake — the extension you install in your browser is the only thing that sends product data to your site; the WordPress plugin never reaches out to Shopee servers itself.
- HMAC-SHA256 signed REST endpoint — every receive call is authenticated with a per-site token established at pairing time and bound to the originating extension identifier.
- Review-first staging area — incoming products are queued for human review with editable title, price, stock, description, categories, tags, gallery, and per-row variation matrix.
- Image sideloading with deduplication — product images are downloaded into the WordPress media library, deduplicated by source URL and SHA-256 hash so re-imports do not flood your library.
- Duplicate handling — choose to skip, update, or create a new copy when the importer sees a product it has imported before; detection works on a stable source-id postmeta key.
- HPOS-compatible — the plugin reads and writes only its own staging tables plus WooCommerce’s standard
WC_ProductCRUD; it never touches WooCommerce orders, so it declares full High-Performance Order Storage compatibility. - Report-a-Bug from the admin — an optional, opt-in modal lets you send a focused bug report to the plugin author (only when you click Send; never in the background). See Privacy & External Services below for the exact data sent.
Free vs Pro
The free plugin you are installing is the complete day-to-day importer. Lestari Importer Pro is an optional paid add-on, sold separately at the link below; it is not bundled here and the free plugin does not depend on it.
Free — the everyday import workflow
- Receive products from the paired browser extension via the signed REST endpoint
- Staging-area review with editable title, price, stock, description, categories, tags, and gallery
- Image sideloading with URL and SHA-256 deduplication
- Duplicate handling: skip, update, or create a new copy
- HPOS-compatible WooCommerce product creation
- Report-a-Bug modal with opt-out diagnostics and a local 50-row bounded log
- Clean uninstall, with an explicit “Keep my data” opt-in
Pro — everything in Free, plus:
- Variable Products — explicit Variable import intent always creates a
WC_Product_Variableparent and rebuilds the attribute/variation matrix, even when the scraper returned an empty variant list - Per-product markup — apply a percentage or flat-amount markup to the imported regular price, with live final-price preview in the staging editor and per-variant override
- Bulk-select import from a shop page — pick multiple products at once from a Shopee shop URL via the extension’s selection mode
- Priority email support — direct support channel for Pro licence holders
👉 Learn more about Lestari Importer Pro
About Shopee
Lestari Importer is not affiliated with, endorsed by, or connected to Shopee, Sea Group, or any of their subsidiaries. “Shopee” is a trademark of its respective owner and is used here only to describe the type of source data the companion browser extension reads from the page the merchant is currently viewing.
Privacy & External Services
Lestari Importer is built around an inbound data flow: the companion browser extension, running in the merchant’s own browser, posts product data to a REST endpoint on your WordPress site. Your site is the receiver. The plugin does not initiate outbound HTTP requests during normal import operation — no telemetry, no analytics, no automatic check-ins.
The only outbound HTTP request the plugin ever makes is the optional Report a Bug submission, and only when an administrator types into the modal and clicks Send.
Data sent only when a bug report is submitted
- The Subject and Message you type, verbatim.
- An optional reply-to email address — only if you fill it in; left blank, the submission is anonymous.
- Up to three image attachments (drag-drop, file picker, or paste-from-clipboard). Images are auto-resized client-side to a 1920px longest edge with progressive JPEG quality steps so screenshots fit within the wire budget.
- Optional diagnostics — opt-out, shown to you before sending: plugin version, WordPress version, PHP version, MySQL version, WooCommerce version (if active), active theme name and version, locale, multisite flag, and PHP
memory_limit. - Never auto-collected: site URL, administrator email, license keys, pairing tokens, user lists, active-plugin lists, or any WooCommerce order / customer / product data.
A local copy of every submission is written to a bounded log (the lestari_importer_feedback_log option, capped at the 50 most recent entries, FIFO-rotated). The local log stores per-attachment metadata only (filename, MIME, byte size) — never the image binary.
External service used
- Service: Markas Studio bug-report receiver
- Purpose: Deliver administrator-submitted bug reports to the plugin author’s private triage dashboard for support investigation. Data is sent only after you click Send — never automatically and never on any other admin screen.
- What is sent: Exactly the payload described in the section above and shown to you under “See what will be sent” before the Send button enables.
- Terms of Use · Privacy Policy
Companion browser extension
The companion extension reads the Shopee product page that the merchant is viewing in their browser and sends the extracted product data to your WordPress site’s own /wp-json/lestari/v1/receive endpoint, signed with the pairing token. This is an inbound request to your site; the WordPress plugin does not contact Shopee servers itself. The extension is documented and downloaded from the plugin author’s site: https://studio.markashosting.com/plugins/lestari/extension/.
Data the plugin stores on your site
- The staging area’s product rows (
wp_lestari_importer_staging,wp_lestari_importer_staging_items). - Plugin settings (
lestari_importer_settings,lestari_importer_secret,lestari_importer_site_tokens,lestari_importer_pairing_pending,lestari_importer_keep_data_on_uninstall). - Postmeta on each imported WooCommerce product, keyed by
_lestari_importer_source_id(so duplicate detection works on re-import). - The Report-a-Bug bounded local log (
lestari_importer_feedback_log, capped at 50 rows). Attachment binaries are not included.
Data on uninstall
When you delete the plugin, all of the items above are removed unless you have enabled Keep data on uninstall in the Settings tab before uninstalling.
Developer reference
The plugin exposes filters and actions so add-ons can extend its behaviour without modifying core files:
lestari/default_settings(filter) — extend the default settings array on first install.lestari/admin/tabs(filter) — register additional admin tabs.lestari/admin/render_tab(filter) — render the body of a custom tab.lestari/admin/settings_tab_extra(action) — append rows to the Settings tab.lestari/license/is_pro(filter) — report Pro status from a separately-installed add-on.lestari/booted(action) — fires after the plugin has finished booting.
安装
- Upload the plugin ZIP through Plugins Add New Upload Plugin, or unzip the
lestarifolder into/wp-content/plugins/. - Activate the plugin via the Plugins screen.
- Make sure WooCommerce 8.0 or newer is installed and active.
- Open Lestari Importer in the admin sidebar, generate a 6-digit pairing code, and enter that code in the companion browser extension.
- Open a Shopee product page in your browser, click the extension’s import action, and the product will appear in Lestari Importer Staging Area for review.
Requirements
- WordPress 6.4 or newer.
- WooCommerce 8.0 or newer, active.
- PHP 7.4 or newer.
常见问题
-
Do I need the companion browser extension?
-
Yes. The extension is the only component that reads data from a Shopee page; the WordPress plugin only receives that data over its own REST endpoint. Without the extension, there is no source of products.
-
Does this plugin call the official Shopee API?
-
No. The plugin does not call the Shopee Open Platform API and does not contact Shopee servers from your WordPress site. All product data originates from the page the merchant is viewing in their own browser, via the companion extension.
-
How secure is the pairing?
-
Pairing uses a 6-digit code with a short expiry. After pairing, every receive request from the extension is signed with HMAC-SHA256 using a per-site token established at pairing time; the extension’s installation identifier is bound to that token and checked on every receive call.
-
Will I lose my settings if I deactivate the plugin?
-
No. Deactivation leaves settings, the staging area, and the pairing token intact. Data is removed only when you delete the plugin — and even then you can opt in to keep it via the Keep data on uninstall checkbox in Settings.
-
How are existing settings preserved on upgrade?
-
The activator runs an idempotent migration from earlier internal identifier namespaces into the current
lestari_importer_*/_lestari_importer_*/lestari/*identifiers. The migration is a no-op on fresh installs and on installs that are already on the current namespace. -
Where do I get support?
-
Free support is available through the WordPress.org support forum for this plugin. Priority support is available with Lestari Importer Pro.
评价
此插件暂无评价。
贡献者及开发者
更新日志
1.5.8
- Fixed WordPress.org plugin review blockers from the manual round-two review:
- All admin CSS and JavaScript are now enqueued via
wp_enqueue_style/wp_enqueue_script— no inline<style>or<script>blocks remain. The legacy-notice suppressor and the plugin-row “Go Pro” link styling are real on-disk assets loaded only where they apply. - The two
require_once ABSPATH . 'wp-admin/includes/…'calls flagged by the reviewer (image.phpin the media sideloader andplugin.phpin the active-plugin probe) have been removed; the helpers they were guarding have lived in core since well before our WP 6.4 floor. - Two unescaped echoes in
tab-pro.phpandtab-pairing.php(inline SVG icons and the Shopee wordmark) now pass throughwp_kses()with strict per-element allowlists — nophpcs:ignoresuppression remains. - The External Services section of this readme links the Terms of Use and Privacy Policy as proper Markdown links so the WordPress.org link-validation step picks them up.
- All admin CSS and JavaScript are now enqueued via
- Refreshed the readme to clarify Free vs Pro and the affiliation-with-Shopee disclaimer at the top of the description.
- No database or settings migration is required.
1.5.7
- Asset cache-busting and pointer-event fixes for the staging-area glossary modal.
- Internal QA build.
1.5.0
- Renamed plugin to “Lestari Importer for Woo with Shopee” to comply with WordPress.org trademark and naming guidelines.
- Updated text domain, admin slug, REST namespace, public URLs, and the affiliation disclaimer to use the new canonical slug
lestari.
1.4.13
- Report-a-Bug modal: bounded local log (50 entries, FIFO), opt-out diagnostics, paste-from-clipboard, and an inline “See what will be sent” preview before Send.
- Hardened sealed daily-import counter (AES-256-GCM envelope bound to the UTC date).
- Pro Features tab is now a factual, non-intrusive description of the optional paid add-on — no form fields, no inert inputs, no urgency copy. Hidden automatically when the Pro add-on registers its own License tab.
1.4.0
- HPOS compatibility declaration and Cart/Checkout-blocks compatibility declaration.
- MIME-sniff from magic bytes for sideloaded images (JPEG / PNG / WebP).
1.0.0
- First public release of the importer with paired browser-extension intake, HMAC-signed REST endpoint, staging area, image sideloading with deduplication, and configurable duplicate handling.
