Kembali ke Dasbor

Dokumentasi

Pelajari cara menggunakan Asyntai

Vendure Integration

Put an AI chatbot on your Vendure storefront and give it your catalogue

Create Account

Overview

Vendure is a headless commerce framework. The Asyntai plugin puts an AI assistant on the storefront it serves.

The assistant talks to your shoppers, answers questions about your products, prices and delivery, and hands you the email addresses and phone numbers it collects. It answers day and night, in the language each visitor writes in.

The plugin sends your catalogue to Asyntai, so the answers name real products, real prices and real product pages.

What the plugin adds

  • A settings page in the dashboard — connect an Asyntai account with one button, and manage everything in one place.
  • A Shop API queryasyntaiWidgetConfig returns the widget id and the script URL, so your storefront loads the chat with no hard coded values.
  • Catalogue sync — every enabled product goes to the Asyntai knowledge base with its name, description, variants, prices and product link.
  • Live updates — switch on auto sync and every product you save goes straight to the chatbot.

Requirements

  • Vendure 3.0 or higher
  • Node.js 20 or higher
  • An Asyntai account. The catalogue sync uses the Asyntai API, which needs the Starter plan or higher.

Installation

Follow these steps to add Asyntai to Vendure:

1

Install the Package

In your Vendure server folder, run npm install vendure-plugin-ai-chatbot.

2

Add the Plugin

Open vendure-config.ts, import AsyntaiPlugin from vendure-plugin-ai-chatbot, and add AsyntaiPlugin.init({}) to the plugins array.

3

Update the Database

The plugin adds two tables. Generate and run a migration with npx vendure migrate, then restart the server.

4

Connect Your Account

Open Settings → Asyntai AI Chatbot in the dashboard and press Get started. Sign in in the popup, or create a free account. The widget id is saved for you.

5

Set the Storefront Address

Fill in Storefront address, for example https://shop.example.com, and press Save address. Product links in the chatbot answers are built from it.

6

Send Your Catalogue

Copy your API key from the Asyntai dashboard (Settings → API), paste it into API key, press Save key, then Send catalogue.

Loading the Chat on Your Storefront

Vendure is headless, so the storefront loads the chat itself. Ask the Shop API for the configuration:

query {
    asyntaiWidgetConfig {
        siteId
        scriptUrl
        enabled
    }
}

Then add the script once the page is ready. A React storefront can do it like this:

useEffect(() => {
    if (!config.enabled) return;
    const script = document.createElement('script');
    script.src = config.scriptUrl;
    script.dataset.asyntaiId = config.siteId;
    script.defer = true;
    document.body.appendChild(script);
    return () => script.remove();
}, [config]);

The dashboard also shows a ready <script> tag, if you prefer to paste it into your storefront template.

Tip: Turn on Send a product whenever it changes. The chatbot then follows every price and description you edit.

Plugin Options

Every option has a working default, so AsyntaiPlugin.init({}) is enough for a normal store.

  • apiUrl — origin of the Asyntai service. Default https://asyntai.com.
  • scriptUrl — URL of the chat widget script.
  • syncBatchSize — how many products are read per page during a sync. Default 500.

Permissions

Reading the settings needs the ReadSettings permission. Saving them, testing the key and running a sync need UpdateSettings. The API key stays on your server, and the Admin API returns a masked preview of it.

Removing It

Take AsyntaiPlugin out of the plugins array in vendure-config.ts, run npm uninstall vendure-plugin-ai-chatbot, and restart the server.

Privacy

The plugin sends your product catalogue to your own Asyntai account. Privacy policy.

Plans & Pricing

The plugin is free. It uses the Asyntai API, which needs the Starter plan or higher. View pricing.

Need Help?

If you have any questions or run into issues, contact us at [email protected].