Skip to main content

Custom Integration

Integrate Neuroon into any website or platform.

Basic Installation

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdn.neuroon.ai/widget.css">
</head>
<body>
<!-- Your content -->

<div id="neuroon-search"></div>

<script
src="https://cdn.neuroon.ai/widget.js"
data-token="YOUR_TOKEN"
data-container="#neuroon-search">
</script>
</body>
</html>

npm Installation

If using a bundler (webpack, Vite, etc.):

npm install @neuroon/widget
import { NeuroonWidget } from '@neuroon/widget';
import '@neuroon/widget/dist/widget.css';

const widget = NeuroonWidget.init({
container: '#neuroon-search',
token: 'YOUR_TOKEN',
});

Product Synchronization

Via API

Sync your products using our REST API:

curl -X POST https://api.neuroon.ai/api/shops/{shopId}/products/sync \
-H "X-Shop-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"externalId": "prod-001",
"name": "Example Product",
"description": "Product description",
"price": 99.99,
"currency": "USD",
"url": "https://your-store.com/products/001",
"imageUrl": "https://your-store.com/images/001.jpg",
"categories": ["Category"],
"brand": "Brand",
"inStock": true
}
]'

Via Dashboard

  1. Go to Dashboard → Products
  2. Click Import
  3. Upload a JSON or CSV file

JSON Format

[
{
"externalId": "prod-001",
"name": "Example Product",
"price": 99.99,
"url": "https://your-store.com/products/001"
}
]

CSV Format

externalId,name,price,url
prod-001,Example Product,99.99,https://your-store.com/products/001

Product Fields

FieldTypeRequiredDescription
externalIdstringYesUnique product ID in your system
namestringYesProduct name
pricenumberYesPrice (without currency symbol)
urlstringYesProduct URL
descriptionstringNoProduct description
imageUrlstringNoImage URL
currencystringNoCurrency code (USD, EUR, etc.)
categoriesstring[]NoArray of categories
brandstringNoProduct brand
tagsstring[]NoArray of tags
inStockbooleanNoAvailability
salePricenumberNoSale price

Complete Example

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Store</title>
<link rel="stylesheet" href="https://cdn.neuroon.ai/widget.css">
</head>
<body>
<header>
<nav>
<div id="neuroon-search"></div>
</nav>
</header>

<main>
<!-- Your page content -->
</main>

<script src="https://cdn.neuroon.ai/widget.js"></script>
<script>
const widget = NeuroonWidget.init({
container: '#neuroon-search',
token: 'YOUR_TOKEN',
theme: 'auto',
locale: 'en',
ui: {
placeholder: 'Search the store...',
layout: 'grid',
resultsPerPage: 20,
},
callbacks: {
onResultClick: (product) => {
// Redirect to product
window.location.href = product.url;
},
onSearch: (query) => {
// Analytics
gtag('event', 'search', { search_term: query });
},
},
});
</script>
</body>
</html>