Inventory adjusted (v1.0.1)

Indicates a change in inventory level

Inventory Adjusted 1.0.1 is in draft

New version of Inventory Adjusted is in draft

This is a new version of the Inventory Adjusted event. It is not yet ready for production. We are still working on it and collecting feedback from the team.

You can use this version in lower environments, but please be aware that it is still in draft and may change.

You can still use a previous version of the event, Inventory Adjusted 1.0.0, until that version is deprecated.

If you would like to provide feedback, please contact us at feedback@eventcatalog.io or our slack channel Order Management

Overview

The Inventory Adjusted event is triggered whenever there is a change in the inventory levels of a product. This could occur due to various reasons such as receiving new stock, sales, returns, or manual adjustments by the inventory management team. The event ensures that all parts of the system that rely on inventory data are kept up-to-date with the latest inventory levels.

Architecture diagram

Payload example

Event example you my see being published.

{
  "Name": "John Doe",
  "Age": 30,
  "Department": "Engineering",
  "Position": "Software Engineer",
  "Salary": 85000.50,
  "JoinDate": "2024-01-15"
}

Schema (avro)

Inventory Adjusted Schema (avro)
{
"type" : "record",
"namespace" : "Tutorialspoint",
"name" : "Employee",
"fields" : [
{ "name" : "Name", "type" : "string" },
{ "name" : "Age", "type" : "int" },
{ "name" : "Department", "type" : "string" },
{ "name" : "Position", "type" : "string" },
{ "name" : "Salary", "type" : "double" },
{ "name" : "JoinDate", "type" : "string", "logicalType": "date" }
]
}

Producing the Event

Select the language you want to produce the event in to see an example.

Consuming the Event

To consume an Inventory Adjusted event, use the following example Kafka consumer configuration in Python:

from kafka import KafkaConsumer
import json

# Kafka configuration
consumer = KafkaConsumer(
    'inventory.adjusted',
    bootstrap_servers=['localhost:9092'],
    auto_offset_reset='earliest',
    enable_auto_commit=True,
    group_id='inventory_group',
    value_serializer=lambda v: json.dumps(v).encode('utf-8')
)

# Consume events
for message in consumer:
    event_data = json.loads(message.value)
    print(f"Received Inventory Adjusted event: {event_data}")
Event-driven architecture documentation: FlowMart

JSON Schema

6 properties

A record representing an employee

Name string
required

The name of the employee

Age integer
required

The age of the employee

Department string
required

The department where the employee works

Position string
required

The position or title of the employee within the department

Salary number <double>
required

The salary of the employee

JoinDate string <date>
required

The date when the employee joined the company