We’re pleased to announce version 2.8.1 of WP-Lister for Amazon, a substantial update that brings important stability improvements, performance optimizations, and enhanced API handling. This release focuses on making your listing management more reliable and efficient, with automatic background monitoring of submitted listings, improved error handling for rate limits, and numerous fixes that improve data integrity and system performance.
This release addresses issues reported by merchants across various product categories, from international sellers handling special characters to high-volume merchants managing thousands of listings. Whether you’re dealing with EAN matching, character encoding, or feed processing performance, version 2.8.1 delivers meaningful improvements to your daily operations.
Background Processing for Submitted Listings
The most significant addition in 2.8.1 is the new background processing system for monitoring submitted listings. Previously, when you submitted products to Amazon, you had to manually check back to see if they were approved or if there were any issues. This often meant listings could sit in “submitted” status for extended periods without you knowing whether they were successfully published.
The new system automatically checks the status of submitted listings in the background using Action Scheduler. It respects Amazon’s API rate limits with intelligent throttling, handles 429 rate limit responses gracefully by skipping and retrying later, and automatically updates listing status once Amazon completes processing. When issues are detected, listings are marked as failed with detailed error information so you can address problems quickly.
This automation means less manual monitoring and faster resolution when problems occur. Your submitted listings will automatically transition to “online” status once Amazon approves them, or they’ll be flagged with specific errors if action is needed.
Improved API Rate Limit Handling
Amazon’s Selling Partner API has strict rate limits, and exceeding them can disrupt your operations. Version 2.8.1 introduces intelligent throttling controls for getItemOffers
calls, one of the most rate-limited endpoints.
The system now implements exponential backoff when rate limits are hit, with automatic retries at 5, 10, and 20-second intervals. For pricing updates, batch sizes have been optimized from 19 ASINs to configurable smaller batches (default 10) to stay comfortably within the 0.5 requests per second limit. The delay between batches dynamically adjusts based on whether rate limiting is detected.
A merchant running automatic repricing for several hundred products reported frequent 429 errors that would interrupt price updates. After this update, the system handles rate limits smoothly without manual intervention, ensuring pricing stays current without overwhelming Amazon’s API.
Character Encoding and Data Integrity
International merchants selling products with special characters encountered database errors when submitting listings. A European merchant selling cleaning products with French descriptions found that products with accented characters would fail to submit properly, remaining stuck in “submitted” status.
The problem stemmed from malformed UTF-8 sequences in the JSON feed data. Version 2.8.1 adds proper UTF-8 encoding to all values before they’re added to JSON feeds, using the convertToUTF8()
method to clean any malformed sequences. This ensures product titles, descriptions, and bullet points containing special characters from any language are processed correctly.
Additionally, arrays like bullet_point
could develop gaps in their indices (e.g., [0, 1, 4] instead of [0, 1, 2]) which caused Amazon’s API to reject the feed. The new reindexArrays()
method ensures all array fields maintain sequential indexing, preventing these subtle but disruptive errors.
EAN Matching Corrections
When searching for products by EAN (European Article Number), the system was incorrectly including SKU in the identifier types sent to Amazon’s Catalog API. This caused matches to fail or return incorrect results.
The fix ensures that EAN searches only use the EAN identifier type when querying searchCatalogItems()
. This simple but important correction improves matching accuracy for merchants using EAN codes to manage their catalog, particularly common with European merchants and those importing inventory from distributors.
Feeds Page Performance Optimization
Merchants with large feed histories experienced slow load times on the Feeds admin page, sometimes taking 10-15 seconds to display the list. The issue was that the system was fetching the entire data
column from the database – which can contain megabytes of product information for each feed – even though this data wasn’t displayed on the list page.
Version 2.8.1 optimizes the database query to exclude the data
column when loading the feeds list, fetching only the fields needed for display. The data
column is also excluded from search queries. For merchants with hundreds of feeds in their history, this reduces page load time by 80-90%, making feed management much more responsive.
JSON Feed Data Processing
Several edge cases in JSON feed building could cause submissions to fail:
- Zero values (like a
minimum_order_quantity
of 0) were being filtered out as empty, when they’re valid values that should be included - Arrays and strings weren’t being handled consistently, causing type mismatches in the feed data
- The
JsonFeedDataBuilder
class wasn’t properly distinguishing between “no value set” and “value is zero”
The fixes ensure zero values are preserved when explicitly set, arrays and strings are handled appropriately based on the field type, and empty string checks don’t inadvertently remove valid zero values. These corrections prevent obscure feed submission errors that were difficult to diagnose.
Product Type Exception Handling
When saving product type objects, unhandled exceptions could cause the entire operation to fail. This occurred when Amazon’s API returned unexpected responses or when database constraints weren’t met. The new exception handler catches these errors gracefully, logs detailed information for troubleshooting, and allows the operation to continue processing other items rather than failing completely.
Migration to JSON Delete Feeds
Amazon’s Selling Partner API (SP-API) is moving away from CSV-based feeds in favor of JSON feeds. Version 2.8.1 replaces the legacy CSV product removal feed (using the Inventory Loader format) with a unified JSON delete feed system.
When you move products to trash, they’re now processed through the same JSON feed pipeline as regular listings, using the DELETE
operation type. This ensures better compliance with Amazon’s API requirements and prepares your system for future API changes. The old CSV delete feed system is deprecated but still available as a fallback.
Additional Bug Fixes
Several smaller but important fixes are included:
- API Initialization: The
initAPI()
method now returns false when it fails to initialize the SP API client, preventing cascading errors in dependent operations - Catalog Search: Improved type checking ensures the
$identifiers
argument tosearchCatalogItems()
is always a string - Schema Access: Added null checks to prevent “Call to a member function getSchema() on null” errors
- Edit Profile Page: Fixed “Undefined array key” warnings that appeared on the profile editing interface
- CSV Mapping: Added mappings for properties not included in Amazon’s official CSV reference
- Profile Conversion: External Product ID now gets properly mapped when converting profiles between formats
- Order Updates: Double-clicking prevention on Update Orders buttons to avoid duplicate API calls
- Feeds Search: Restored search functionality on the Feeds page that was inadvertently broken by the performance optimization
- Submitted Listings: The background check now automatically marks submitted listings as online when no issues are found
- Database Schema: Added
amazon_product_types
to the required tables check during runtime initialization
How to Update
As with all updates, we recommend testing in a staging environment first if possible. Back up your database before updating. The update is available through your WordPress admin dashboard – navigate to Plugins, find WP-Lister for Amazon, and click Update Now.
After updating, we recommend running a test submission with a few products to ensure everything is working correctly. The background listing checker will automatically begin monitoring any submitted listings on the next scheduled cron run.
What’s Next
We’re continuing to improve API reliability and performance. Future updates will focus on enhanced error reporting, additional automation features, and further SP-API compliance improvements as Amazon continues to evolve their platform requirements.
As always, if you encounter any issues or have questions about this release, our support team is here to help.