Skip to content
Last updated

Four Fynd Commerce events drive customer synchronization and the post-checkout loyalty lifecycle. Subscribe to the v1 events below. Engage maps each event and emits it to the partner endpoint.

Required commerce events

EventName and referencePurpose
Order placedapplication/order/placed/v1Confirm the redemption hold and identify the cart through order.cart_info.cart_object_id.
Shipment updateapplication/shipment/update/v1Credit points on delivery and deduct or refund points for cancellations and returns at shipment level.
User createapplication/user/create/v1Create the customer in the partner system.
User updateapplication/user/update/v1Synchronize customer profile changes.

Read the order-placed payload

Use these fields when processing application/order/placed/v1:

DataPayload pathUsage
Cart referenceorder.cart_info.cart_object_idMatches the cart ID used for the redemption hold.
Order sourceordering_sourcestore_os_pos identifies Store OS orders. storefront identifies Fynd-powered storefront orders.
Seller item IDbags[].article.seller_identifierIdentifies the seller item in each bag.
Redeemed valueprices.loyalty_discountContains the rewards redemption amount.
Value excluding taxprices.value_of_goodContains the amount excluding tax.

The prices object is available at both order and shipment level.

Shopify order source

The ordering_source value for Shopify orders is still to be confirmed. Do not infer this value in production logic

Shipments, cancellations, and returns

An order can contain multiple shipments. Each shipment has its own delivery, cancellation, and return lifecycle. Process partial and full cancellations or returns at shipment level.

Returned items arrive as a separate shipment. Use that shipment's prices.loyalty_discount as the amount to refund.

Read shipment_status.current_shipment_status and apply the corresponding loyalty action:

Current shipment statusMeaningLoyalty action
delivery_doneHome-delivery shipment deliveredCredit points
handed_over_to_customerOrder handed over in storeCredit points
refund_completedRefund completed for itemsInformational
cancelled_customerCancelled by customerDeduct points
cancelled_fyndCancelled by staffDeduct points
cancelled_merchantCancelled by sellerDeduct points
refund_initiatedRefund initiatedRefund points
return_acceptedReturn journey completedInformational
Shipment-level accounting

Credit earned points only for terminal delivery statuses. For a cancellation or refund, reverse points against the shipment-level loyalty_discount, not the order-level value

Processing guidance

  • Make webhook handling idempotent because events may be retried.
  • Resolve the cart before confirming a redemption hold.
  • Process each shipment independently.
  • Record informational statuses without applying a second loyalty adjustment.
  • Keep user-create and user-update processing separate from order and shipment accounting.