Commerce glossary

Store events and webhooks

The facts that flow through a store, such as an order paid or a parcel delivered, and the webhooks that carry each fact to flows, plugins and outside services.

100 parts and 15 phrases. Apps in this area include Shopify Flow, Klaviyo, Zapier, Make, Svix, Hookdeck.

Order eventsevent.orderShowFacts about an order, from the moment it is created to payment, fulfilment, refund and dispute.

How to extend

PartLitestore todayHow to extend
Order createdevent.order.createdFires when a new order row is written, before payment, with the order id, total, currency, item count and email.
Coreplatform/events/types.ts
Event · many
Order paidevent.order.paidFires once when payment for an order succeeds, with the total, currency and any campaign, creator or coupon that brought the sale.
Coreplatform/events/types.ts
Event · many
Order unpaidevent.order.unpaidFires when a paid order loses its payment through a refund, chargeback, void or failed capture, with the amount and the reason.
Coreplatform/events/types.ts
Event · many
Order fulfilledevent.order.fulfilledFires when every item in an order is sent, with the tracking number and carrier when there is one.
Coreplatform/events/types.ts
Event · many
Order cancelledevent.order.cancelledFires when an order is cancelled, with the cancel reason, any refunded amount and whether stock went back.
Coreplatform/events/types.ts
Event · many
Order refundedevent.order.refundedFires when a refund settles, with the refund id, amount, currency, reason and the time the refund happened.
Coreplatform/events/types.ts
Event · many
Order disputedevent.order.disputedFires when the buyer's bank opens a chargeback on the order, with the disputed amount, reason and the evidence deadline.
Coreplatform/events/types.ts
Event · many
Dispute wonevent.order.dispute_wonFires when the bank closes a chargeback in the store's favour and the money stays with the store.
Coreplatform/events/types.ts
Event · many
Dispute lostevent.order.dispute_lostFires when the bank closes a chargeback in the buyer's favour and the disputed amount leaves the store.
Coreplatform/events/types.ts
Event · many
Order updatedevent.order.updatedFires on any change to an order, such as a new note, tag or address, carrying the whole order.
Plugin
Event · many
Order editedevent.order.editedFires when staff add, remove or change items on an order after it was placed.
Plugin
Event · many
Cart eventsevent.cartShowFacts about a shopper's cart: items going in and out, and carts left behind or brought back.

How to extend

PartLitestore todayHow to extend
Item added to cartevent.cart.item_addedFires when a shopper adds a variant to the cart, with the quantity and price.
Coreplatform/events/types.ts
Event · many
Cart item updatedevent.cart.item_updatedFires when a shopper changes the quantity of an item already in the cart.
Coreplatform/events/types.ts
Event · many
Item removed from cartevent.cart.item_removedFires when a shopper takes an item out of the cart.
Coreplatform/events/types.ts
Event · many
Cart emptiedevent.cart.emptiedFires when every item leaves the cart at once.
Coreplatform/events/types.ts
Event · many
Carts mergedevent.cart.mergedFires when a guest cart joins the signed-in shopper's cart after sign-in.
Coreplatform/events/types.ts
Event · many
Cart abandonedevent.cart.abandonedFires when a cart with an email address has had no activity and no order for a set time.
Coreplatform/events/types.ts
Event · many
Cart recoveredevent.cart.recoveredFires when an abandoned cart turns into an order, so the recovery that brought it back gets the credit.
Coreplatform/events/types.ts
Event · many
Cart createdevent.cart.createdFires when a new cart is opened for a shopper.
Plugin
Event · many
Checkout eventsevent.checkoutShowFacts about a shopper moving through checkout before the order exists.

How to extend

  • EventMany side by sideevent.checkout.startedA plugin subscribes to the checkout start to measure drop-off or start a checkout recovery flow.
PartLitestore todayHow to extend
Checkout startedevent.checkout.startedFires when a shopper starts checkout, with the cart and its total.
Coreplatform/events/types.ts
Event · many
Checkout updatedevent.checkout.updatedFires when a shopper changes the address, shipping method or discount during checkout.
Plugin
Event · many
Shipping info enteredevent.checkout.shipping_enteredRecords that the shopper filled in the shipping step, as a browser analytics event.
Coremodules/analytics/events.ts
Event · many
Payment info enteredevent.checkout.payment_enteredRecords that the shopper filled in the payment step, as a browser analytics event.
Coremodules/analytics/events.ts
Event · many
Payment eventsevent.paymentShowFacts about money moving through the payment provider, apart from the order's own state.

How to extend

PartLitestore todayHow to extend
Capture recordedevent.payment.capture_recordedFires when a captured payment is written to the store's payment ledger, with the order, amount and the ledger row id.
Coreplatform/events/types.ts
Event · many
Payment authorisedevent.payment.authorizedFires when the provider holds the money on the buyer's card before it is captured.
Plugin
Event · many
Payment failedevent.payment.failedFires when a payment attempt is declined, with the decline reason from the provider.
Plugin
Event · many
Shipment eventsevent.shipmentShowFacts about parcels and pickups after an order is paid, from sending to delivery or return.

How to extend

PartLitestore todayHow to extend
Shipment shippedevent.shipment.shippedFires when a parcel leaves the store, with the carrier and tracking number.
Coreplatform/events/types.ts
Event · many
Shipment deliveredevent.shipment.deliveredFires when the carrier or staff mark the parcel as delivered.
Coreplatform/events/types.ts
Event · many
Shipment delayedevent.shipment.delayedFires when a parcel passes its expected delivery date without being delivered.
Coreplatform/events/types.ts
Event · many
Delivery failedevent.shipment.failedFires when the carrier reports that a delivery attempt failed.
Coreplatform/events/types.ts
Event · many
Shipment returnedevent.shipment.returnedFires when a parcel comes back to the store undelivered.
Coreplatform/events/types.ts
Event · many
Tracking missingevent.shipment.tracking_missingFires when a shipment marked as sent has no tracking number after a set time.
Coreplatform/events/types.ts
Event · many
Ready for pickupevent.shipment.pickup_readyFires when a local pickup order is packed and waiting at the pickup point.
Coreplatform/events/types.ts
Event · many
Picked upevent.shipment.picked_upFires when the buyer collects a pickup order.
Coreplatform/events/types.ts
Event · many
Pickup uncollectedevent.shipment.pickup_uncollectedFires when a pickup order has waited past the collection window.
Coreplatform/events/types.ts
Event · many
Out for deliveryevent.shipment.out_for_deliveryFires when the carrier reports the parcel is on the vehicle for delivery today.
Plugin
Event · many
Inventory eventsevent.inventoryShowFacts about stock levels at the store's stock locations.

How to extend

PartLitestore todayHow to extend
Stock adjustedevent.inventory.adjustedFires when a stock count changes at a location, with the change and the reason.
Coreplatform/events/types.ts
Event · many
Low stockevent.inventory.low_stockFires when a variant's stock drops to or below the low-stock threshold.
Coreplatform/events/types.ts
Event · many
Out of stockevent.inventory.out_of_stockFires when a variant's sellable stock reaches zero.
Coreplatform/events/types.ts
Event · many
Back in stockevent.inventory.restoredFires when a variant that was out of stock has sellable stock again.
Coreplatform/events/types.ts
Event · many
Product eventsevent.productShowFacts about products in the catalogue.

How to extend

PartLitestore todayHow to extend
Product createdevent.product.createdFires when a new product is added to the catalogue.
Coreplatform/events/types.ts
Event · many
Product updatedevent.product.updatedFires when a product's details, prices or variants change.
Coreplatform/events/types.ts
Event · many
Product publishedevent.product.publishedFires when a product becomes visible on the storefront.
Coreplatform/events/types.ts
Event · many
Product archivedevent.product.archivedFires when a product is taken off sale and hidden from the storefront.
Coreplatform/events/types.ts
Event · many
Product deletedevent.product.deletedFires when a product is permanently removed from the catalogue.
Plugin
Event · many
Price droppedevent.product.price_droppedFires when a product's price goes below its previous price, for price-drop alerts.
Plugin
Event · many
Collection eventsevent.collectionShowFacts about collections of products going live or coming down.

How to extend

PartLitestore todayHow to extend
Collection publishedevent.collection.publishedFires when a collection becomes visible, either by hand or at its scheduled time.
Coreplatform/events/types.ts
Event · many
Collection unpublishedevent.collection.unpublishedFires when a collection is hidden from the storefront.
Coreplatform/events/types.ts
Event · many
Customer eventsevent.customerShowFacts about customer records.

How to extend

PartLitestore todayHow to extend
Customer createdevent.customer.createdFires when a customer record is created at sign-up, checkout or import.
Coreplatform/events/types.ts
Event · many
Customer updatedevent.customer.updatedFires when a customer's name, contact details or marketing consent change.
Coreplatform/events/types.ts
Event · many
Customer deletedevent.customer.deletedFires when a customer record is removed, so outside copies can be erased too.
Plugin
Event · many
Joined segmentevent.customer.joined_segmentFires when a customer starts matching a saved segment's rules.
Plugin
Event · many
Wishlist eventsevent.wishlistShowFacts about shoppers saving products for later.

How to extend

PartLitestore todayHow to extend
Added to wishlistevent.wishlist.addedFires when a shopper saves a product to the wishlist.
Coreplatform/events/types.ts
Event · many
Removed from wishlistevent.wishlist.removedFires when a shopper takes a product off the wishlist.
Coreplatform/events/types.ts
Event · many
Review eventsevent.reviewShowFacts about product reviews from buyers.

How to extend

PartLitestore todayHow to extend
Review submittedevent.review.submittedFires when a buyer sends a review, before moderation.
Coreplatform/events/types.ts
Event · many
Review approvedevent.review.approvedFires when a review passes moderation and shows on the product page.
Coreplatform/events/types.ts
Event · many
Review rejectedevent.review.rejectedFires when a moderator turns a review down.
Plugin
Event · many
Return eventsevent.returnShowFacts about a buyer sending items back.

How to extend

PartLitestore todayHow to extend
Return requestedevent.return.requestedFires when a buyer asks to return items from an order, with the items and reason.
Coreplatform/events/types.ts
Event · many
Return approvedevent.return.approvedFires when staff accept a return request.
Coreplatform/events/types.ts
Event · many
Return rejectedevent.return.rejectedFires when staff turn a return request down.
Coreplatform/events/types.ts
Event · many
Return receivedevent.return.receivedFires when the returned parcel arrives back at the store and is checked in.
Plugin
Event · many
Discount eventsevent.couponShowFacts about discount codes and offers being used.

How to extend

  • EventMany side by sideevent.coupon.redeemedA plugin subscribes to redemptions to report on a promotion or pay a partner.
PartLitestore todayHow to extend
Coupon redeemedevent.coupon.redeemedFires when a paid order uses a discount, with the code, the discount amount and the order.
Coreplatform/events/types.ts
Event · many
Coupon createdevent.coupon.createdFires when a new discount code or automatic offer is set up.
Plugin
Event · many
Creator eventsevent.collabShowFacts about creators and affiliates who sell for the store.

How to extend

PartLitestore todayHow to extend
Creator approvedevent.collab.approvedFires when the store accepts a creator's application.
Coreplatform/events/types.ts
Event · many
Creator rejectedevent.collab.rejectedFires when the store turns down or removes a creator.
Coreplatform/events/types.ts
Event · many
Commission earnedevent.collab.commission_accruedFires when a paid order credits commission to a creator, with the amount and the order.
Coreplatform/events/types.ts
Event · many
Campaign eventsevent.campaignShowFacts about creator campaigns and the sales credited to them.

How to extend

PartLitestore todayHow to extend
Sale credited to campaignevent.campaign.attribution_recordedFires when a paid order is credited to a campaign, with the revenue.
Coreplatform/events/types.ts
Event · many
Campaign status changedevent.campaign.status_changedFires when a campaign moves between draft, live, paused and ended.
Coreplatform/events/types.ts
Event · many
Campaign expiredevent.campaign.expiredFires when a campaign passes its end date and is paused.
Coreplatform/events/types.ts
Event · many
Browsing eventsevent.browseShowFacts recorded in the shopper's browser, sent to analytics and ad pixels rather than to webhooks.

How to extend

  • ProviderMany side by sideanalytics destinationAn analytics or ad plugin receives the browsing events next to the built-in PostHog and consent-gated pixels.
PartLitestore todayHow to extend
Page viewedevent.browse.page_viewedRecords each storefront page a visitor opens.
Coremodules/analytics/events.ts
Provider · many
Product viewedevent.browse.product_viewedRecords that a visitor opened a product page, with the product and price.
Coremodules/analytics/events.ts
Provider · many
Collection viewedevent.browse.collection_viewedRecords that a visitor opened a collection or category page.
Coremodules/analytics/events.ts
Provider · many
Searchedevent.browse.searchedRecords the words a visitor searched for.
Coremodules/analytics/events.ts
Provider · many
Cart viewedevent.browse.cart_viewedRecords that a visitor opened the cart.
Coremodules/analytics/events.ts
Provider · many
Coupon appliedevent.browse.coupon_appliedRecords that a visitor entered a discount code in the cart.
Coremodules/analytics/events.ts
Provider · many
Newsletter signupevent.browse.newsletter_signupRecords that a visitor gave an email address in a signup form.
Coremodules/analytics/events.ts
Provider · many
Cookie consent givenevent.browse.consent_givenRecords that a visitor accepted tracking in the cookie banner.
Coremodules/analytics/events.ts
Provider · many
Subscription eventsevent.subscriptionShowFacts about repeat orders on a schedule, which a subscriptions plugin would send.

How to extend

  • EventMany side by sideA subscriptions plugin would publish these events for other plugins to subscribe to.
PartLitestore todayHow to extend
Subscription createdevent.subscription.createdFires when a buyer signs up for repeat deliveries.
Plugin
Event · many
Subscription renewedevent.subscription.renewedFires when a repeat order is charged and created on schedule.
Plugin
Event · many
Subscription cancelledevent.subscription.cancelledFires when a buyer stops repeat deliveries.
Plugin
Event · many
Plugin eventsevent.pluginShowFacts about plugins being added to or removed from a store.

How to extend

  • Core onlyInstall and uninstall events come from the planned plugin system itself.
PartLitestore todayHow to extend
Plugin installedevent.plugin.installedFires when the store owner adds a plugin and grants its permissions.
Planned
Core only
Plugin uninstalledevent.plugin.uninstalledFires when the store owner removes a plugin, so the plugin can clean up its data.
Planned
Core only
Webhook deliveryevent.deliveryShowHow an event leaves the store as a signed HTTP request, and what happens when the receiver fails.

How to extend

  • Core onlyDelivery, signing and retries stay in core so every subscriber gets the same guarantees.
PartLitestore todayHow to extend
Internal event busevent.delivery.event_busRuns one handler per event after the database change commits, retries it on failure and keys each write by the event id so a retry cannot repeat it.
Corejobs/domain-events.ts
Core only
Webhook endpointevent.delivery.endpointA URL that receives a POST request for each event it subscribes to, with a name and an on/off switch.
Coremodules/integrations/webhooks/lifecycle.ts
Core only
Event subscription listevent.delivery.topic_listLists which event names an endpoint receives, checked against the store's own event names.
Coremodules/integrations/webhooks/schema.ts
Core only
Signing secretevent.delivery.signing_secretA secret per endpoint that signs each request body with HMAC-SHA256 so the receiver can check it came from the store.
Coremodules/integrations/webhooks/delivery.ts
Core only
Signed timestampevent.delivery.timestampA send time included in the signature so the receiver can reject an old request replayed later.
Coremodules/integrations/webhooks/delivery.ts
Core only
Delivery idevent.delivery.delivery_idA unique id sent in a header with each delivery, which the receiver stores to skip a delivery it already handled.
Coremodules/integrations/webhooks/delivery.ts
Core only
Retry with backoffevent.delivery.retry_backoffSends a failed delivery again a set number of times, waiting longer between each attempt.
Corejobs/cron.webhook-retries.ts
Core only
Delivery logevent.delivery.logRecords each delivery with its event, status code, attempts and response so staff can see what failed.
Coremodules/integrations/webhooks/queries.ts
Core only
Manual redeliveryevent.delivery.manual_retrySends one logged delivery again when staff press retry.
Coremodules/integrations/webhooks/delivery.ts
Core only
Test deliveryevent.delivery.test_sendSends a sample event to an endpoint to check the URL and signature work.
Coreapp/api/webhooks/[id]/test
Core only
Auto-disableevent.delivery.auto_disableTurns an endpoint off after a run of consecutive failed deliveries so a dead URL stops using retries.
Coremodules/integrations/webhooks/auto-disable.ts
Core only
Private address blockevent.delivery.url_guardRejects endpoint URLs that point into a private network.
Coremodules/integrations/webhooks/delivery.ts
Core only
Webhook APIevent.delivery.management_apiAn API, guarded by an API key, that creates, lists and removes endpoints and reads their deliveries.
Coreapp/api/webhooks/route.ts
Core only
Event catalogueevent.delivery.event_catalogueAn endpoint that lists every event name a webhook can subscribe to.
Coreapp/api/webhooks/events/route.ts
Core only
Webhook settings screenevent.delivery.admin_screenThe admin page where staff add endpoints, pick events and read the delivery log.
Coreapp/admin/settings/developer/page.tsx
Core only
Inbound payment webhookevent.delivery.inbound_paymentReceives the payment provider's signed events, checks the signature and updates orders and refunds once per event.
Coreapp/api/stripe/webhooks/route.ts
Core only
Ordered deliveryevent.delivery.orderingDelivers events for the same order in the order they happened, holding later events until earlier ones succeed.
Plugin
Core only
Event streamevent.delivery.event_streamSends events to a cloud message queue or event bus instead of HTTP endpoints.
Plugin
Core only

What the phrases mean

The words apps use for a feature, and the plain parts the feature is made of, in the order they happen.

Phrases left out

These phrases mean different things at different apps, so the glossary doesn't map them.

  • triggerMeans an event at one vendor and an event plus a filter or a schedule at another.
  • ordered productKlaviyo sends it once per line item next to placed order; Litestore's order events are per order.
  • order updateCovers any change at Shopify and only status changes at other vendors.

Sources

The app documentation these parts were checked against.