Case 02 / 06 · Marketplace integration · 2026

Marketplace Order Automation

Sinister Diesel · private production system

A new sales channel with no path into the ERP — and a real risk of double-entry against the integration already running. The interesting part of this system is what it refuses to do.

Source
TikTok Shop
Destination
NetSuite
Runtime
Node.js
Write paths
Off by default
Simplified system view · the write path is gated

Context / problem

A new channel, unconnected

Orders placed on TikTok Shop had no path into NetSuite. A new sales channel meant a new, unconnected order stream — and a careless integration risked double-creating orders that were already flowing in through the Miva sync.

I designed the architecture, built the integration, and ran it through a staged, controlled production test. Miva stays strictly read-only here, used only for SKU lookups.

Architecture

Resolve, then gate, then write

A Node service resolves customers and SKUs — never guessing a match — and creates NetSuite Sales Orders. A second flow pushes fulfilment tracking back once a human has approved and shipped the order.

Simplified system view · dashed segments are write paths that are currently disabled

Engineering decisions

Fail closed

Order creation, customer creation and tracking sync each sit behind their own environment flag, all defaulting to off, with fail-closed guards enforced at runtime.

Never guess a match

An unmatched SKU or an ambiguous customer routes to manual review instead of a guess. Being wrong here would mean a real order attached to the wrong record.

Miva stays read-only

The existing storefront integration is not a dependency of this one. Miva is read for SKU lookups and never written to, so the two systems cannot collide.

Undocumented contracts

TikTok’s seller-shipping contract wasn’t fully documented publicly. Getting it right required direct engagement with TikTok Partner Support to confirm the exact ownership rules before any tracking write could be trusted.

Deployment

Built and tested against a live TikTok Development Shop plus one controlled production order. Scheduled workers are written and ready, but intentionally not started until the go-live checklist clears.

Tests
Automated unit + live-shop suite
Writes
Off (staged)
Polling
5 min · not yet enabled

Result

Staged Engineering complete · writes off by default

Proven against a real TikTok order in a controlled run. Production writes stay off by default, pending a Finance-approved, staged go-live rather than an all-at-once flip. That is the outcome the system was designed for, not a limitation of it.

Node.js TikTok Shop API NetSuite REST API PM2

Next system · 03 / 06

Storefront Design System

The rail drops away and the interface layer comes apart instead.