Skip to main content
The WEBSALE connector syncs your WEBSALE shop’s product catalog and category tree into Frontic. Product and category data comes from the WEBSALE API. Prices, stock levels, and category assignments come from Frontic export feeds you set up in WEBSALE, one per subshop, so every currency and language combination gets its own prices and stock.
Auth
API key or user and password
Update method
Polling
Resources
Products, Categories

What you get

Products

Products as parent records, variants as children - with prices and stock per subshop, category assignments, options, and custom product fields.

Categories

Power category pages, attach category context to product records, and drive navigation.

Connection settings

Add an integration using the WEBSALE connector, then fill in the base URL and pick one way to authenticate.
string
required
The base URL of your WEBSALE shop, for example https://demo-shop.com.
toggle
Authenticate with a WEBSALE API key. Turn it on and enter the API Key.
toggle
Authenticate with a WEBSALE user. Turn it on and enter the Username and Password.
When Connect via API Key is on, the connector uses the API key; otherwise it signs in with the username and password. The connection test calls WEBSALE’s config/setup endpoint, and the settings panel shows the error WEBSALE returned when the test fails.

Channels

A WEBSALE channel in Frontic has a selection of currencies available. Translations come from the languages set up in your WEBSALE shop.
string
required
A label for the channel in Frontic.
multiselect
required
Locale keys this channel covers. Populated from WEBSALE’s languages.
select
required
The translation used when a value is missing in another locale.
multiselect
Currencies the connector pulls in, chosen from the currencies set up in WEBSALE. Each product record is emitted once per currency and translation.

Data Feeds

The WEBSALE connector exposes two feed types: The standard Settings → Updates → Schema setup wizard applies - see Data Feeds in the overview. For WEBSALE specifically:
  • Updates step - Polling is the only update method. WEBSALE doesn’t send webhooks, and the connector doesn’t accept pushes through the Ingest API.
  • Incremental polling - scheduled polls fetch only products updated since the last successful poll. Categories are always fetched in full.
  • Manual refresh - every WEBSALE feed exposes a Refresh action that downloads the export feeds again and re-runs the feed against the source in full.

Product Feed

Prices, stock levels, and category assignments don’t come from the WEBSALE API. They come from Frontic export feeds: JSON files that WEBSALE generates, one per subshop, each stating the subshop’s currency and language. Set them up in WEBSALE, then list their URLs on the Products feed.
list
The URLs of the Frontic export feeds in WEBSALE. Add one URL per subshop you want prices and stock for.
Each poll downloads the export feeds again, unless a file hasn’t changed since the last download. If an export feed can’t be downloaded, Frontic sends a notification that names the integration and the failing URL.

What the data looks like

Variants

  • Products with variants - the product becomes the parent record, each variant becomes a separate record with parentId pointing back to the product. A variant inherits every field it leaves empty from its parent.
  • Simple products - emitted as a self-parented record using the same source ID on both sides. See Product Models for how this shape composes at the API layer.

Prices and stock per subshop

The connector reads your WEBSALE subshops with their currency and language, and takes each product’s price and stock from the export feed of the matching subshop. A channel record for a given currency and translation carries:
  • $price - the product’s price in that currency, as amount and currency. Map it into the Price composite in the Value Composer.
  • $stock - the stock level from the same subshop. A variant that no export feed lists gets -1.

Translations

The connector fetches products and categories once per subshop. Fields whose value differs from the shop’s default become that subshop language’s translation, so each translation on your channel gets the localized text of the subshop with that language.

Attributes split into options and properties

The connector stamps attributes onto the feed record under the reserved $-prefix namespace:
  • $options - the variant’s selection, as a flat list of name and value pairs. Drives variant selectors (size, colour, etc.).
  • $properties - WEBSALE’s custom product fields, each with its name, label, and value. Labels come from the custom product field settings in WEBSALE. Fields with an empty value are left out.
Map either list into your storage with the Option composite in the Value Composer.

Category relations

The connector adds a flat list of category IDs onto each parent product record under $rel.categoryIds, taken from your export feeds. Category-link blocks and syncs that need only the IDs can map this directly in the Value Composer.

Auto-delete reconciliation

On every poll and manual refresh, the connector compares what Frontic holds with the source and emits deletes for records that have disappeared. For categories the source is the WEBSALE API; for products it’s the set of products and variants in your export feeds.

Good to know

  • Read-only. The WEBSALE connector pulls from WEBSALE; it doesn’t push back. Catalog edits happen in WEBSALE.
  • One subshop per language. Translations are keyed by language. When two subshops share a language, only the first one provides that language’s texts.
  • Reserved $-prefix keys. The connector emits $options, $properties, $price, and $stock on product records. Don’t use $-prefixed keys for your own custom attributes - Frontic reserves that namespace for connector-side normalization.

Product Models

How WEBSALE’s products and variants compose at the API layer.

Xentral

Another polling connector with the same $options / $properties split.