> For the complete documentation index, see [llms.txt](https://docs.violet.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.violet.io/ecom-platforms/shoptet.md).

# Shoptet

Shoptet is a Czech ecommerce platform popular in Central and Eastern Europe. Violet supports two tiers of Shoptet merchants — **Standard** and **Premium** — and the integration capabilities differ significantly between them.

> **Tier differences**: Standard tier merchants have no API access. Their catalog is synced via a product feed and order submission is not available. Premium tier merchants connect via API and support the full Violet feature set including real-time webhooks, direct order submission, and live cart calculation. Channels must be prepared to handle both merchant types if they intend to support Shoptet broadly.

## Standard Tier

Standard tier Shoptet merchants do not have access to the Shoptet REST API. Violet connects them using a store URL and a Google Product Feed URL.

**What is supported:**

* Catalog sync via Google Product Feed (ingested at connection time and on a scheduled basis)

**What is not supported:**

* Real-time webhook events (no API, no webhooks)
* Direct order submission
* Live cart calculation or shipping rate retrieval
* Credential validation (no API to test against)

**Connection inputs required:**

| Field         | Description                                   |
| ------------- | --------------------------------------------- |
| **Store URL** | The merchant's Shoptet storefront URL         |
| **Feed URL**  | URL to the merchant's Google Product Feed XML |

The feed is registered with Violet at onboarding and catalog ingestion begins immediately.

***

## Premium Tier

Premium tier merchants have Shoptet REST API access and support the full integration. Two auth flows are available depending on how your app is configured.

### Flow A — Marketplace OAuth Addon

Used when your Violet app is registered as a Shoptet marketplace addon. The merchant installs the addon from the Shoptet app store, which initiates an OAuth authorization flow. Violet exchanges the authorization code for a long-lived OAuth access token. Short-lived API Access Tokens (\~30 minutes) are minted on demand from this long-lived token and cached internally — no manual token refresh is required.

> **App credentials required**: Your Violet app must have Shoptet OAuth credentials registered with Violet before merchants can connect via this flow. Contact Violet support to configure these.

### Flow B — Private API Token

Used when merchants connect outside the Shoptet marketplace. The merchant generates a Private API Token in their Shoptet admin panel and provides it during Violet Connect onboarding. Credentials are validated against the Shoptet eshop endpoint at connection time.

| Field                 | Description                                     |
| --------------------- | ----------------------------------------------- |
| **Store URL**         | The merchant's Shoptet storefront URL           |
| **Private API Token** | Long-lived token generated in the Shoptet admin |

***

## Webhooks (Premium only)

Violet registers webhooks automatically for Premium tier merchants. The following events are subscribed:

| Event            | Trigger              |
| ---------------- | -------------------- |
| `product:create` | Product created      |
| `product:update` | Product updated      |
| `product:delete` | Product deleted      |
| `order:create`   | Order placed         |
| `order:update`   | Order status changed |

Shoptet webhook payloads are minimal (eshop ID, event type, timestamp). Violet fetches the full resource from the API on receipt.

## Direct Order Submission (Premium only)

Orders are submitted directly to the Shoptet API. VAT rates are fetched per product variant at order time to ensure line items carry the correct tax percentage. Order cancellation resolves the merchant's configured cancellation status by name (matching keywords like `storno` or `cancel`).

**Discount codes are not supported** for order submission — Shoptet's API does not validate codes pre-order and there is no reliable post-creation correlation. Code discounts are rejected up front before payment is captured.

## Cart Calculation (Premium only)

Shoptet has no cart estimation endpoint. Violet computes cart totals locally:

* **Subtotal**: Sum of SKU prices × quantities (prices are stored gross/VAT-inclusive).
* **Tax**: Estimated by fetching the VAT rate per product variant and extracting the embedded VAT from each gross line item. If a variant lookup fails, the tax total falls back to 0 while gross totals remain intact.
* **Shipping**: Sourced from the merchant's configured fallback shipping methods in Violet, filtered by the customer's country. The live Shoptet shipping endpoint is not used because it does not return reliable per-cart pricing.
* **Discounts**: Custom (fixed/percentage) discounts are supported. Discount codes are not supported at cart calculation time.

## Products (Premium only)

* Products are identified by **GUID** (not a numeric ID). Variants also have a GUID plus a `code` field used as the SKU identifier.
* Prices are stored per-variant with an `includingVat` flag indicating whether the stored price is gross or net. Violet normalizes all prices to gross before storing in the catalog.
* Promotional pricing (`actionPrice`) is supported — Violet uses the action price as the sale price when the current date falls within the validity window.
* Images, variant parameters, and per-warehouse stock are returned only when explicitly requested via Shoptet's `include` parameter.

## Notable Behavior

* **Standard vs Premium**: Channels must expect two distinct merchant types. Standard tier merchants will have catalog data but cannot receive orders through Violet's standard checkout flow.
* **No discount codes**: Shoptet does not support discount code validation at order creation time. Synced promo codes are marked as not supported for all Shoptet merchants.
* **VAT-inclusive pricing**: Shoptet is primarily used by European merchants. All prices are treated as VAT-inclusive and tax is extracted from gross line totals rather than added on top.
* **Rate limiting**: Shoptet enforces a leaky-bucket rate limit (50 connections per IP, 3 per token) with 5-second write locks.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.violet.io/ecom-platforms/shoptet.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
