Learn about the technical details of the data flows that our integration with Shopify facilitate.
This article focuses on data flows and more technical details. If you'd prefer a higher-level explanation, please read the introduction to our Shopify integration.
How it works
Our integration leverages Shopify API and webhook capabilities to automate data flows between Shopify and the ReBound APIs.
This article outlines these data flows and explains in more technical detail how each works.
Real time order sync
When an order gets fulfilled in your Shopify store, the integration will push it to ReBound. If an order is composed of multiple fulfilments, the entire order is synced once the last fulfillment is completed.
Our integration subscribes to Shopify's webhooks, specifically to the orders/fulfilled topic. This is automatically handled by our integration when you install it in your store for the first time.
When an order is fulfilled, a webhook notification to our integration is triggered by Shopify.
Upon receiving the notification, our app will retrieve required data through the Shopify Admin API. This includes the order reference, the consumer's address and full data for the products that were part of the order.
The diagram below illustrates this process flow for an order with two fulfillments:
Real time return sync
Once an order is synced to ReBound, it can be found and returned by consumers in our returns portal. Our consumer portal is enjoyed by our client's customers and optimized for our platform. Still, some merchants prefer using their own in-house or a third party portal. This is also possible, as long as that portal uses our headless API in the back-end.
When registering the return, consumers can find an order, select which items they wish to return, update their contact data, choose a carrier option, make a payment (if applicable) and obtain their return label or QR code.
Once the return is created, a ReBound webhook notification will be triggered to the integration, which will update the original order in Shopify. Namely, it will:
- Create a return with the expected items (i.e., the products that the consumer selected for the return).
- Create a reverse delivery with the return tracking number (generated by the carrier).
This is all done through the Shopify Admin API.
The diagram below illustrates this process flow:
This is an example of a return created in a test (development) Shopify store: