Shopify is constantly improving its platform to give merchants the best experience possible.
Merchants’ business is dominated by order management and fulfillment. To get products to customers, it takes a lot behind-the scenes work to manage inventory, orders, delivery, and other tasks. This work is often overlooked by the customer, who still expects to be able to place an order quickly and in a transparent manner. This work becomes more difficult and more complicated as merchants become larger.
At the beginning of their entrepreneurial journey, merchants manage inventory and fulfill orders from their own home. However, inventory is managed and fulfilled by third-party logistics providers (3PLs), warehouses and retail locations around the globe. Each location often fulfills orders in its own way.
Shopify merchants can fulfill orders by themselves, using an app, outsourcing to third-party fulfillment services, or any combination thereof. However, one thing remains constant: merchants want visibility into their inventory and fulfillment.
“Merchants need visibility and control over their inventory and fulfillment, regardless of where it is stored.”
We have created the Shopify Fulfillment orders API to make it easier for our partners to use.
This article will discuss how to use the API to provide a better fulfillment experience for merchant clients regardless of where or how they fulfil orders.
What is the Fulfillment Orders API?
Fulfillment Orders API models an end-to-end fulfillment process in its sub-pieces. This allows fulfillment data to sync between Shopify and order management apps or 3PLs more accurately. Fulfillment Order API records the fulfillment lifecycle, including closed, in-progress, cancelled, or incomplete. This allows merchants to have a more detailed and comprehensive view of their Shopify order data. It also shows the exact items that must be fulfilled at a specific location for a particular order. This improves accuracy in order fulfillment.
If you use any of these APIs, we recommend moving to Fulfillment Orders API immediately.
- Fulfillment API
- Fulfilment Services API
- API Inventory
- API Orders
Learn more about Fulfillment Orders API if you’re building an order management app, or a 3PL partner.
Why Fulfillment Orders API is important
You can migrate your app to the Fulfillment Orders API for four reasons.
1. This API architecture provides a better way to build on.
Fulfillment Orders API provides a better platform to work from. It breaks down the fulfillment process into smaller pieces, which allows workflows to be more easily represented and information to flow between Shopify and your 3PL.
This API allows you to identify inventory levels and locations of order items in order management apps. The following fulfillment actions can be synced between your app to Shopify.
- Move: When fulfillment orders are moved between locations.
- Create fulfillment A fulfillment is created using line items, destination, and origin. This request will close the fulfillment order if it is successful. The fulfillment order would be moved to an in Progress status for partial fulfillments.
Information can be easily sent between 3PLs and merchants via Shopify and your fulfillment platform. Fulfillment requests are better because 3PL fulfillment flows have rules. They alternately control the fulfillment order between merchants and 3PLs at the right moment.
This API allows you to:
- Fulfillment work assigned to your 3PL should be understood and performed clearly
- Accept or decline fulfillment requests from merchants to indicate whether or not you will fulfill them
- Merchants can accept or reject cancellation requests for fulfillment
- When fulfillment requests are denied, notify merchants through the Shopify mobile app
- As a way to convey more context, include messages to the merchant whenever you accept, reject or create fulfillment for merchant.
- Once you have received a fulfillment request, you can create a fulfilment at any moment
- Multiple fulfillments can be created for one fulfillment order in order to represent multiple packages
- After performing only a portion of the work required, close a fulfilment order and notify the merchant via Shopify mobile app that the remainder couldn’t be done
2. Merchant complexity is handled more easily
Shopify merchants can be diverse. They range from who they are to the products they sell and where they do it. These factors impact the way a merchant fulfills orders and delivers them to customers. This complexity and diversity requires flexibility in our fulfillment platform. Fulfillment Orders API is the future of our platform. It will be an integral part of creating that flexibility for merchants in the future.
We built local pickup, and delivery using the Fulfillment Orderss API. These new features allowed merchants to fulfil orders while providing a seamless admin experience.
In October 2020, we also announced subscriptions. To give merchants the best experience selling and fulfilling pre-paid subscription orders, we partnered with several subscription apps. These apps can integrate seamlessly with Shopify using the Fulfillment Orders API. Merchants can see subscription orders and fulfill them at the correct time.
3. Facilitates clearer ownership of fulfillment work
Fulfilment Orders API provides clearer ownership over fulfilment work. The APIs we used in the past did not clearly state who and when should fulfill an order. This led to duplicate fulfillments, and unnecessary and slow communication between fulfilment centers and merchants.
Fulfillment orders can be clearly assigned to merchant locations or fulfillment locations using the Fulfillment Orders API. This makes it easy for fulfillment services not to get confused about who is fulfilling which order. This can also be applied to specific fulfillments.
Fulfillment requests are when the merchant is able to make any changes that they need during fulfillment. A merchant can make changes to an order, modify the address or cancel certain items before submitting a request.
The merchant cannot make any changes to the fulfillment request once it has been accepted by the 3PL. The merchant must first request cancellation if they wish to make any further changes. These steps keep the merchant and 3PL in contact and help avoid any errors during fulfillment.
4. Improves the merchant experience over time
Shopify’s Fulfillment Orders API is the future of fulfillment. It is constantly being developed to provide merchants with the best fulfillment experience.
This future is one we see as:
- This gives merchants an accurate and clear understanding of their orders, fulfillment work, and locations in Shopify and within your app or fulfillment services
- Partnering with partners can help merchants to better manage their fulfillment needs.
- Merchants can scale up and become more efficient as their order volumes increase.
Fulfillment Orders API provides a better fulfillment experience
Merchants can now have a better fulfillment experience with the Fulfillment Orders API. This API is now familiar:
- This architecture allows merchants to have more control over their fulfillment work regardless of how they fulfil orders.
- It offers greater flexibility and can manage complex and varied fulfillment requirements for merchants more efficiently.
- Increases fulfillment accuracy by making it easier for merchants and fulfillment service providers to identify who fulfills an order and where.
- This represents the future of fulfillment through Shopify and will give merchants a better fulfillment experience over the long-term.
To provide better control and visibility for your clients’ fulfillment and order data, you can start building with Fulfillment orders API or migrate existing app today.
The fulfillment experience is what makes a company’s success possible. It involves the millions of little things that go on behind the scenes to make sure that products reach their buyers in the most efficient way. Developers play an important role in ensuring fulfillment works as commerce becomes more complex.
Shopify and Shopify Partners are trusted by merchants and buyers to offer a transparent, accurate and consistent fulfillment solution that fits their business model. Apps can be used to fulfill the varied needs of merchants.
Although Fulfillment and Order resources were once a standard way to fulfill orders, they are no longer compatible with modern workflows. This prevents partners from having a more efficient and accurate way to fulfill orders. It also makes it difficult to control inventory and fulfillment.
We are committed to providing the best fulfillment experience in 2022. We’re moving Shopify to our Fulfillment orders API to allow you to model the fulfillment process in its sub-pieces. This will enable you to unlock new features such as local delivery & pick up, fulfillment holds, subscriptions , and many more.
We have created a guide to help you seamlessly move. Continue reading to get started on your journey to fulfillment.
Allow permissions to be updated
You will need additional permissions depending on whether you are creating a fulfillment service, order management app, or both.
App for Fulfillment Services
- Permissions for
write_assigned_fulfillment_orders. This will allow you to manage fulfillment orders that have been assigned to your location.
You will need an order management app
- Permissions for
merchant_managed_fulfillment_orders, allowing you to manage fulfillment orders assigned to merchant-managed locations. This is especially useful for merchants who manage inventory from multiple locations.
- Permissions for
third_party_fulfillment_ordersto manage third-party fulfillment orders on behalf of the merchant.
Tip Include these scopes when you grant permissions to your app in OAuth in order to allow for new installations.
For existing installations, request additional scopes
You can rest assured that merchants who use your app already have
create_fulfillments permissions. You can instead request granular access for each shop installation.
Test your app
It is important that your app functions correctly after you move to a new API. You can test Fulfillment Orders in a Dev Store to catch potential problems before you launch on production. This will save you the time and hassle of making multiple updates, while also ensuring that merchants have an enjoyable experience.
You can test your app’s functionality on a dev shop by creating test order with the “Bogus” gateway. These test orders can be fulfilled directly via the API using the updated Fulfillment Orders endpoints if your app is order management. Your development store can be used to request fulfillment through your fulfillment service via the Admin.
You can see the sample application to get an idea of what it could look like after being updated. It shows how fulfillment and order management are done before and following Fulfillment Orders.
These changes can help
Fulfillment Orders API models an end-to-end fulfillment cycle into sub-pieces. This allows fulfillment data to sync between Shopify and order management apps or 3PLs more accurately. Fulfillment Order API monitors fulfillment work throughout its lifecycle, which includes closed, in-progress, canceled, or incomplete. This allows merchants to have a more detailed and comprehensive view of their orders in Shopify.
Fulfillment orders include location data. Shopify will usually only show this information to merchants in Admin. This information is critical and helps to determine the best location for fulfilling an order.
With sales channels, accurately fulfill orders
What does this mean to your app? Your app will receive the most current information about the order status from a merchant selling products on a third party marketplace or sales channel. This will allow you to fulfill orders accurately and on time.
When fulfillment was requested, legacy fulfillment services used to automatically create pending fulfillments. This has caused problems for merchants who want to expand their business and capture orders through various sales channels. Merchants may not be able to fulfill orders right away in some cases. Instead, temporary holds are used until payment is successfully captured by the gateway.
Fulfillment Orders eliminates the need for apps to use webhooks to update fulfillment fields. Shopify will instead create fulfillments that are successful, replacing pending fulfillments for the fulfillment services when an order is fulfilled.
Inventory management across multiple locations
Fulfillment orders always accurately reflect the location where an item should arrive. Shopify allows variants to now be stock at merchant-managed locations as well as third-party locations.
Multi-location configurations mean that fulfillment_service on variants does not accurately represent the service that fulfills fulfillment. To determine definitively who is responsible to fulfill any order, your app must use the “assigned ID” from any open fulfillment orders.
And much more!
We are always looking for new ways to help partners like yours simplify the fulfillment process. We plan to add more inventory and fulfillment management features to our app partner platform in the future. This will make it easier for you to provide value to your merchants and buyers.
Fulfillment Orders is a great tool for delivering new features to your clients. We are excited about the possibilities for fulfillment partners. We’d love to hear about your experiences with Fulfillment Orders API and how Shopify can help you migrate existing apps to give your clients better control and visibility over their fulfillment and order data.
Shopify Order Fulfillment API Integration
Your application can use the Shopify order fulfillment API (Application Programming Interface), to manage order fulfillments. You can view, create, modify or delete orders’ fulfillments. A fulfillment order is a collection of items that will be fulfilled from the same place.
Applications that handle shipping-related actions such as tracking, delivery updates, and creating additional shipments, often use Shopify’s Order Fulfillment API.
Each fulfillment can support a single tracking number.
Nexus Software Systems was contacted by a client who is an automotive electronics company to integrate Shopify’s Order Fulfillment with their order tracking software. The ability to update the tracking numbers and shipping information on their Shopify store dynamically.
Software Development Challenge
To create a Shopify Order Fulfillment app that can communicate with the Shopify API for a single store, enable private app development. Credentials must be generated from the Shopify admin. The Shopify Order Fulfillment API endpoint that is most appropriate is identified and dynamically generated the order fulfillment payload based on the Tracking number, Shipping Carrier, and Order ID. The API response is parsed to get the desired results.
Software Development Strategy and Solution
Nexus Software Systems has a lot experience with Shopify APIs and was able quickly to create the functionality required to deliver the desired results. We evaluated the client’s requirements to see how their Shopify app would work with their existing system. To test the updating of shipping information, a sandboxed application was built. The shipping carrier was included, along with the tracking number. The API response was parsed. Viewing orders in the Shopify admin area confirmed that the shipping information had been successfully updated.
Nexus Software Systems’ work enabled the client to update Shopify store orders easily with tracking numbers. Customers are kept informed and happy that their order is being shipped. The Shopify private fulfillment app integrates seamlessly with the order fulfillment software. This makes it simple for them to update their Shopify orders’ shipping information, which saves them time and effort.