Order Events

Order event types, what triggers each one, and the fields its payload carries
View as Markdown

These events fire on the order object. To receive them, register the order.* pattern — or any individual event below — against a webhook target. See Configure Webhooks via API for how to create a target and define filters.


Event types

EventDescription
order.change_shipping_addressTriggered when an order’s shipping address is set. This event can be triggered more than once for an order.
order.change_paymentTriggered when an order’s payment is set. This event can be triggered more than once for an order.
order.change_billing—
order.change_next_order_dateTriggered when an order’s desired placement date is modified. This event can be triggered more than once for an order. This event is not triggered when creation is from your Ordergroove Admin.
order.skip_orderTriggered when an order is cancelled, meaning the order will not be placed. This event will only occur once for an order.
order.send_nowTriggered when an order’s placement date was moved up to today. The order will be placed as soon as possible.
order.cancelTriggered when the placement response (response code “030”) for an order indicates it should be cancelled and no longer attempted. This event will only occur once for an order.
order.successTriggered when the placement response for an order indicates it was processed successfully and GMV was realized. This event will only occur once for an order.
order.generic_errorTriggered when the placement response for an order indicates an unknown error occurred (response code “999”) and should be retried. This event can be triggered more than once for an order.
order.rejectTriggered when the placement response for an order indicates the order was rejected, no GMV was realized, and the order should not be retried. This event will only occur once for an order.
order.reminderTriggered when a reminder notification is sent to a customer for an upcoming order that will be placed (usually within the next few days). This event can be triggered more than once for an order, but generally occurs only once.
order.retryable_placement_failureTriggered when the placement response for an order indicates it should be processed through our configurable retry flow. This event can be triggered more than once for an order and will only occur if your program is configured to use this feature.
order.*Matches every event in this family.

Payload

NameTypeDescriptionExample
idstrIdentifier of the event”mmmm4444nnnn3333pppp”
typestrThe type of event that occurredSee below for full list of event types
createdintTime since epoch when the event occurred1622589211
dataobjectEvent data objectSee JSON below
data.object.typestrResource type of event”Order”
data.object.merchantstrIdentifier of merchant”aaaa1111bbbb2222cccc”
data.object.public_idstrPublic ID of resource. Should be used to retrieve additional resource object data via OG API if necessary.”zzzz9999yyyy8888xxxx”
data.object.customerstrThe merchant_user_id — the ID from the merchant system, not our internal public ID”h183738”
data.object.paymentstrPayment record ID”a748aa648ac811e8af3bbc764e106cf4”
data.object.shipping_addressstrShipping address record ID”66c25cd0564011e9abc5bc764e107990”
data.object.sub_totalstrSubtotal of items in order”20.00”
data.object.tax_totalstrTax applied to order”5.00”
data.object.shipping_totalstrShipping cost applied to order”0.00”
data.object.discount_totalstrDiscount applied to order”0.00”
data.object.totalstrTotal price of order”25.00”
data.object.createdintUnix timestamp when the order was created1300375961
data.object.placestrDate for order placement. Format: “YYYY-MM-DD""2021-05-01”
data.object.cancelledstrUnix timestamp when the order was cancelled1300375961
data.object.triesintNumber of attempts to place the order0
data.object.generic_error_countintNumber of times your system returned a generic error response (“999”) when we attempted to place the order0
data.object.statusintStatus enum1
data.object.status_displaystrReadable version of status enum”Unsent”
data.object.order_merchant_idstrOrder ID in your system after we have placed an order and you respond that it was processed successfully”ABC123”
data.object.rejected_messagestrMessage your system provides when you respond with “REJECT” to an order we attempt to place. Format depends on your responses — we store the string as provided.”Expiration Date is in the past”
data.object.extra_dataobjectKey/value store for any extra information
Example Data
{
"id": "mmmm4444nnnn3333pppp",
"type": "order.success",
"created": 1622589211,
"data": {
"object": {
"type": "order",
"merchant": "aaaa1111bbbb2222cccc",
"public_id": "zzzz9999yyyy8888xxxx",
"customer": "m1234576",
"payment": "a748aa648ac811e8af3bbc764e106cf4",
"shipping_address": "66c25cd0564011e9abc5bc764e107990",
"discount_total": "0.00",
"shipping_total": "0.00",
"sub_total": "0.00",
"tax_total": "0.00",
"total": "0.00",
"extra_data": {},
"generic_error_count": 0,
"order_merchant_id": null,
"place": "2021-04-06",
"rejected_message": null,
"status": 1,
"status_display": "Unsent",
"tries": 0,
"cancelled": null,
"created": 1301093861
}
}
}