A container terminal photographed from above, containers arranged in long rows
Use Case05
Multichannel Syndication

Amazon wants 200 characters. eBay allows 80. It’s the same product.

“Publish once” is the promise everyone in this category makes. What actually happens is that you publish five times, in five incompatible dialects, and hope the versions do not drift apart.

They do drift apart. Not because anyone is careless, but because each channel is a lossy compression of your product — and hand-authoring per channel hides exactly which parts got lost.

5
Native connectors

Plus any endpoint reachable by file, webhook or API.

<1s
Inventory delta

Reservation-based, so the last unit sells once.

0
Mapping errors

Validation runs before submission, not after.

100%
Publishes dry-run first

A diff before anything reaches a live listing.

01Divergence

Every channel is a lossy compression of your product.

One master record. Six attributes. Below is what each of them becomes on five channels — and the cells worth reading are the ones where the channel simply cannot hold the value.

eBay turns 42 dB of noise cancellation into the string "Active". Etsy has nowhere to put an FCC certification, and demands to know who made it. Neither is a bug — it is what the schema permits. The failure is not noticing.

Master recordAmazonSP-API Listings 2024eBaySell Inventory API v1EtsyOpen API v3ShopifyGraphQL AdminWooCommerceREST API v3

Title

SonicPro X7 Wireless Noise Cancelling Headphones

item_name · ≤200 chars · brand first · no promotional language

product.title · ≤80 chars · hard truncation, not a warning

lossy

title · ≤140 chars · natural phrasing favoured by Etsy search

title · clean · brand moves to the vendor field

name · unconstrained · the theme decides where it truncates

ANC depth

42 dB

noise_control · "Active Noise Cancellation (42dB)"

aspects["Noise Cancellation"] = ["Active"] · the number is lost

lossy

no structured specification fields — description prose only

lossy

metafield custom.anc_depth · single_line_text_field

attributes[] · options: ["42 dB"] · untyped string

Battery life

48 hours

battery_life · { value: 48, unit: "hours" } · typed

aspects["Battery Life"] = ["48 hours"] · unit typing lost

lossy

description prose only

lossy

metafield custom.battery_life_hours · number_integer

attributes[] · options: ["48 hours"] · untyped string

Provenance

— no equivalent concept in any supplier feed

not applicable

not applicable

who_made · when_made · is_supply · all three REQUIRED

demands

not applicable

not applicable

Compliance

FCC Part 15 Class B

compliance_certification · FCC_PART_15_CLASS_B · enum

aspects["Certification"] · free text, unvalidated

no field in the listing schema

lossy

metafield custom.compliance · single_line_text_field

meta_data · _compliance_cert · unvalidated key/value

Primary image

2000 × 2000 px · white background

1:1 · ≥1600 px · pure white RGB 255,255,255 required

≥500 px longest side · no borders, watermarks or added text

2000 × 2000 recommended · first image drives the search thumbnail

any ratio · 4:5 recommended for the mobile grid

theme-dependent · no platform-level enforcement at all

When a channel cannot carry an attribute, Aonex relocates it rather than dropping it — into description prose, a metafield, or a structured bullet — and records that it did. You get a per-channel completeness score instead of the comfortable illusion that all five listings say the same thing.

02The compiler

One record in. Native payloads out.

Not a generic export with a mapping sheet bolted on. The actual request body each channel expects, validated against its live specification before it is sent.

Enforced before submission

Title ≤200 chars · no "best", "sale", "free shipping"

Browse node must resolve to a valid leaf category

Main image 1:1, pure white, product ≥85% of frame

Compliance enums must match the SP-API controlled list exactly

Attributes this channel cannot carry

0

Every source attribute maps to a typed field on this channel.

SP-API Listings 2024JSON Schema
{
  "productType": "HEADPHONES",
  "requirements": "LISTING_OFFER_ONLY",
  "attributes": {
    "item_name": [{ "value": "SonicPro X7 Wireless Noise Cancelling Over-Ear Headphones" }],
    "brand": [{ "value": "SonicPro" }],
    "standard_price": [{ "value": 299.00, "currency": "USD" }],
    "noise_control": [{ "value": "Active Noise Cancellation (42dB)" }],
    "battery_life": [{ "value": 48, "unit": "hours" }],
    "compliance_certification": [{ "value": "FCC_PART_15_CLASS_B" }]
  }
}
An engineer connecting patch cables into a network switch in a rack
The hard part

Connecting a channel takes an afternoon. Keeping five channels agreeing with each other, at 3am, on a Sunday, is the actual product.

03What breaks

Six failures you only meet in production.

None of these appear in a pilot on one channel. All of them appear in month four across five, and every one of them is silent until it is expensive.

01

The double sell

Two channels sell the last unit inside the same sync window. Both orders confirm. One customer receives a cancellation, your defect rate rises, and on Amazon a high enough rate suspends the listing entirely.

Guard

Reservation-based inventory with sub-second delta propagation

02

Buy Box suppression

Your own price differs by eleven cents between two of your channels after a rounding difference in tax handling. Amazon reads this as an uncompetitive offer and quietly suppresses the Buy Box. Nothing errors.

Guard

Cross-channel price reconciliation before publish

03

The forbidden word

A phrase that is perfectly fine on your own storefront — "clinically proven", a competitor's trademark, "cures" — triggers a policy action on a marketplace. Enforcement is account-level, not listing-level.

Guard

Per-channel policy linting on every copy field

04

Rate limit starvation

A full catalog rebuild consumes the day's API quota. The genuinely urgent update — a price correction, a stock-out — queues behind forty thousand unchanged records and lands four hours later.

Guard

Delta-only writes; unchanged records are never re-sent

05

Silent unit drift

Your master record is metric. A channel requires imperial and accepts the number without the unit. 2.5 kg is published as 2.5 lb. Shipping quotes, carrier surcharges and returns all inherit the error.

Guard

Unit-typed attributes; conversion at the channel boundary

06

Ratio rejection

The same asset is compliant on one channel and rejected on another because the primary image is 4:5 rather than 1:1. The listing publishes without imagery and converts at a fraction of the rate.

Guard

Per-channel asset derivatives generated automatically

04Delta only

Never re-send a record that did not change.

Most syndication problems at scale are quota problems wearing a costume. Channel APIs are rate limited, and a nightly full-catalog rebuild spends the entire day’s budget re-stating forty thousand facts that were already true.

The cost is not the wasted calls. It is that the one update which genuinely mattered — a price correction, a stock-out, a compliance fix — is queued behind them.

Aonex writes deltas. A changed field on one SKU is one small write, landing in under a second, regardless of whether your catalog holds four thousand SKUs or four hundred thousand.

Inventory is reserved rather than broadcast, so two channels cannot both sell the final unit while a sync window is open — the failure that quietly drives Amazon defect rates and account suspensions.

<1s
Delta propagation

Field change to live on every channel.

0.4%
Records re-sent

Median daily write volume against catalog size.

0
Oversells

Reservation model, not broadcast inventory.

100%
Writes logged

Payload sent and response received, per call.

05Objections

The questions you’re about to ask.

We already have a feed management tool. What is different here?

Feed tools map fields you already have onto fields a channel wants. That works precisely until the channel requires an attribute your master record does not contain — at which point the tool reports a mapping gap and hands it back to you. Most enterprise feed backlogs are made of exactly those gaps. Aonex resolves the missing attribute from source documents first, then maps. The mapping was rarely the hard part.

Only five connectors? We sell on more channels than that.

Five are natively supported today — Amazon, eBay, Etsy, Shopify and WooCommerce — and we would rather name them than quote a number that includes connectors nobody has run in production. Everything upstream of the final mapping is channel-agnostic, so any destination that accepts a scheduled file, a webhook or a REST endpoint can be targeted now without a bespoke connector. Tell us which channels matter to you and we will be direct about which are native, which are file-based today, and which are genuinely not yet built.

Do you take over our channel accounts?

No. You keep ownership of every seller account, every API credential and every commercial relationship. Aonex writes through your credentials with scoped permissions, and every write is logged with the payload sent and the response received. You can revoke access at any time and your listings remain exactly as they are — nothing is held hostage inside the platform.

What about channels you do not support?

Any channel that accepts a file drop, a webhook or a scheduled export can be targeted without a bespoke connector, because the enrichment and validation layers are channel-agnostic — only the final mapping is channel-specific. For genuinely novel APIs, a new connector is typically a few weeks. The attribute work you have already done carries over untouched.

How do we trust it not to publish something wrong at scale?

Every publish runs in dry-run first and produces a diff: which SKUs change, which fields change, which channels receive them, and which records failed validation and why. Most teams run dry-run only for the first few cycles, then enable automatic publish for low-risk field classes — price and inventory usually first — while keeping copy and compliance changes behind approval.

A gantry crane loading containers onto a ship at a port at first light
Next

See what your channels disagree about.

Point us at two channels where you sell the same products. We will diff them — title, price, imagery, attributes, availability — and hand you the list of SKUs that are currently telling two different stories to two different sets of customers.

Read-only access · Nothing is written · Diff in five working days