Events
You can subscribe to events and view the events that are published to IBM Cloud® Object Storage (COS) endpoints or webhook endpoints. These endpoints are flexible, cost-effective, and scalable for your unstructured data.
Important: The Inventory service is not meant for running push
mechanisms in real time. It can be used for occasional pushes to marketplaces that do not call
inventory APIs directly. It can also be used for accounting and auditing purposes.
Event characteristics
The events can be delivered through IBM® Cloud Object Storage and webhooks and you must understand the key differences while configuring the events. For more information, see Comparative analysis for webhooks and COS.
Event messages and event triggering
- All item-related changes lead to computing availability and trigger an event message. Examples of item-related changes are configuration changes (such as updates to safety stock, fulfillment options, changes in parent-child relationship), transaction-related changes, or bulk actions like distribution group sync.
- For Sync Supply and Sync Demand PUT API requests, Inventory Visibility relies on the most recent
sourceTs
value for the record to know whether data is up to date and an event needs to be triggered. IfsourceTs
is not specified, then the timestamp of the API call is used. If an API request includes asourceTs
that is earlier than the last time that the sync occurred, then the sync is ignored and an event is not triggered. - Event messages are sent at least one time from inventory service to the endpoint. In some cases, messages are sent more than one time. Therefore, you might notice duplicate event messages from time to time for various reasons. When processing data, you must ensure to remove all the duplicate event messages.
The following table lists a rough estimate of the number of events raised for the transactions
requested. The actual number of events is influenced by other factors such as the number of
concurrent transactions for similar items.
Transaction | Notes | Minimum events raised | Maximum events raised | Additional information |
---|---|---|---|---|
Create a reservation | Open order reservation in Inventory Visibility. | 2 (PICK-1 & SHIP-1) | 2 (PICK-1 & SHIP-1) | |
Create order and reservationId |
Reservation is consumed rsvr_demand is created in Inventory Visibility. |
2 (PICK-1 & SHIP-1) | 2 (PICK-1 & SHIP-1) | |
Schedule order | rsvr_demand is converted to scheduled demand. |
0 | 4 (PICK-2 & SHIP-2) | Depending on work load pattern at that point in time, changes can either get aggregated or not get aggregated. |
Release order | Temporary reservation created (of type for_demand ). Scheduled demand is
converted to allocated demand. |
0 | 4 (PICK-2 & SHIP-2) | Depending on work load pattern, changes can either get aggregated or not get aggregated. |
Confirm shipment | Supply is reduced. Demand is reduced. | 0 | 4 (PICK-2 & SHIP-2) | Depending on work load pattern at that point in time, changes can either get aggregated or not get aggregated. |
Events delivery
Events can be delivered through IBM Cloud Object Storage
and webhooks. Understand the key differences while configuring the events.
For more
information, see Events integration.