# Data flow sequence
The following flows represent typical interactions between a Merchant, e-Commerce platform, Carrier, and Shippo.
Use these flows to understand how to design your Shippo integration.
These flows show the flow of data between Shippo and a platform partner using the Shippo API.
note
Dashed lines show dependencies. For example, before the Shippo API can `Return available shipping rates` to the E-commerce Platform, the E-commerce Platform must `Request shipping rate`.
## Label purchase flow
```mermaid
%%{init: {'theme': 'neutral', 'width': '100%'}}%%
sequenceDiagram
participant E-commerce Platform as E-commerce
Platform
participant Merchant Dashboard as Merchant
Dashboard
participant Shippo API as Shippo
API
participant Shipping Carrier as Shipping
Carrier
participant Customer Email/SMS as Customer
Email/SMS
participant Customer Account Portal as Customer
Account
Portal
Note left of E-commerce Platform: E-commerce
Checkout &
Label Purchase
E-commerce Platform ->> Shippo API: Request shipping rates
(Shipments Endpoint)
Shippo API ->> E-commerce Platform: Return available
shipping rates
E-commerce Platform ->> Shippo API: Purchase selected
shipping label
(Transactions Endpoint)
Shippo API -->> E-commerce Platform: Return shipping label
& tracking number
via Webhook
Note left of E-commerce Platform: Provide Tracking
to Merchant
E-commerce Platform -->> Merchant Dashboard: Display
tracking
number in
dashboard
Merchant Dashboard ->> Shippo API: Manual lookup
for shipment
status (optional)
(Tracking Endpoint)
Shippo API -->> Merchant Dashboard: Return shipment
status
E-commerce Platform -->> Merchant Dashboard: Display
automated
shipment
updates
(optional)
Note left of E-commerce Platform: Notify Customer
E-commerce Platform ->> Customer Email/SMS: Send tracking number
& link via Email/SMS
E-commerce Platform ->> Customer Account Portal: Update tracking number
& link in account portal
Note left of E-commerce Platform: Customer Tracking
Customer Email/SMS -->> Shipping Carrier: Redirect
customer
to carrier's
tracking page
(via link)
Customer Account Portal -->> Shipping Carrier: Redirect customer
to carrier's
tracking page
(via link)
Note left of E-commerce Platform: Real-time Status
& Handling
Exceptions
Shipping Carrier ->> Shippo API: Update shipment
status in real-time
Shippo API ->> E-commerce Platform: Push real-time
status updates
E-commerce Platform ->> Merchant Dashboard: Display
status &
alerts on
exceptions
(e.g., delivery failed)
E-commerce Platform ->> Customer Email/SMS: Send status updates
or exception alerts
(optional)
Merchant Dashboard ->> Shipping Carrier: Contact for
resolution on exceptions
(if needed)
```
## Instalabel single call label purchase flow
The following flow includes the purchase of a label using the Shippo [Instalabel](/docs/guides_general/single_call) single call label generation.
```mermaid
%%{init: {'theme':'neutral', 'width': '100%'}}%%
sequenceDiagram
participant E-commerce Platform as E-commerce
Platform
participant Merchant Dashboard as Merchant
Dashboard
participant Shippo API as Shippo
API
participant Shipping Carrier as Shipping
Carrier
participant Customer Email/SMS as Customer
Email/SMS
participant Customer Account Portal as Customer
Account
Portal
Note left of E-commerce Platform: E-commerce
Checkout &
Label Purchase
E-commerce Platform ->> Shippo API: Purchase
selected
shipping label
(Transactions Endpoint)
Shippo API -->> E-commerce Platform: Return shipping
label & tracking number
via Webhook
Note left of E-commerce Platform: Provide Tracking
to Merchant
E-commerce Platform -->> Merchant Dashboard : Display
tracking
number in
dashboard
Merchant Dashboard ->> Shippo API: Manual lookup
for shipment
status
(optional)
(Tracking Endpoint)
Shippo API -->> Merchant Dashboard: Return shipment status
E-commerce Platform -->> Merchant Dashboard : Display
automated
shipment
updates
(optional)
Note left of E-commerce Platform: Notify Customer
E-commerce Platform ->> Customer Email/SMS: Send tracking number
& link via Email/SMS
E-commerce Platform ->> Customer Account Portal: Update tracking number
& link in account portal
Note left of E-commerce Platform: Customer Tracking
Customer Email/SMS -->> Shipping Carrier: Redirect
customer
to carrier's
tracking page
(via link)
Customer Account Portal -->> Shipping Carrier: Redirect
customer
to carrier's
tracking page
(via link)
Note left of E-commerce Platform: Real-time
Status
& Handling
Exceptions
Shipping Carrier ->> Shippo API: Update
shipment
status in
real-time
Shippo API ->> E-commerce Platform: Push real-time status updates
E-commerce Platform ->> Merchant Dashboard: Display
status
& alerts on
exceptions
(e.g., delivery failed)
E-commerce Platform ->> Customer Email/SMS: Send status
updates or
exception alerts
(optional)
Merchant Dashboard ->> Shipping Carrier: Contact for
resolution on exceptions
(if needed)
```