eBay listings import
Session-authenticated import contract for syncing active eBay listings into canonical listing rows.
Last updated:
Route
GET /api/ebay/listings/import (also accepts POST)
Purpose
- Imports active eBay listings into canonical
listingrows. - Skips ActiveList rows that eBay reports as hidden/out-of-stock (for example
HideFromSearch = true,ReasonHideFromSearch, or fixed-price rows withQuantityAvailable <= 0) so Control tower Manage only surfaces buyer-visible listings for stock-sync actions. - Optional reconciliation mode marks local published eBay listings that are no
longer active on eBay as
marketplace_status = 'unknown'(no unsold inference from active-list absence alone).
Query parameters
limit:1..200(default50)pages:1..200(default1)reconcile: boolean (1|true|yes|onenables reconciliation, defaultfalse)
Response fields
Returned in addition to ok:
fetched_listingssaved_listingspages_requestedpages_fetchedpages_targetskipped_hiddenreconcile_requestedreconcile_appliedreconcile_skipped_reason(nullwhen not skipped)reconciled_unknown
Reconciliation rules
- Reconciliation is applied only when all active-list pages were fetched for the run.
- If active-list page count exceeds the importer cap (
200pages), import still succeeds but reconciliation is skipped. - Imported rows are stamped with
marketplace_status = 'active'. - Hidden/out-of-stock ActiveList rows are excluded from the imported active set.
- Reconciled rows move to
marketplace_status = 'unknown'without changing canonicallisting.status.
Related eBay listing revision routes
Import selected eBay listings to stock
Route:
POST /api/ebay/listings/import-to-stock
Body:
item_ids(optional): eBay ItemID array. When omitted, ChannelWeave attempts import for buyer-visible discovered published eBay listings. When specificitem_idsare supplied, ChannelWeave still allows explicit import of already discovered rows, includingunknownruntime state rows selected from the Listings workspace.
Behaviour:
- Creates stock rows when no matching stock exists for the listing SKU.
- Links listing rows to stock (
listing.stock_id). - If listing SKU is blank, importer fallback SKU generation still applies.
- Inventory SKU policy now applies during create. Policy-blocked SKUs are
skipped and returned in
blocked_items.
Create revision draft for a live listing
Route:
POST /api/listings/ebay/revision-drafts
Body:
listing_id(required): published eBay ItemID.
Success response:
ok: truedraft_idlisting_idedit_url(draft editor route)
Validation notes:
- Listing must remain linked to stock.
- Listing must be in canonical
publishedstatus and eBay marketplace statusactive,scheduled, orunknown. - If listing has a source draft, ChannelWeave clones that draft.
- If listing has no source draft (imported listing), ChannelWeave adopts it by creating a new draft seeded from listing data and stock defaults.
Publish endpoint mode (publish vs revise)
Route:
POST /api/listings/ebay/drafts/:id/publish
Response now includes: