Before commencing web Order injection, we must first configure payment settings for e-commerce orders. For this exercise, we will not be integrating with a live payment provider. Instead, we will utilize an external payment method that lets you inject the order without having a real payment provider integration.
Tutorial
Refer to Configuring payment providers for guidance on integrating with live payment providers.
To create an order, you'll need to provide basic information including customer details (email, name, address, phone), Product information, payment details, and shipping information.
Injection API
The create order API is documented here - Order Injection API
Pass
payments[0].processor
asnon_integrated
Please pass a valid
service_level
from the fulfillment configuration value inservice_level_identifier
undershipments
>shipping_option
. If you need to generate theshipping_offer_token
instead, then use Create routing options to generate theshipping_offer_token
.You can find the sample payload for the order injection payload below.
Upon successful order injection, the order will be routed to the designated Distribution center (DC) Location, contingent upon the Remorse period. However, if the required is unavailable for either a portion or the entire order, the order will be placed on hold, pending further action.
Routing rules
If the retailer wishes to enable automatic re-routing of the order once inventory becomes available, they can simply toggle on. Refer to the platform documentation on how to enable the automatic re-routing. 'enable_automatic_rerouting' switch to the 'on' position. This will allow the system to automatically re-route the order when inventory levels are replenished.
If the retailer desires to automatically cancel orders when inventory is unavailable, please ensure that the 'cancel_on_conflict' configuration is set up with the appropriate reasons. This will enable the system to automatically cancel orders when inventory conflicts arise.
Upon routing the order to the Distribution Center (DC) location, the DC fulfillment webhook is triggered, transmitting the order information to the DC. As a best practice, it is recommended to update the Fulfillment request status to 'Accepted' once the work order has been successfully sent to the DC or the DC has acknowledged acceptance of the fulfillment request. This ensures accurate tracking and visibility of the order's progress.
Accept Fulfillment
Use the Accept Fulfillment request to mark the fulfillment request as accepted by DC.
Please note that this API is applicable only for DC fulfillment requests
Upon acceptance of the fulfillment request at the Distribution Center (DC), the order can subsequently be shipped, canceled, or rejected. At this stage, the DC has acknowledged receipt of the request and is now responsible for executing the next steps in the fulfillment process.
Fulfillment Providers
Use the following APIs to mark the item as shipped, canceled, or rejected.
Mark full or part of the fulfillment request as Shipped
Mark full or part of the fulfillment request as Cancelled
Mark full or part of the fulfillment request as Rejected
When a fulfillment request contains multiple line items and a portion of it is rejected, the platform will await further instruction from the Distribution Center (DC) regarding the remaining items in the request. Once the platform receives a response (shipped, canceled, or rejected) from DC for the unaffected items, it will re-route the rejected line items based on the routing config and the current inventory picture.