Install on any site
Add the ShopAssist script tag, allow your domains, and choose a catalog source: product feeds or the Catalog Push API.
The Generic connector works with any storefront: a custom shop, a headless frontend or a platform without a ShopAssist plugin. You combine the parts you need.
| Part | What it gives the assistant | Guide |
|---|---|---|
| Script tag | The widget on your pages | below |
| Product feed or Catalog Push API | Products, prices, stock, locations, pages | feeds, Push API |
| Generic RPC (optional) | Order status, guest lookup, cancellations and returns | order RPC |
| Identity JWT (optional) | Signed-in customers | identity JWT |
| Cart settings (optional) | Add to cart and checkout links | checkout and cart |
Requirements
- Any storefront: *
- An HTTPS storefront where you can add a script tag to every page.
- For feeds: a public HTTPS feed URL (optionally with Basic or header authentication). For the Push API: a server that can call an HTTPS API.
Install
Typical setup: About 15 minutes plus a product feed or API integration
1.Add the script tag
Copy the script tag from Widget → Install in the dashboard and paste it before
</body>on every page. Then add your storefront domains under Allowed domains.2.Choose a catalog source
Add a product feed (Google Shopping XML, CSV or JSON, pulled at least every 60 minutes) or push your catalog with the Catalog Push API using an API key with the
catalog:writescope. The Push API works on every plan.3.Optional: orders and signed-in customers
Connect a Generic RPC endpoint for order status and actions, and mint an identity token on your server so signed-in customers can ask about their orders.
The pinned script tag with Subresource Integrity is the default for Generic stores:
<script src="https://cdn.shopassist.coec.dk/widget/<version>/loader.js" async
integrity="sha384-<published hash>" crossorigin="anonymous"
data-shopassist-key="pk_live_YOUR_PUBLISHABLE_KEY" data-platform="generic"></script>The first pinned release is published with the widget's general availability; until then use the channel loader below. Your dashboard shows the current version and hash.
The channel loader always serves the current widget and is the alternative if you don't want to update the version yourself:
<script
src="https://cdn.shopassist.coec.dk/widget/v1/loader.js"
async
data-shopassist-key="pk_live_YOUR_PUBLISHABLE_KEY"
data-platform="generic"
></script>Use your own key from Widget → Install & domains. Embed attributes are listed in embed attributes.
Allowed domains
The widget only works on the domains you list under Widget → Install & domains → Allowed domains (exact origins such as https://shop.example.com). Add every domain that serves your storefront, including www and country domains. Requests from other origins are refused (403 origin_not_allowed).
Connect
Choose at least one catalog source in the dashboard under Catalog → Data source:
- Product feed: add the feed URL, its format (Google Shopping XML, CSV or JSON), language, currency and schedule (every 60 minutes or less often). See product feeds.
- Catalog Push API: create an API key with the
catalog:writescope, restricted to this store, and push products from your server. Available on every plan. See Catalog Push API.
The store becomes active after the first successful feed run or push batch and at least one allowed domain.
Verify
Open your storefront: the launcher appears once the dashboard shows "Widget seen on your store". Then run through verify your installation.
Send a test messageSigned-in customers
Your server mints a short-lived identity token for the signed-in customer, and your page passes it to the widget with ShopAssist.identify(). See identity JWT for Generic stores.
Stock per location
Send locations and per-location stock with the Push API (locations:batch, inventory:batch), a local inventory feed or a CSV import.
Updating
With the pinned loader, update the version and integrity hash when a new widget release is published (the dashboard tells you when your pinned version is behind). The channel loader updates itself.
Uninstall and data removal
Remove the script tag and delete the store in Settings → Store → Delete store. Data is deleted 30 days later. See uninstall and data removal.
Troubleshooting
Last updated on
Install on PrestaShop
Upload the ShopAssist module ZIP, connect one shop, and provide stock per store through the location-stock hook or a feed.
Product feeds
Google Shopping XML, CSV and JSON feeds for Generic stores: supported fields, schedules, authentication, ETag caching and full-replace semantics.