Salla Docs
Merchant API
  • Merchant API
  • Salla OAuth 2.0
Partner APIs
  • App API
  • Shipment API
Storefront
  • Twilight Engine
  • Twilight SDK
  • Web Components
  • Change Log
Salla CLI
Merchant API
  • Merchant API
  • Salla OAuth 2.0
Partner APIs
  • App API
  • Shipment API
Storefront
  • Twilight Engine
  • Twilight SDK
  • Web Components
  • Change Log
Salla CLI
Salla - Opensource
Salla - Developers Community
  1. Order Fulfilment
  • Getting Started
  • Migration to the New API
  • Publish App
  • Change Log
  • Shipping Management
    • Create App
    • App Cycle
    • Setup App
    • Test App
  • Order Fulfilment
    • Create App
    • App Cycle
    • Setup App
    • Test App
  • Shipments
    • Create Shipment
      POST
    • List Shipments
      GET
    • Update Shipment Details
      PUT
    • Shipment Details
      GET
    • Cancel Shipments
      POST
    • Return Shipments
      POST
    • Shipment Tracking
      GET
  • Shipping Companies
    • List Shipping Companies
      GET
    • Shipping Company Details
      GET
  • Shipping Routes
    • Routes List
      GET
    • Route Details
      GET
    • Create Route
      POST
    • Update Route
      PATCH
    • Default Route
      PATCH
    • Delete Route
      DELETE
  1. Order Fulfilment

App Cycle

Salla Order Fulfilment is a powerful workflow used by Merchants to streamline their orders' processing. It manages the entire order-to-delivery from the time an order is placed until it has been fulfilled, returned, or canceled.
Note
Salla Shipping API supports assigning an order to multiple shipping Apps, providing accurate information about the order to the Shipping Apps ,and managing the order flow.
In this article, we will explore the following topics:
Order Fulfilment
Order Placement
Assign Shipments
Update Shipment Details
Shipments Return and Cancellation
Return Shipments
Cancel Shipments

Order Fulfilment#

The following diagram explains two main workflows, which are receiving orders from customers, and then assigning those orders to multiple shipping Apps based on either custom Merchant preferences, the closest shipping service to the customer, and the least shipping cost for the Merchant.
Moreover, the Order Fulfilment App can handle order shipping cancellations and returns from the customer. 

Order Placement#

The first step in the Order Fulfilment Cycle is when an order is placed/created, and this happens:
After checkout is fully processed and done from the Customer's side of the Merchant's store.
Via the Create Order API Endpoint.
The store webhook, order.created, will be triggered and sent over to the Order Fulfilment App, with shipment status being pending. That sent data can then be processed to assign the orders to multi-shipping Apps.
Webhook Payload order.created
List Shipping Apps Endpoint
Assign Shipments Body Request
Assign Shipments Response
At this step, the Order Fulfilment App has all the required information received from the order.created webhook event and is now able to process the splitting of orders to the shipping Apps. The following payload is correspondent to when the order.created event is fired.
Payload
Response
Orders Webhook Events Model

Update Shipment Details#

Understanding the process of the Shipping App Cycle is vital for the Order Fulfilment App, which adds a layer of smooth integration and communication between both services.
Information
Checkout the Shipping App Cycle guide for more details on the workflow.
The store webhook, shipment.creating, will be triggered and sent to the Shipping App. The Shipping App will use the shipment information, such as the recipient's address and the items being shipped, to create the shipment and set up the delivery process, so the Merchant will be able to download the shipment policy.
Accordingly, after creating the shipment by the Shipping App, the Merchant store will receive the updates, and the store webhook, shipment.created will be triggered at that moment to update the shipment status for the Order Fulfillment App.
Update Shipment Request Body
Update Shipment Response Body
The following enlists the values that can be sent to the endpoint to update the details of the shipment
put_shipmentDetails_request_body

Shipments Return and Cancellation#

Return Shipments#

The following diagram details the return process, which can be triggered by the Order Fulfilment App on behalf of the Merchant to the Shipping App
Return Shipments Request
Return Shipments Response
The Order Fulfilment can initiate a return on delivered shipment by consuming the Return Shipments API Endpoint by sending the shipment_id as a path parameter in this manner https://api.salla.dev/admin/v2/shipments/{shipment_id}/return, which such request will then be sent to the Shipping Apps for them to handle the returning process.

Cancel Shipments#

The following diagram details the cancellation process, which can be triggered by the Order Fulfilment App on behalf of the Merchant to the Shipping App
Cancel Shipments Request
Cancel Shipments Response
The Order Fulfilment App is able to cancel any shipment by consuming the Cancel Shipments API Endpoint by sending the shipment_id as a path parameter in this manner https://api.salla.dev/admin/v2/shipments/{shipment_id}/cancel, which the Shipping App will receive to handle the proper action for that.
🎉
Reaching here means you have a full idea of how Order Fulfilment Apps functions and you can proceed to Set Up your Orders Fulfilment App.
Modified at 2025-01-05 10:22:13
Previous
Create App
Next
Setup App