Inventory adjusted

Indicates a change in inventory level

Event Recently updated! Channel:Apache Kafka

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.

Contact the team

Any questions? Feel free to contact the owners

View the schema

View the schema directly in your browser

Architecture diagram

Payload example

Event example you my see being published.

Payload example
{
"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

To produce an Inventory Adjusted event, use the following example Kafka producer configuration in Python:

Produce event in Python
from kafka import KafkaProducer
import json
from datetime import datetime
# Kafka configuration
producer = KafkaProducer(
bootstrap_servers=['localhost:9092'],
value_serializer=lambda v: json.dumps(v).encode('utf-8')
)
# Event data
event_data = {
"event_id": "abc123",
"timestamp": datetime.utcnow().isoformat() + 'Z',
"product_id": "prod987",
"adjusted_quantity": 10,
"new_quantity": 150,
"adjustment_reason": "restock",
"adjusted_by": "user123"
}
# Send event to Kafka topic
producer.send('inventory.adjusted', event_data)
producer.flush()

Consuming the Event

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

Consuming the event with 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: Impulsell

JSON Schema

6 properties

A record representing an employee

Namestring
required

The name of the employee

Ageinteger
required

The age of the employee

Departmentstring
required

The department where the employee works

Positionstring
required

The position or title of the employee within the department

Salarynumber<double>
required

The salary of the employee

JoinDatestring<date>
required

The date when the employee joined the company