Integrations & channels
TikTok Shop
Indicative price, not an offer: €34/mo; credential: TikTok Shop API integration, order import
Generated from docs/plan/paid/tiktok-shop/PLAN.md in the AstroBaaS repository. Nothing described below is implemented — it is the written plan for it.
Merchants list products on TikTok Shop, with automatic catalog and order syncing from AstroBaaS. New products appear on TikTok within hours; orders from TikTok sync to AstroBaaS within 15 minutes. The paid pack maintains TikTok Shop API integration; core owns the sync interface.
The problem
TikTok Shop is a growing sales channel, but syncing products and orders manually is slow and error-prone. Merchants need automatic sync to avoid overselling.
What it does
- Product sync: AstroBaaS products upload to TikTok Shop daily
- Order import: TikTok Shop orders sync to AstroBaaS within 15 minutes
- Inventory sync: stock changes in AstroBaaS update TikTok Shop availability
- Price sync: product prices update on TikTok Shop
- Image sync: product images (main + gallery) upload to TikTok
- Sync status: admin dashboard shows last sync, error count
- Test mode: sync to TikTok staging
What it deliberately does NOT do
Each boundary carries its reason. A boundary without a reason gets crossed by the next person who reads this.
- TikTok ads integration: we sync catalog only; ads are managed in TikTok Ads Manager.
- Livestream shopping: TikTok Live Shopping is TikTok’s responsibility; we provide catalog only.
- Influencer collaborations: TikTok creator partnerships are outside scope.
- Commission management: TikTok Shop takes a commission; we do not manage payout reconciliation (TikTok handles payouts).
Data model
New document: tiktok_sync_record { productId, tiktokProductId, lastSyncAt, syncStatus, error_message }. New setting: tiktok_shop_id (string).
API
- POST /api/tiktok/sync/start -> { jobId }
- GET /api/tiktok/sync/{jobId}/status
- GET /api/tiktok/sync/status (admin only)
- GET /api/tiktok/orders?from=2026-09-01&to=2026-09-03
Every route added here must also appear in src/pages/openapi.json.ts — a test
fails the build if it does not.
Admin
Admin sees: TikTok Shop connection status, last sync time, product count, sync errors, imported orders.
The seam — why this is paid
Core owns the sync interface. Paid pack owns: TikTok Shop API integration, sync scheduler.
Credential: TikTok Shop API management, order sync, inventory sync
Dependencies
- product subsystem (existing)
- inventory subsystem (existing)
- order subsystem (existing)
- scheduler subsystem (existing)
Acceptance checks
Each of these must be able to fail. Before claiming this is done, break the code deliberately and watch each one go red.
- Products sync to TikTok Shop within 24 hours of upload
- TikTok Shop order appears in AstroBaaS within 15 minutes
- Inventory change syncs to TikTok within 2 hours
- Admin can view sync status and error log
Risks
If sync order is wrong (inventory updated before order imported), overselling happens. If TikTok API is rate-limited, sync delays propagate. If order deduplication fails, duplicate orders are created.
Commercial context
| Suggested price | €34/mo; credential: TikTok Shop API integration, order import |
| Rival anchor | TikTok: free (built-in for Shopify 2024+); custom: €2000+ |
The anchor is what the nearest equivalent charges on Shopify or Magento today. It is context for a pricing decision, not the decision.
Generated from the commerce plan. See docs/COMMERCE-PLAN.md for the full
catalogue and ../../AI-GUIDE.md for how to work on this repository.