If you’re a Shopify store owner, you may have either used or come across the concept of a webhook. If you're not already familiar with them, make sure to check out our "Ultimate Guide to Shopify Webhooks" for a great overview!
Using Order Webhooks for Your Shopify Store
In this article, we'll be diving into how you can use Shopify webhooks to receive updates regarding customers’ orders. Simply put, a webhook is a tool that allows events from your Shopify store to automatically trigger a corresponding notification to other applications, so that you (or an automatically working application) can be notified and act on the event.
Webhooks offer a plethora of benefits and can be a powerful way to optimize your Shopify store and business. For example, you may want to alter information about a customer or an order in an internal database, or you might need to send notifications to clients or inventory management/shipping companies. Using webhooks, you can streamline the way these activities are handled, saving you time and money.
What Are Order Webhooks?
In this article, we’ll be exploring the three order events available to Shopify Merchants:
- Order: This event involves the stages of a customer’s order, starting from when they place it on your Shopify store all the way to when the order has been completely fulfilled.
- OrderEdit: Unlike the “Order” event, this event deals specifically with any edit that a customer makes to their order after they’ve placed it, whether that be a change in variant or the addition/removal of a product.
- OrderTransaction: The last order-related event is related to the financial transaction which is created when a customer places an order.
Basically, when the events associated with the topics on the right occur, they trigger a webhook as long as the webhook subscription includes the event on the left.
As seen, the last two order events both have only one topic associated with them - the OrderEdit event has an orders/edited topic, and the JSON file included in the webhook will contain a list of product, discounts, and shipping lines’ additions and removals. Similarly, the OrderTransaction event links to an order_transactions/create topic, and the corresponding webhook will contain the financial payment details which were involved in the transaction.
The first order event (Order) has a few more topics to deal with:
- orders/cancelled includes the time of cancellation and the source (the customer’s decision or a payment/transactional issue.
- orders/create includes the time of creation, or “null” when dealing with an update.
- orders/fulfilled includes the fulfillable quantity, that is, the number of items from the customer’s order that can be fulfilled, as well the status of fulfillment.
- orders/paid includes the time of payment and transaction details.
- orders/partially_fulfilled includes the fulfillment status, as well as details surrounding where the product is in the shipping process.
- orders/updated includes the time at which the update occurred and the changes in the particulars of the order (either showing a change or “null”).
There’s also orders/delete, which concerns the removal of an order. The webhook will send data about the refunded payment, the customer’s profile information, and the reason for the deletion.
Here’s a sample webhook sent when one of the events listed at the top occurs. In this case, the event triggering the webhook appears to be an updated order (orders/updated). As seen, it consists of a JSON file with more information about the event, such as the time, the id/contact information of the customer, and the specifications of the change or update in the order. All of this information above is sent to the established endpoint, so that the app can see the data and act on it by performing an automated task or by notifying you.
Getting Started with Webhooks
The first thing to do is to subscribe to the webhook topic with data you’re interested in retrieving and to make sure that everything’s running smoothly. To do this, click here to see Shopify’s step-by-step guide on how to set up a webhook subscription, register an endpoint, and make sure you can receive, respond to, and verify a webhook. You should also take a look at your app to see if there are any webhooks that are essential in order for the app to function properly, and if there are any bugs or tweaks to be made on that end before the entire process is fully operational.
How Shypyard Can Help You
Also, if you need assistance with integrating webhooks to any of the apps you’re using to run your business, whether they have a built-in method to integrate with webhooks or not, we highly recommend shypyard.io. Shypyard specializes in creating custom integrations between Shopify and various apps that help people run their businesses, including accounting software, fulfillment, analytics, and more. For more information about our integrations and what we do, click here, and don’t hesitate to contact us for a free demo of our services. Thanks!