There are two sets of fulfillments messages. Messages that are sent to the scenario manager out of the box and messages that are intended for use within the fulfillment system itself.
The scenario messages are all sent by the OrderChangeHandler
component. This component listens for the rather obfuscated internal fulfillment messages (ModifyOrderNotification
) and creates more user-friendly messages for consumption by scenarios.
The following messages are sent to the scenario manager during fulfillment.
atg.commerce.fulfillment.scenario.OrderModified
atg.commerce.fulfillment.scenario.PaymentGroupModified
atg.commerce.fulfillment.scenario.ShippingGroupModified
The following messages are used within the fulfillment system.
atg.commerce.fulfillment.UpdateInventoryImpl
atg.commerce.fulfillment.FulfillOrderFragment
atg.commerce.fulfillment.ModifyOrderNotification
atg.commerce.fulfillment.ModifyOrder
atg.commerce.fulfillment.SubmitOrder
The Submit Order message is sent out when an order has been submitted for fulfillment (checkout complete). Includes the serialized order, the JMS message type
Base type: CommerceMessageImpl
JMS type: atg.commerce.fulfillment.SubmitOrder
Source
ProcSendFulfillmentMessage
: Processor is part of the purchase process.
Properties
type
order
orderId
orderAsXML
profile
atg.commerce.promotion.PromotionUsed
The Promotion Used message is sent out when a promotion is used by an order that was submitted.
Base type: CommerceMessageImpl
JMS type: atg.commerce.promotion.PromotionUsed
Source
ProcSendPromotionUsedMessage
- Processor is part of the purchase process.
Properties
type
order
profile
promotion
atg.commerce.promotion.ActivePromotionMessage
The Active Promotion message is sent out when a promotion was granted to a user through a scenario.
Base type: CommerceMessageImpl
JMS type: atg.commerce.promotion.ActivePromotion
Source
PromotionTools.sendActivePromotionEvent
is called by PromotionTools.addPromotion
which is by anyone adding a promotion to the profile object.
Properties
type
profile
promotionId
atg.commerce.gifts.GiftPurchased
The Gift Purchased message is sent out when a gift is purchased off of a gift list.
Base type: CommerceMessageImpl
JMS type: atg.commerce.gifts.GiftPurchased
Source
ProcSendGiftPurchasedMessage
- Processor is part of the purchase process.
Properties
type
item
order
profile
atg.commerce.inventory.InventoryThresholdReached
The Inventory Threshold Reached message is sent out when the inventory for a particular item dips below some threshold.
JMS type: atg.commerce.inventory.InventoryThresholdReached
Source
The RepositoryInventoryManager
sends this message whenever an inventory level is decremented below its corresponding threshold.
Properties
type
id
inventoryId
levelPropertyName
thresholdPropertyName
currentValue
thresholdValue
atg.commerce.order.ItemAddedToOrder
The Item Added to Order message is sent out when an item was added to an order either before or after checkout.
Base type: ScenarioEvent
JMS type: atg.commerce.order.ItemAddedToOrder
Source
The form handlers that are used to manipulate the shopping cart.
Properties
id
order
catalogRef
product
commerceItem
quantity
amount
type
atg.commerce.order.ItemRemovedFromOrder
The Item Removed from Order message is sent out when item was removed from an order either before or after checkout.
Base type: ScenarioEvent
JMS type: atg.commerce.order.ItemRemovedFromOrder
Source
The form handlers that are used to manipulate the shopping cart.
Properties
order
catalogRef
prodcut
commerceItem
quantity
amount
type
atg.commerce.promotion.ScenarioAddedItemToOrder
The Scenario Added Item to Order message is sent out when a scenario is used to add an item to the shopping cart.
Base type: ItemAddedToOrder
JMS type: atg.commerce.promotion.ScenarioAddedItemToOrder
Source
The AddItemToOrder
scenario action.
Properties
type
atg.commerce.order.ItemQuantityChanged
The Item Quantity Changed message is sent out when the quantity of an item changes in an order either before or after checkout.
Base type: ScenarioEvent
JMS type: atg.commerce.order.ItemQuantityChanged
Source
The form handlers that are used to manipulate the shopping cart.
Properties
id
order
catalogRef
product
commerceItem
oldQuantity
newQuantity
type
atg.commerce.pricing.PriceChanged
The Price Changed message is sent out when the price of an order changes.
JMS type: atg.commerce.pricing.PriceChanged
Source
PricingTools
, whenever it is used to price an order total or an order subtotal.
Properties
id
type
priceChangeType
profile
order
repricedObject
oldPrice
newPrice
atg.commerce.order.SwitchOrder
The Switch Order message is sent if the user switches his/her shopping cart from the current value to one of the saved orders.
Base type: CommerceMessageImpl
JMS type: atg.commerce.order.SwitchOrder
Source
The OrderHolder
Properties
oldOrder
order
type
atg.commerce.order.OrderSaved
The Order Saved message is sent when order has been saved by the user (not to be confused with saving an order into the repository.) This is when an order is moved to a user’s list of saved orders.
Base type: CommerceMessageImpl
JMS type: atg.commerce.order.OrderSaved
Source
The SaveOrderFormHandler
and the ShoppingCartModifierFormHandler
Properties
order
type
atg.commerce.fulfillment.scenario.OrderModified
The order modified message is sent when an order is modified.
JMS type: atg.commerce.fulfillment.scenario.OrderModified
Base type: ScenarioEvent
subtypes
There are four possible kinds of modifications that are accessible in the sub type property.
Order is finished
Order has unavailable items
Order is pending merchant action
Order was removed
Source
OrderChangeHandler
Properties
order
shipItemRels
(the list of unavailable items)subType
type
atg.commerce.fulfillment.scenario.PaymentGroupModified
Base type: ScenarioEvent
JMS type: atg.commerce.fulfillment.scenario.PaymentGroupModified
The payment group modified event is sent when a payment group is modified.
subtypes
There are three possible kinds of modifications that are accessible in the subtype property.
Payment group has been credited
Payment group has been debited
Payment group has failed to debit
Source
OrderChangeHandler
Properties
order
paymentGroups
subType
type
atg.commerce.fulfillment.scenario.ShippingGroupModified
Base type: ScenarioEvent
JMS type: atg.commerce.fulfillment.scenario.ShippingGroupModified
The shipping group modified event is sent when a shipping group is modified.
subtypes
There are six possible kinds of modifications which are accessible in the sub type property.
Shipping group has been removed
Shipping group shipped
Shipping group split for unknown reasons
Shipping group split to partially ship
Shipping group split to use multiple fulfillers
Shipping group is pending merchant action
Source
OrderChangeHandler
Properties
order
shippingGroup
newShippingGroup
(if split)subType
type
atg.commerce.fulfillment.UpdateInventoryImpl
The Update Inventory message is used if there is new inventory available.
Base type: CommerceMessageImpl
JMS type: atg.commerce.fulfillment.UpdateInventoryImpl
Source
The RepositoryInventoryManager
sends this whenever inventoryWasUpdated
is called. This method is called by fulfillment if an order is cancelled. It may also be called by administrative tools. ATG Commerce includes an InventoryFormHandler
that calls this method and is accessible of the commerce admin pages.
Properties
itemIds
type
atg.commerce.fulfillment.FulfillOrderFragment
This message is used internally to notify a particular fulfiller of new items to fulfill. The SubmitOrder
message includes the entire order. Fulfillment splits this message into one message per fulfiller. The FulfillOrderFragment
includes this per-fulfiller information.
JMS type: atg.commerce.fulfillment.FulfillOrderFragment
Source
The source is ProcSendFulfillOrderFragment
, which is one of the fulfillment pipeline processors. In the pre-pipeline version this was sent by the OrderFulfiller
.
Properties
order
orderAsXML
shippingGroupIds
- Shipping groups that the fulfiller is responsible for.type
atg.commerce.fulfillment.ModifyOrderNotification
Base type: CommerceMessageImpl
JMS type: atg.commerce.fulfillment.ModifyOrderNotification
The Modify Order Notification message is used to announce that changes were made to an order during fulfillment. Each change is represented as a Modification object. Modifications can tell you things like which payment groups have changed, which shipping groups have changed, or when the state of an order object has changed.
Source
The source can be from various pieces of fulfillment. Whenever a change is made (usually stated changes) then one of these messages is sent.
Properties
orderId
orderAsXML
modifyOrderSource
(If this message was a response to aModifyOrder
message, this property references the source of thatModifyOrder
message.)modifications
type
atg.commerce.fulfillment.ModifyOrder
The Modify Order message is used to request that a change be made to an order during fulfillment. Each change request is represented as a Modification object. Examples of modifications are to remove an order or change the state of this order object. Pioneer and Motorprise both use this message to cancel an order.
Base type: CommerceMessageImpl
JMS type: atg.commerce.fulfillment.ModifyOrder
Source
This message is sent by various pieces of fulfillment. Whenever a change needs to be made by another part of fulfillment, a request message is sent. The OrderCanceller
used by Motorprise or Pioneer.
Properties
orderId
orderAsXML
modifications
type