Order Fulfillment
fabric’s Order service simplifies complex order management and fulfillment processes after an order is created either by using any checkout service or at the Point of Sale (POS).
Order service lets merchants create a unified commerce experience by importing all orders in real-time to a single application, use fabric Order endpoints for order creation, initiate post-order process workflows, and manage order-related data, such as set estimated delivery date, ship-by date, fulfillment location information to view what facility orders were allocated for the fulfillment, and many more. Order service also lets merchants cancel, return, exchange order cancellation, returns, exchanges, appeasements, invoicing, shipment, tracking, backorders, and other use cases.
Workflow
The following provides a basic workflow of fabric Order service for the orders created using a checkout service:
- Merchants create an Order and upload Order details to fabric OMS after shoppers complete the payment process at the checkout stage.
- fabric OMS sends a notification for different order updates, using the Notification APIs of fabric OMS, to shoppers and merchants.
- fabric Order allocates the order, using allocation APIs, to the shopper’s nearest warehouse or facility for inventory confirmation, and shipping of the product.
- Order is then picked, packed, and shipped.
- Merchant and shopper are notified of the delivery being shipped.
- The order completes its journey at the shopper’s delivery address.
Set up Order Tracking for an Order Created Using a Checkout Service
After an order is created, for the order to drop to the warehouse, you must set up webhook subscriptions to OMS events for better order management.
Step 1: Set up a webhook subscription to OMS events
Use webhook endpoint (POST/api/v2/webhook) to set up webhook subscriptions to various order events so that when an order is created or updated, fabric OMS automatically starts the post-order processes, and sends notifications for the subscribed events.
Once an order is allocated to a warehouse, the webhook that you have set up sends a notification mentioning an allocation ID.
Following is a curl example for subscribing to allocation events:
To subscribe to any other OMS events, mention the respective source name and events that you want to subscribe for. For details, see List of Webhook Events.
Step 2: Create an Order and Upload it to fabric OMS
Use POST/api/v2/order endpoint to create an order through any integrated checkout service that you are using.
- The
orderNumber
field that is passed during order creation is a string. - For Cash On Delivery (COD) orders, provide
paymentMethod
as ‘CASH_ON_DELIVERY’, andchargedAmount
as ‘0’ under the payment object while creating an order.
Request Sample
Step 3: Integrate OMS with Warehouse Management System (WMS)
Integrate OMS with the WMS that you use to check the movement of inventory to fulfill orders. By integrating OMS with WMS, you allow the WMS to listen to allocation events that you created in the first step. Based on the shopper’s location, fabric OMS allocates orders to the nearest warehouse. To integrate OMS with the WMS you use, either:
- You (retailers) develop the integration software to communicate with fabric OMS, and maintain the integration layer on your own.
- Or, you (retailers) use a third-party integration software that is developed to communicate with fabric OMS. For example, Bascom develops integration software for fabric OMS.
Step 4: Integrate OMS with Fraud Service
Use fraud endpoints to integrate OMS with Fraud service
Step 5: Create Shipment for the Allocations
Configure integration service with fabric OMS in such a way that integration service uses the create shipment endpoint (POST/api/v2/shipment) to ship the order to the shopper’s address after a warehouse is allocated with order details.
Optional Steps:
Search orders or allocation for additional information.
Get Allocations by OrderId
You can get all the allocations documents by OrderID
curl example:
Search Orders by AllocationId
Use POST/{allocationId}
endpoint to get order details by allocationId.
Was this page helpful?