REST API extremely slow sync + stale modified_after cursor
-
After reconnecting our store to ShipStation today (March 4, 2026), the plugin switched to the REST API with no option to use the XML Legacy API which was working perfectly. Two major issues:
1. Stale sync cursor (critical) ShipStation keeps sending
modified_after=2026-02-18on every sync cycle despite the store being reconnected today on March 4. This means it re-fetches 2,500+ orders (26+ pages of 100) every single time instead of just new ones. We have no idea why ShipStation chose February 18 as its starting point — it does not correspond to any action on our side.We confirmed this from our Apache logs:
35.173.55.253 [04/Mar/2026:01:50:32] GET /wp-json/wc-shipstation/v1/orders?modified_after=2026-02-18T01:50:32.952Z&page=25&per_page=100 → 200 (61,802 bytes) 35.173.55.253 [04/Mar/2026:01:50:35] GET /wp-json/wc-shipstation/v1/orders?modified_after=2026-02-18T01:50:35.567Z&page=26&per_page=100 → 200 (62,461 bytes)We deployed a server-side workaround (mu-plugin) that overrides the stale
modified_afterto a recent date. Sync became instant. This proves the issue is the stale cursor, not server performance.2. REST API is significantly heavier than XML Legacy The REST API returns 2-3x more data per order (2 images instead of 1, per-item taxes, buyer user object, dimensions, COGS, ISBN, fulfillment_sku, etc.). Combined with the cursor issue, this makes every sync extremely slow.
3. COGS log spam (WooCommerce 10.5.3)
get_cogs_value()is called inclass-orders-controller.phpwithout checking if the COGS feature is enabled, generating millions ofwc_doing_it_wronglog entries. The code checksis_callable()but not thewoocommerce_cogs_enabledoption.Environment: WooCommerce 10.5.3, ShipStation plugin 4.9.2
You must be logged in to reply to this topic.