solution25 / listrak
Listrak - Shopware 6 Plugin
Installs: 146
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 0
Type:shopware-platform-plugin
Requires
- nicolab/php-ftp-client: ^2.0
- shopware/core: ~6.6.0
- shopware/storefront: ^6.6
Requires (Dev)
README
Listrak
Introduction
The Listrak plugin integrates your Shopware 6 store with Listrak’s marketing platform—bringing advanced features like abandoned cart recovery, customer data sync, and storefront tracking to help you grow your business.
Key Features
- Customer Data Sync
- Automatically send customer registrations and newsletter signups to Listrak.
- Order Data Sync
- Push order information to Listrak for personalized post-purchase campaigns.
- Product Data Sync
- Push product information to Listrak for personalized post-purchase campaigns.
- Admin Panel Integration
- Manage API credentials and feature toggles directly from the Shopware admin panel.
- Abandoned Cart Recovery
- Capture cart data and sync it with Listrak for automated follow-up campaigns.
- Transactional Mails
- Send Transactional Mails via Listrak.
Get Started
Installation & Activation
- Download
Git
- Clone the Plugin Repository:
- Open your terminal and run the following command in your Shopware 6 custom plugins directory (usually located at custom/plugins/):
git clone https://github.com/solution25com/listrak-shopware-6-solution25.git
Packagist
composer require solution25/listrak
- Install the Plugin in Shopware 6
- Log in to your Shopware 6 Administration panel.
- Navigate to Extensions > My Extensions.
- Locate the newly cloned plugin and click Install.
- Activate the Plugin
- After installation, click Activate to enable the plugin.
- In your Shopware Admin, go to Settings > System > Plugins.
- Upload or install the “Listrak” plugin.
- Once installed, toggle the plugin to activate it.
- Verify Installation
- After activation, you will see Listrak in the list of installed plugins.
- The plugin name, version, and installation date should appear as shown in the screenshot below.
Plugin Configuration
- Access Plugin Settings
- Go to Settings > System > Plugins.
- Locate Listrak and click the three dots (...) icon or the plugin name to open its settings.
- Data Integration Settings
- Listrak Merchant ID
- Enter the Merchant ID provided by Listrak.
- Listrak Data Client ID
- Enter the Client ID from your Listrak Data Integration.
- Listrak Data Client Secret
- Enter the Client Secret from your Listrak Data Integration.
- Test API connection
- Test Data API connection.
- FTP Integration Settings
- FTP Username
- Enter the FTP Username from your Listrak FTP Integration.
- FTP Password
- Enter the FTP Password from your Listrak FTP Integration.
- Email Integration Settings
- Marketing List ID
- Enter the List ID which you can find at Help & Support > API ID Information in the Listrak Admin.
- Transactional List ID
- Enter the List ID which you can find at Help & Support > API ID Information in the Listrak Admin.
- Listrak Email Client ID
- Enter the Client ID from your Listrak Email Integration.
- Listrak Email Client Secret
- Enter the Client Secret from your Listrak Email Integration.
- Salutation Field Id
- Optionally enter the Salutation field id from your Listrak Email Profile field, if it exists.
- First Name Field Id
- Optionally enter the first name field id from your Listrak Email Profile field, if it exists.
- Last Name Field Id
- Optionally enter the last name field id from your Listrak Email Profile field, if it exists.
- Test API connection
- Test Email API connection.
- Sync Settings
- Enable Listrak Browser Tracking by clicking on the toggle.
- Enable Listrak Browser Order Tracking by clicking on the toggle.
- Enable ongoing Customer Synchronization by clicking on the toggle.
- Enable ongoing Order Synchronization by clicking on the toggle.
- Save Configuration
- Click Save in the top-right corner to store your settings.
Listrak Plugin - API Documentation
This document describes the custom Admin API endpoints provided by the Listrak Plugin for Shopware 6. These endpoints allow authorized users to trigger full data synchronization tasks between Shopware and the Listrak system.
Data API Connection Test
Endpoint
POST /api/_action/listrak/data-api/test
Description
Tests the Listrak Data API connection using provided dataClientId
and dataClientSecret
. Returns a valid access token on success.
Request Headers
Authorization: Bearer <your-access-token>
Content-Type: application/json
Example Request Body
{ "Listrak.config.dataClientId": "your-data-client-id", "Listrak.config.dataClientSecret": "your-data-client-secret" }
Successful Response
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Example Error Response
{ "errors": [ { "status": "400", "detail": "Missing client ID and/or client Secret" } ] }
Email API Connection Test
Endpoint
POST /api/_action/listrak/email-api/test
Description
Tests the Listrak Email API connection using provided emailClientId
and emailClientSecret
. Returns a valid access token on success.
Request Headers
Authorization: Bearer <your-access-token>
Content-Type: application/json
Example Request Body
{ "Listrak.config.emailClientId": "your-email-client-id", "Listrak.config.emailClientSecret": "your-email-client-secret" }
Successful Response
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Example Error Response
{ "errors": [ { "status": "401", "detail": "The provided API credentials are invalid." } ] }
How It Works
-
Shopware Events
- The plugin listens to key Shopware events like cart updates, customer registrations, and order placements.
-
Data sent to Listrak
- Data is sent to Listrak automatically via secure API calls, including retries and error logging.
-
Transactional Mails
- Add the Transactional List ID in the plugin configuration settings.
- Navigate to the Flow Builder in the Settings section in Shopware admin.
- Add a new flow.
- Select an event for the trigger.
- After selecting the event, select the 'Send email with Listrak' action.
- In the modal that has opened up, define the Recipient, Transactional Message ID, and any Listrak profile fields
needed for the transactional mail.
- After making sure that you've specified the correct data and Shopware template variables for the transactional mail, click Add Action. You can use Twig syntax in the Field Value cell.
- Activate the flow and then save it.
CLI Commands
listrak:sync-products
Sync products to Listrak for the specified sales channel.
Arguments:
Name | Description |
---|---|
sales-channel-id |
Sales channel ID to filter products. (required) |
Options:
Option | Description |
---|---|
--limit=<n> |
Maximum number of products to export. |
--local |
Generate file locally instead of transferring via FTP. |
listrak:sync-orders
Sync orders to Listrak for the specified sales channel.
Arguments:
Name | Description |
---|---|
sales-channel-id |
Sales channel ID to filter orders. (required) |
Options:
Option | Description |
---|---|
--limit=<n> |
Maximum number of orders to export. |
--offset=<n> |
Starting offset for export (for batching). |
listrak:sync-newsletter-recipients
Sync newsletter-recipients to Listrak for the specified sales channel.
Arguments:
Name | Description |
---|---|
sales-channel-id |
Sales channel ID to filter recipients. (required) |
Options:
Option | Description |
---|---|
--limit=<n> |
Maximum number of newsletter recipients to export. |
--offset=<n> |
Starting offset for export (for batching). |
listrak:sync-customers
Sync customers to Listrak for the specified sales channel.
Arguments:
Name | Description |
---|---|
sales-channel-id |
Sales channel ID to filter customers. (required) |
Options:
Option | Description |
---|---|
--limit=<n> |
Maximum number of customers to export. |
--offset=<n> |
Starting offset for export (for batching). |
FAQ
-
Is a Listrak account required?
- Yes. You need an active Listrak account, a Data Integration and an Email Integration for syncing data.
-
What variables can I use in the Transactional Mails flow?
-
Depending on the type of event, you have access to different variables but some of the most commmon variables include:
-
order
-
{{ order.orderNumber }}
-
{{ order.orderDate|date('Y-m-d H:i') }} (Date needs formatting)
-
{{ order.currency.isoCode }}
-
{{ order.lineItems }}
-
{{ order.deliveries }}
-
{{ order.transactions }}
-
{{ order.defaultBillingAddress.firstName }}
-
{{ order.defaultBillingAddress.lastName}}
-
{{ order.defaultBillingAddress.street}}
-
{{ order.defaultBillingAddress.zipcode}}
-
{{ order.defaultBillingAddress.city}}
-
{{ order.defaultBillingAddress.phoneNumber}}
-
etc.
-
-
salesChannel
- {{ salesChannel.name }}
-
customer
- {{ customer.firstName }}
- {{ customer.lastName }}
- {{ customer.email }}
- etc.
-
Note: Data such as order line items or order transactions needs to be iterated over via Twig syntax.
-
Wiki Documentation
Read more about the plugin configuration on our Wiki.