mailcampaigns / shopware-6-abandoned-cart-plugin
A Shopware 6 plugin for "abandoned" carts.
Installs: 4 765
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 2
Open Issues: 1
Type:shopware-platform-plugin
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- ext-json: *
- shopware/core: 6.5.* || 6.6.*
README
This Shopware 6 plugin adds an /abandoned-cart
API endpoint that allows you to retrieve shopping carts that your customers have left behind.
After a configured number of seconds, a cart can be considered abandoned.
It only returns carts of active known customers that have not been converted to an order yet.
Use this data to send automated cart recovery reminders to increase your conversions.
🎯 Features
- 🔗 Adds
/abandoned-cart
API endpoint - 👤 Only returns known, non-order customers
- ⏱️ Configurable timeout in seconds (default: 3600)
- 🛠️ Compatible with scheduled tasks & message queue
- ✅ Supports Shopware 6.4 → 6.6
🛍️ Supported Shopware Versions
Shopware Version | Plugin Version | Download |
---|---|---|
6.4 | 1.7.1 | 🔗 View Release |
6.5 | 3.0.5 | 🔗 View Release |
6.6 | 3.0.5 | 🔗 View Release |
✅ Note: Plugin version
3.0.5
supports both Shopware6.5
and6.6
.
🚀 Getting Started
You can either upload the .zip
manually or install via Composer.
🔌 Composer Installation
composer require mailcampaigns/shopware-6-abandoned-cart-plugin bin/console plugin:refresh
🔄 Activate Plugin
Option 1 (Admin panel):
Go to Extensions > My extensions
and activate the plugin.
Option 2 (CLI):
bin/console plugin:install --activate MailCampaignsAbandonedCart bin/console cache:clear
🔧 Configuration
After activating, configure the cart timeout setting:
"Number of seconds after which a cart is considered abandoned" (default:
3600
)
Make sure this timeout is less than than Shopware's own cart expiration setting:
Time in minutes for a customer to finalize a transaction
Make sure to give the API user the necessary permissions to access the /abandoned-cart
endpoint.
abandoned_cart:read
permission to read abandoned cartsabandoned_cart:update
permission to update abandoned cartsabandoned_cart:delete
permission to delete abandoned carts
🧠 Abandoned carts are generated using scheduled tasks and depend on the message queue.
⚙️ Example API Request
🔍 Retrieve Abandoned Carts
GET /api/abandoned-cart
Optional query parameters:
limit
(default: 10)page
(default: 1)
GET /api/abandoned-cart?limit=5&page=1
Example response:
{
"data": [
{
"id": "0195cd19f28e7327a24222075a312f39",
"type": "abandoned_cart",
"attributes": {
"cartToken": "aeyBUILGpDFdJQS77WMkQVn6wXgOHgC6",
"price": 40.0,
"lineItems": [
{
"id": "3ac014f329884b57a2cce5a29f34779c",
"good": true,
"type": "product",
"label": "Main product, free shipping with highlighting",
"quantity": 2,
...
}
],
"customerId": "0195cd14000773d7b6697f79bae4283d",
"createdAt": "2025-03-25T11:39:44.661+00:00",
"updatedAt": "2025-03-25T15:28:34.982+00:00",
...
},
...
}
],
...
}
🔍 Retrieve, Update, or Delete a Specific Abandoned Cart
You can interact with a specific abandoned cart using its unique {id}
.
Endpoint:
GET /api/abandoned-cart/{id} PATCH /api/abandoned-cart/{id} DELETE /api/abandoned-cart/{id}
Methods:
- GET: Retrieve details of a specific abandoned cart.
- PATCH: Update specific fields of an abandoned cart.
- DELETE: Remove an abandoned cart.
📦 Release Overview
Plugin Version | Compatible Shopware Versions |
---|---|
1.7.1 | 6.4 |
2.0.0 | 6.5 |
3.0.5 | 6.5, 6.6 |
🤝 Contributing
Pull requests, issues, and feedback are welcome.
For support, contact us at support@mailcampaigns.nl
🔗 More
Check all releases:
👉 https://github.com/mailcampaigns/shopware-6-abandoned-cart-plugin/releases