PHPackages                             artlounge/magento2-bento - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. artlounge/magento2-bento

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

artlounge/magento2-bento
========================

Magento 2 integration with Bento email marketing platform via async event queues

v1.3.0(1mo ago)07↑2042.9%MITPHPPHP &gt;=8.1

Since Mar 20Pushed 1mo agoCompare

[ Source](https://github.com/stuli1989/magento2-bento)[ Packagist](https://packagist.org/packages/artlounge/magento2-bento)[ Docs](https://github.com/stuli1989/magento2-bento)[ RSS](/packages/artlounge-magento2-bento/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (15)Versions (10)Used By (0)

Bento Integration for Magento 2
===============================

[](#bento-integration-for-magento-2)

Connect your Magento 2 store with [Bento](https://bentonow.com) email marketing using reliable, non-blocking async event queues.

What It Does
------------

[](#what-it-does)

This package automatically sends customer activity from your Magento store to Bento for email marketing automation. Events are processed through RabbitMQ queues so they never slow down your store.

### Server-Side Events

[](#server-side-events)

Magento EventBento EventTriggerOrder Placed`$purchase`Customer completes checkoutOrder Shipped`$OrderShipped`Shipment createdOrder Refunded`$OrderRefunded`Credit memo createdCustomer Registered`$Subscriber`New account createdNewsletter Subscribe`$subscribe`Email subscribedNewsletter Unsubscribe`$unsubscribe`Email unsubscribedAbandoned Cart`$cart_abandoned`Cart idle for configured time### Client-Side Events

[](#client-side-events)

EventBento EventTriggerProduct View`$view`Customer views product pageAdd to Cart`$addToCart`Customer adds item to cartCheckout Started`$checkoutStarted`Customer enters checkoutPurchase (fallback)`$purchase`Success page (deduplicated with server-side)Requirements
------------

[](#requirements)

- PHP 8.1+
- Magento 2.4.4+
- RabbitMQ 3.8+ (or Magento database queue fallback)
- [Aligent Async Events](https://github.com/aligent/magento-async-events) ^3.0
- Bento account with Site UUID, Publishable Key, and Secret Key

Installation
------------

[](#installation)

```
composer require artlounge/magento2-bento
bin/magento module:enable ArtLounge_BentoCore ArtLounge_BentoEvents ArtLounge_BentoTracking
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
```

Configuration
-------------

[](#configuration)

Navigate to **Stores &gt; Configuration &gt; Art Lounge &gt; Bento Integration** in Magento Admin.

### Required Settings

[](#required-settings)

SettingPathDescriptionEnableGeneral &gt; EnableMaster on/off switchSite UUIDGeneral &gt; Site UUIDYour Bento site identifierPublishable KeyGeneral &gt; Publishable KeyClient-side API keySecret KeyGeneral &gt; Secret KeyServer-side API key (stored encrypted)### Optional Settings

[](#optional-settings)

- **Orders** — Toggle tracking for placed, shipped, cancelled, refunded orders. Configure tax inclusion and currency multiplier.
- **Customers** — Toggle tracking for customer creation/updates. Add default tags.
- **Newsletter** — Toggle subscribe/unsubscribe tracking.
- **Abandoned Cart** — Set delay (minutes), minimum cart value, and whether email is required.

### Test Your Connection

[](#test-your-connection)

After entering your API keys, click **Test Connection** in the admin config to verify your credentials.

Queue Consumers
---------------

[](#queue-consumers)

Start the async event consumers (production environments should use Supervisor):

```
bin/magento queue:consumers:start event.trigger.consumer
bin/magento queue:consumers:start event.retry.consumer
```

Check queue status:

```
rabbitmqctl list_queues name messages consumers
```

CLI Commands
------------

[](#cli-commands)

```
bin/magento bento:test                     # Test API connection
bin/magento bento:status                   # Show config and queue status
bin/magento bento:abandoned-cart:process    # Manually process pending carts
bin/magento bento:abandoned-cart:cleanup    # Remove old schedule entries
bin/magento bento:deadletter:replay        # Replay failed events
```

Reliability Features
--------------------

[](#reliability-features)

- **Outbox fallback** — If RabbitMQ is unreachable, events are stored in a database outbox and retried automatically when the broker recovers.
- **Dead-letter replay** — Events that fail after max retries can be replayed via CLI or monitored by cron.
- **Smart retry prevention** — Permanent failures (400, 401, 403) are not retried; transient failures (429, 5xx, network errors) are retried with exponential backoff.
- **Abandoned cart detection** — Configurable delay, minimum value, and HMAC-signed recovery links.
- **Event deduplication** — All events include unique keys to prevent duplicate processing.

Varnish / Full Page Cache Compatibility
---------------------------------------

[](#varnish--full-page-cache-compatibility)

All client-side tracking is Varnish-safe. Templates render no user-specific data in HTML — all customer identification happens via Magento's private content AJAX system (`customerData`).

Architecture
------------

[](#architecture)

See [docs/architecture.md](docs/architecture.md) for a detailed walkthrough of how the three modules work together, the event flow, retry system, and design decisions.

Contributing
------------

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, running tests, and pull request guidelines.

License
-------

[](#license)

[MIT](LICENSE)

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance90

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

7

Last Release

51d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ab00f3bd079388bb3f20135ee246f5e275745e2bdfc1c5348886e7f48de3c2d3?d=identicon)[stuli1989](/maintainers/stuli1989)

---

Top Contributors

[![stuli1989](https://avatars.githubusercontent.com/u/2191019?v=4)](https://github.com/stuli1989 "stuli1989 (44 commits)")

---

Tags

asyncemaileventsqueuemarketingmagento2bento

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/artlounge-magento2-bento/health.svg)

```
[![Health](https://phpackages.com/badges/artlounge-magento2-bento/health.svg)](https://phpackages.com/packages/artlounge-magento2-bento)
```

###  Alternatives

[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50374.2k18](/packages/dotdigital-dotdigital-magento2-extension)[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8044.5M33](/packages/smile-elasticsuite)[swissup/module-search-mysql-legacy

Legacy mysql search for magento 2.4

10483.0k](/packages/swissup-module-search-mysql-legacy)[yireo/magento2-emailtester2

Preview transactional emails and test send them in your backend

33394.9k](/packages/yireo-magento2-emailtester2)[pagbank/payment-magento

PagBank - Payment for Magento and Adobe

2128.3k7](/packages/pagbank-payment-magento)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
