www/apps/book/app/learn/fundamentals/events-and-subscribers/data-payload/page.mdx
import { TypeList } from "docs-ui"
export const metadata = {
title: ${pageNumber} Event Data Payload,
}
In this chapter, you'll learn how subscribers receive an event's data payload.
When events are emitted, they’re emitted with a data payload.
The object that the subscriber function receives as a parameter has an event property, which is an object holding the event payload in a data property with additional context.
For example:
export const highlights = [ ["7", "event", "The event details."], ["8", "{ id: string }", "The type of expected data payloads."], ]
import type {
SubscriberArgs,
SubscriberConfig,
} from "@medusajs/framework"
export default async function productCreateHandler({
event,
}: SubscriberArgs<{ id: string }>) {
const productId = event.data.id
console.log(`The product ${productId} was created`)
}
export const config: SubscriberConfig = {
event: "product.created",
}
The event object has the following properties:
<TypeList types={[
{
name: "data",
type: "object",
description: "The data payload of the event. Its properties are different for each event."
},
{
name: "name",
type: "string",
description: "The name of the triggered event."
},
{
name: "metadata",
type: "object",
description: "Additional data and context of the emitted event.",
optional: true
},
]} sectionTitle="Access Event's Data Payload" />
This logs the product ID received in the product.created event’s data payload to the console.
{/* ---
Refer to this reference for a full list of events emitted by Medusa and their data payloads. */}