What's not supported
This page exists because the previous documentation described features that don't exist in the code. Here we list what is not yet available. If a capability does not appear here and is not documented elsewhere, assume it does not exist and open a ticket with Support before designing your integration around it.
Doesn't exist (today)
Widget npm package
We don't publish @neuroon/widget on npm. The only supported distribution channel is the versioned CDN with SRI:
https://cdn.neuroon.ai/widget@0.9.10/widget.js
There is an internal package.json in the widget/ repository with "name": "@neuroon/widget" and "version": "0.9.10", but it is not published to the public registry. Any guide or blog post that says npm install @neuroon/widget is outdated.
Official SDKs
There are no official clients in PHP, Python, Ruby, Go, Java, or C#. Server-to-server integration is done with any HTTP client (cURL, HttpClient in .NET, requests in Python, axios in Node, etc.) and JSON. The Recipes include copyable examples for each stack.
Outbound webhooks
Neuroon does not send webhooks to your systems yet. The only current webhook is inbound and is for Stripe .
In the meantime, if you need to react to quota or catalog events, use polling:
GET /api/plugin/shops/me— shop data and quota.GET /api/plugin/shops/{shopId}/products?modifiedAfter=...— modified products.
Outbound webhooks with HMAC are part of the roadmap (no committed dates).
Global widget API on window
There is no window.NeuroonWidget.init(), window.NeuroonWidget.search(), window.NeuroonWidget.destroy(), or similar. The old docs described them; they were not implemented. Widget configuration is done exclusively through data-* attributes on the <script> tag.
Public JS callbacks
onSearch, onResultClick, onFilterChange, onError appear as TypeScript types inside the widget repository, but they are not wired to a public extension point. Don't use them; they don't work.
To react to widget activity from your store, use DOM CustomEvents:
window.addEventListener('neuroon-theme-change', (e) => {
// your logic
});
And to push context to the widget (cart), dispatch:
window.dispatchEvent(new CustomEvent('neuroon:cart-update', {
detail: { items: [{ externalId: 'wc_prod_123', quantity: 2 }] }
}));
HTTP API versioning
There is no /v1/, /v2/, etc. in the routes today. We maintain compatibility by contract: breaking changes are announced ahead of time in the Changelog. URL versioning will land later as an additive change (current routes will keep working through a grace window). If you need strict pinning today, identify your client in the User-Agent header or run contract tests against the documented DTOs.
CSV / Excel for the API Plugin sync
POST /api/plugin/shops/{shopId}/products/sync accepts JSON only. File-based loading via CSV/JSON exists but lives under another Dashboard endpoint (human use, not programmatic integration). If you need to import from an ERP that only exports CSV, parse the CSV on your side and send it as JSON to the sync endpoint.
Per-request isolated sandbox
There is no Stripe-style test mode sandbox that isolates data per request. The closest equivalent is our Development environment (dev-api.neuroon.ai), which is a separate cluster. See Environments.
Roadmap (no committed dates)
- Official SDKs (Python, PHP, Node, .NET).
- Outbound webhooks with HMAC signature.
- Global widget API for advanced integrations (
window.NeuroonWidget). - Public JS callbacks (
onSearch,onResultClick,onError). - Explicit API versioning.
When any of these ship, you'll see it marked here as available and referenced in the Changelog.
How to report a missing feature
If you depend on something that doesn't exist, open a ticket via Support describing:
- Your use case.
- The workaround you've had to apply in the meantime.
- Stack (helps prioritize SDKs).