PHPackages                             trilix/akeneo-events-api-bundle - 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. [API Development](/categories/api)
4. /
5. trilix/akeneo-events-api-bundle

ActiveSymfony-bundle[API Development](/categories/api)

trilix/akeneo-events-api-bundle
===============================

Akeneo PIM Events API Bundle

211.8k9[3 issues](https://github.com/trilix-gmbh/akeneo-events-api-bundle/issues)PHPCI failing

Since Sep 10Pushed 1y ago4 watchersCompare

[ Source](https://github.com/trilix-gmbh/akeneo-events-api-bundle)[ Packagist](https://packagist.org/packages/trilix/akeneo-events-api-bundle)[ RSS](/packages/trilix-akeneo-events-api-bundle/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Akeneo PIM Events API
=====================

[](#akeneo-pim-events-api)

The Events API is a smooth and easy way to build integrations that respond to activities in Akeneo PIM. All you need is PIM Events API Bundle and an endpoint where to send Akeneo PIM events.

Table of contents
-----------------

[](#table-of-contents)

- [Getting Started](#Getting-Started)
- [Functionality](#Functionality)
- [License](#License)

Getting Started
---------------

[](#getting-started)

### Requirements

[](#requirements)

- Akeneo PIM &gt;= 5.0 (CE &amp; EE)

### Installation

[](#installation)

Install via composer:

```
php composer.phar require trilix/akeneo-events-api-bundle:^0.7.0
```

To enable the bundle add to the *config/bundles.php* file:

```
return [
    // ...
    Trilix\EventsApiBundle\TrilixEventsApiBundle::class => ['all' => true]
]
```

Add the following line at the end of env file:

```
EVENTS_API_REQUEST_URL=your_request_url
```

where `your_request_url` is a target location where all the events (see [event types](#Event-types-delivered-over-Events-API)) will be delivered.

Create file *config/packages/trilix\_events\_api.yml* with the following:

```
trilix_events_api:
    transport:
        factory: "pim_events_api.transport_factory.http"
        options:
            request_url: "%env(EVENTS_API_REQUEST_URL)%"
```

Clear cache:

```
php bin/console cache:clear --env=prod
```

Run the following command to create a job to deliver events to consumer:

```
php bin/console akeneo:batch:create-job 'Deliver outer event to consumer' deliver_outer_event_to_consumer internal deliver_outer_event_to_consumer
```

Make sure Akeneo job queue daemon is running. For more information read [Setting up the job queue daemon](https://docs.akeneo.com/latest/install_pim/manual/daemon_queue.html#setting-up-the-job-queue-daemon).

Functionality
-------------

[](#functionality)

### How it works

[](#how-it-works)

Some event(s) happens in Akeneo PIM. This triggers a mechanism to send those event(s) as HTTP POST request to your Request URL. Each request contains event, with correspondent [event type](#Event-types-delivered-over-Events-API) presented in JSON format (see [example](#Example-of-*category_updated*-event)).

Events API sends one request per one event, and sending of requests happens in real-time.

### Event types delivered over Events API

[](#event-types-delivered-over-events-api)

**Event****Description**category\_createdNew category was createdcategory\_updatedExisting category was updatedcategory\_removedExisting category was deletedattribute\_createdNew attribute was createdattribute\_updatedExisting attribute was updatedattribute\_removedExisting attribute was deletedfamily\_createdNew family was createdfamily\_updatedExisting family was updatedfamily\_removedExisting family was deletedproduct\_createdNew product was createdproduct\_updatedExisting product was updatedproduct\_removedExisting product was deletedproduct\_model\_createdNew product model was createdproduct\_model\_updatedExisting product model was updatedproduct\_model\_removedExisting product model was deleted### Example of *category\_updated* event

[](#example-of-category_updated-event)

```
{
  "event_type": "category_updated",
  "payload": {
    "code": "cameras",
    "labels": {
      "de_DE": "Cameras",
      "en_US": "Cameras new name",
      "fr_FR": "Caméras"
    },
    "parent": "master"
  },
  "event_time": 1565021907
}
```

### Example of *product\_model\_removed* event

[](#example-of-product_model_removed-event)

```
{
  "event_type": "product_model_removed",
  "payload": {
    "code": "derby"
  },
  "event_time": 1579792377
}
```

### Event Type Structure

[](#event-type-structure)

FieldTypeDescription*event\_type*StringType of event which happened (see [event types](#Event-types-delivered-over-Events-API))*payload*ObjectContains information which represents the event. For events related to deletion of entity it contains entity only identifier (identifier value for Products and code for all others)*event\_time*IntegerTimestamp in seconds when the event was created### Attention ❗

[](#attention-heavy_exclamation_mark)

If Akeneo family contains variants, then during family update (or it's variants as well), Akeneo will re-save related products. It will trigger sending *product\_updated* events.

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity29

Early-stage or recently created project

 Bus Factor1

Top contributor holds 81% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/7ab3895f08d3ecdbfd6e2b59abcfeaec44f06e51a49d49ca36459406f4b30395?d=identicon)[psw1986](/maintainers/psw1986)

---

Top Contributors

[![psw1986](https://avatars.githubusercontent.com/u/1023128?v=4)](https://github.com/psw1986 "psw1986 (34 commits)")[![gotgelf](https://avatars.githubusercontent.com/u/4104908?v=4)](https://github.com/gotgelf "gotgelf (6 commits)")[![cplaetzinger](https://avatars.githubusercontent.com/u/1055217?v=4)](https://github.com/cplaetzinger "cplaetzinger (2 commits)")

---

Tags

akeneo-pimdeliver-eventseventifttt-webhooksintegrationssymfonywebhooks

### Embed Badge

![Health badge](/badges/trilix-akeneo-events-api-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/trilix-akeneo-events-api-bundle/health.svg)](https://phpackages.com/packages/trilix-akeneo-events-api-bundle)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35816.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

94452.6k6](/packages/botman-driver-telegram)

PHPackages © 2026

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