Events

Publishing model

The primary event type (EventBridge detail-type) the PIM Service publishes for individual entity changes is INDEX_REQUESTED. The specific entity change (e.g. PRODUCT_CREATED) is carried in an inner event field within the payload. The published envelope carries the changed document plus its entity type and action, a subject of the form INDEX_REQUESTED/<instanceId>/<innerEvent>, and a source of pim-service.

In addition, the bulk-indexing fan-out publishes two further detail-types (also source pim-service, same event bus) that the service consumes itself to process large re-index jobs in parallel: BULK_INDEX_CHUNK (a chunk of product IDs to index) and BULK_CATEGORY_INDEX_CHUNK (a chunk of category IDs). Bulk import/export/indexer jobs additionally emit batch.execution.progress, batch.execution.completed and batch.execution.failed status events (via the batch framework) so orchestration can track job lifecycle.

  • Event bus: EVENT_BUS_NAME (default eq-pim-service-eventbus)
  • Region: AWS_REGION (default us-east-1)
  • Local fallback: if publishing fails outside a serverless environment, the service performs indexing in-process so indexing still works locally.

Inner event values

These entity-change signals are carried inside the INDEX_REQUESTED payload:

Inner event Trigger
PRODUCT_CREATED / PRODUCT_UPDATED / PRODUCT_DELETED Product create/update/delete (non-workflow path)
SKU_CREATED / SKU_UPDATED / SKU_DELETED SKU changes → product reindex
PRICE_CREATED / PRICE_UPDATED / PRICE_DELETED Price changes → resolve SKU→product → reindex
CATEGORY_CREATED / CATEGORY_UPDATED / CATEGORY_DELETED Category changes → index category + reindex products
NAVIGATION_CREATED / NAVIGATION_UPDATED / NAVIGATION_DELETED Navigation changes → index/delete category docs
PRODUCT_CHUNK_INDEX Internally re-published for large products (chunked indexing)

Consumed events

The service handles the following inbound events:

Event Purpose
INDEX_REQUESTED Dispatches indexing by the inner entity-change event
BULK_INDEX_CHUNK Batch product indexing chunk (self-published by the fan-out)
BULK_CATEGORY_INDEX_CHUNK Batch category indexing chunk (self-published by the fan-out)
Marketplace lifecycle events (e.g. app.enabled) Handled by the marketplace connector host

Note on entity events: the PIM Service does not emit a distinct bus event per entity (no standalone PRODUCT_CREATED bus event). All entity changes are wrapped in INDEX_REQUESTED. Consumers wanting entity notifications must read the inner event value. Beyond indexing (INDEX_REQUESTED plus the self-consumed BULK_INDEX_CHUNK / BULK_CATEGORY_INDEX_CHUNK fan-out) and the batch.execution.* job-status events, there is no dedicated outbound “domain event” publisher.


Revision History
2026-08-04 | JP – Created the page and added the content.