( INSIGHTS )

Writing on the systems I build.

Published on the ASSOSIATIX Journal — every article here links out to its canonical page.
01

stripe-node Quietly Changed How Webhook Timestamp Checks Work

Two stripe-node releases changed webhook timestamp-tolerance defaults for verifyHeader() and constructEvent(). Here's what shifted, and what to check.

Payments & Marketplaces · 3 min

02

Shopify's Purchase Order Read API Goes Public

Shopify's new Purchase Order Read API ships in 2026-10, but read_inventory alone no longer authorizes the reads your preview integration relied on.

Operations & Fulfillment · 3 min

03

Shopify's identityProviderSubjectDelete, Explained

Shopify's new mutation unlinks a customer from an SSO identity provider and signs them out everywhere — but it isn't a permanent block. Here's why that matters.

Enterprise & Shopify Plus · 3 min

04

Shopify's Market ID Targeting Is No Longer Stable

Shopify Markets lets merchants nest markets, but deprecated endpoints return only the most specific match — and Shopify's own fix for it is on hold.

Enterprise & Shopify Plus · 3 min

05

Shopify Rollouts Now Gate Discounts and Catalogs

Shopify's Rollouts system now overrides discount and catalog state for a slice of traffic — here's what pricing syncs must read instead.

Enterprise & Shopify Plus · 3 min

06

Shopify's Expiring Token Migration Gets Two Recovery Windows

Shopify's January 2027 offline-token deadline stays fixed, but two 2026 updates added 30-day and 7-day recovery windows for lost responses.

Integrations & APIs · 3 min

07

Shopify's carts/update Webhook Now Skips No-Op Cart Writes

Shopify's October 2026 change makes carts/update fire only on real cart changes — here's what breaks for consumers that counted deliveries as request volume.

Integrations & APIs · 3 min

08

Shopify's Ship-and-Pickup-in-One-Order: What Apps Must Fix

Shopify's Plus/Enterprise checkout can now split one order into shipped and pickup fulfillments. Here's what breaks and the deadlines to plan around.

Enterprise & Shopify Plus · 3 min

09

Shopify Plus Expansion Stores: The Same-Brand Rule

Shopify Plus allows up to ten stores per contract, but expansion stores must pass a strict same-brand test — here's where that line actually falls.

Enterprise & Shopify Plus · 3 min

10

Shopify's orderCancel Gets a Confirmable jobResult

Shopify's orderCancel mutation now returns a typed jobResult, finally giving integrations a reliable way to confirm an async cancellation's outcome.

Integrations & APIs · 3 min

11

Shopify's giftCardProductSet Locks Currency at Creation

Shopify's giftCardProductSet mutation locks issuanceCurrency and crossCurrencyRedeemable permanently at creation — there's no update path if you get them wrong.

Enterprise & Shopify Plus · 3 min

12

owner_type Is Coming to Checkout Metafields in 2027-01

Shopify added owner_type to checkout metafield declarations on Oct 8, 2026 — optional now, required in API 2027-01. Here's what to change.

Apps & Product Engineering · 3 min

13

Shopify's Global Catalog REST API Shuts Off Nov 2

Shopify's Global Catalog REST API stops serving traffic on November 2, 2026. Here's the exact REST-to-UCP/MCP migration path, endpoint by endpoint.

Integrations & APIs · 3 min

14

Shopify's Payment Customization API Sets B2B Deposits in Code

Shopify's Payment Customization Function API can set B2B deposits and net terms in checkout code — but deposits still need Shopify Plus.

Enterprise & Shopify Plus · 3 min

15

Shopify Ties Return Policies to Markets as Structured Data

Shopify's API 2026-10 makes return policy rules structured data markets reference directly — what read_legal_policies and write_markets unlock for ERPs.

Enterprise & Shopify Plus · 3 min

16

Shopify's New Subscription API: Calculate, Then Commit

The SubscriptionContractCalculation API replaces draft mutations with calculate-poll-commit — and only one half of that flow is safe to retry.

Operations & Fulfillment · 3 min

17

Shopify Plus Draft Order Deposits Are Now a GraphQL Field

API 2026-07 turns B2B draft order deposits from an admin-only setting into a GraphQL field apps can set and read. What ERP and OMS integrations must track now.

Enterprise & Shopify Plus · 2 min

18

Customer Account API: Two Rate Limits, Two Failure Modes

Shopify's Customer Account API now enforces two independent rate limits — one returns HTTP 429, the other hides inside a 200 OK response.

Integrations & APIs · 3 min

19

Shopify's RequestedOrderEdit: What ERPs Need to Watch

Shopify's 2026-10 API adds a RequestedOrderEdit resource so ERP and 3PL integrations can finally see buyer-requested order edits before fulfillment.

Integrations & APIs · 3 min

20

Shopify Moves Draft Order Holds From Reserved to Committed

Shopify is consolidating draft order, transfer, and shipment inventory holds into the committed state — here's what integration code needs to check.

Operations & Fulfillment · 3 min

21

Shopify's New Pricing Audit Trail, Explained

Shopify's 2026-10 API added an auditTrail field that shows the exact calculation behind a buyer's contextual price — and one trap to avoid.

Enterprise & Shopify Plus · 3 min

22

Shopify Split Return Creation From Processing. Rebuild ERPs Now

returnProcess splits return confirmation from return creation, moving when a sale is recorded and when exchange fulfillment orders exist. Here's what ERPs need to rebuild.

Operations & Fulfillment · 4 min

23

Checkout Validation Functions Gain Billing Address and PO Checks

API 2026-04 adds billing address and PO number fields to Shopify's Cart and Checkout Validation Functions, closing a client-side compliance gap.

Enterprise & Shopify Plus · 3 min

24

Shopify Events GA: Triggers, Query, Query Filter

Shopify's Next Gen Events reached GA in API version 2026-10. Here's how triggers, query, and query_filter combine to replace classic webhooks.

Integrations & APIs · 5 min

25

Fulfillment Order Reroute vs. Move in Shopify

Shopify has two mutations to relocate a fulfillment order — one you aim yourself, one Shopify aims for you — and each fails differently.

Operations & Fulfillment · 3 min

26

Shopify Removes marketCurrencySettingsUpdate in 2027-01

marketCurrencySettingsUpdate is removed in Admin GraphQL API 2027-01 — here's the exact marketCreate/marketUpdate migration path.

Enterprise & Shopify Plus · 2 min

27

Shopify's Collection.sources Model: The Silent Break for Sync Tools

Shopify's 2026-07 Collection.sources model doesn't error on old API versions — it just hides collections from your queries. Here's what to check.

Integrations & APIs · 3 min

28

Shopify's Checkout and Accounts Configuration API, Mapped

Shopify's new Checkout and Accounts Configuration API replaces checkoutBrandingUpsert — here's exactly what maps where.

Enterprise & Shopify Plus · 3 min

29

Shopify Cut Events Query Budgets to 100 Points — Redesign, Don't Trim

Shopify's Events system cut its query complexity limit from 250 to 100 points. The fix isn't a smaller query — it's splitting one subscription into several.

Integrations & APIs · 3 min

30

Shopify's B2B Rollout: What's Universal vs. Plus-Only Now

Shopify's April 2026 update put core B2B tools on every plan. Here's the exact line where Plus-exclusive features still start.

Enterprise & Shopify Plus · 3 min

31

Shopify's CANCELED Receive Needs Idempotent Retries

Shopify's new CANCELED receive action adds a third shipment outcome — but it needs retry logic that already handles the mandatory idempotency key.

Operations & Fulfillment · 3 min

32

Shopify's 500,000-Variant Rate Limit — and the Plus Exemption

Once a Shopify store passes 500,000 variants, a second rate limit kicks in — unless the store runs on Shopify Plus.

Enterprise & Shopify Plus · 2 min

33

Shopify's Market Hierarchy API Is Eventually Consistent

Shopify's new market hierarchy API is eventually consistent — here's the version-check-then-refetch pattern to use it safely.

Enterprise & Shopify Plus · 3 min

34

What changeFromQuantity Actually Protects in Shopify

As of API 2026-04, four Shopify inventory mutations require changeFromQuantity. Here's what the check does and why opting out with null defeats it.

Operations & Fulfillment · 3 min

35

Shopify Deprecated useBuyerJourneyIntercept: What's Next

Shopify is deprecating client-side checkout blocking. Here's what actually breaks, and why Cart and Checkout Validation Functions are the replacement.

Enterprise & Shopify Plus · 3 min

36

The Combinatorial Trap in B2B Catalog Sync

Why mirroring ERP pricing tiers into Shopify B2B catalogs can explode to 500 catalogs, and the split pattern that cuts it to 60.

Enterprise & Shopify Plus · 3 min

37

What Shopify's 2026-01 Bulk Operations Update Changes

Shopify's 2026-01 release changes bulk operation concurrency, flips a JSONL output default, and raises upload limits for ERP/PIM sync jobs.

Integrations & APIs · 3 min

38

Why a CRM Re-Engagement Sync Needs Three Layers of Pagination, Not One

A daily sync over 50,000+ CRM contacts needs pagination discipline at more than one level, or it silently drops and duplicates records.

Systems Integration · 3 min

39

Reading Retry-After-Ms Instead of Guessing at Backoff

Why a system re-engaging 50,000+ CRM contacts reads the Retry-After-Ms header on 429s instead of guessing with fixed exponential backoff.

Systems Integration · 3 min

40

Idempotency Keys: The Cheap Insurance Against Duplicate Writes

Retries are guaranteed in distributed systems. Duplicate charges, emails, and orders aren't — protect the write with an idempotency key before you need one.

Shopify · 3 min

41

The Shopify Integration Problem Nobody Budgets For

Most Shopify integrations don't fail at launch — they fail months later, when data quietly drifts out of sync and nobody notices until a customer does.

Systems Integration · 2 min