Pimcore Integration
Chat on your Pimcore site, and answers from your product objects
Overview
Pimcore holds your product data and delivers your website. The Asyntai bundle uses both. The assistant answers visitor questions on every page, and it answers from your own product objects, with the price, the stock and a card that links to the product.
A shopper can ask "do you have an M8 bolt in stainless" and get the right item out of a catalogue of 25,000.
How It Works
The bundle does two things.
First, it adds the chat widget to every page Pimcore delivers. The admin interface is left alone.
Second, it publishes your product objects as a feed at /asyntai/products.json. Asyntai reads that feed on a schedule and keeps the catalogue current, so the prices and the stock in an answer match the ones in your PIM.
Requirements
- Pimcore 11 or later
- PHP 8.2 or later
- An Asyntai account. The chat widget works on every plan. The product feed needs the Standard plan or higher.
Installation
Follow these steps to add Asyntai to Pimcore:
Install the Bundle
Add the package to your Pimcore project:
composer require asyntai/pimcore-chatbot-bundle
Add this line to config/bundles.php:
Asyntai\PimcoreChatbotBundle\AsyntaiPimcoreChatbotBundle::class => ['all' => true],
Then run:
bin/console pimcore:bundle:install AsyntaiPimcoreChatbotBundle
bin/console cache:clear
Get Your Widget ID
Sign in to Asyntai and copy the widget ID from your dashboard. It looks like asyntai_ab12cd34.
Paste It Into Pimcore
In Pimcore open Settings → Website Settings and put the ID into asyntai_widget_id. The whole embed snippet works as well. The chat appears on your site at once.
Publishing Your Catalogue
Pimcore classes are built per project, so the bundle needs to know which class holds your products and which field holds each value.
Set a Token and a Class
In Settings → Website Settings set asyntai_feed_token to a secret of your choice, and asyntai_feed_class to your product class, for example Product.
Map Your Fields
Create config/packages/asyntai_pimcore_chatbot.yaml:
asyntai_pimcore_chatbot:
feed:
class: 'Product'
path: '/Products'
currency: 'EUR'
product_url_pattern: 'https://shop.example.com/p/%s'
fields:
name: 'name'
description: 'description'
price: 'price'
sku: 'sku'
category: 'category'
in_stock: 'inStock'
image: 'image'
Check the Result
Print what the feed would serve, before you hand the URL over:
bin/console asyntai:feed:preview --base-url=https://www.example.com
bin/console asyntai:feed:preview --count
Connect It in Asyntai
Open Real-Time Data Feed in your Asyntai dashboard and paste the feed URL:
https://www.example.com/asyntai/products.json?token=YOUR_TOKEN
Tip: The Standard plan reads 200,000 characters of feed. The Pro plan reads 10,000,000, which is about 25,000 products. Run asyntai:feed:preview --count to see where your catalogue lands.
Several Sites in One Pimcore
Website Settings in Pimcore can hold a different value per site. Give each site its own asyntai_widget_id, and each one gets its own assistant.
Removing It
Run bin/console pimcore:bundle:uninstall AsyntaiPimcoreChatbotBundle and then composer remove asyntai/pimcore-chatbot-bundle. Your widget ID and feed token stay in Website Settings, so a later reinstall needs no retyping.
Privacy
The feed carries the product fields you map, and nothing else. Privacy policy.
Plans & Pricing
The bundle is free. The chat widget works on every plan. The product feed needs the Standard plan or higher. View pricing.
Need Help?
If you have any questions or run into issues, contact us at [email protected].