Introduction
In the post-pandemic era, engaging with customers after the sale is more crucial to eCommerce business success than ever before. A personalized post-purchase experience is a key differentiator that retailers and DTC businesses need in order to transform today’s buyers into repeat customers.
FenixCommerce’s post-purchase platform allows eCommerce businesses to provide on-brand after sale customer experiences that build trust and rapport, reduce WISMO calls, and drive customer incremental value.
FenixCommerce Branded Tracking Pages
With Fenix, you can create awesome Branded Tracking Pages customized with your brand logo and theme to enable customers to track their shipments in real-time.
Fenix Branded Tracking Page Sections
Fenix Branded Tracking page consists of the following sections:
...
Section 1: Delivery Status
Section 2: Important Updates
Section 3: Track Event History
Section 4: Order Line Items in the Package
Section 5: Digital Assets (2-Vertical images)
Section 6: Promotional Videos & Digital Assets (1-Horizontal image)
Section 7: Product Recommendations
Section 8: Multi-Shipment View
Section 9: Feedback Rating & Comments
Section 10: Delivery status updates subscription
Section 11: Headers & Footers
...
Section 1: Delivery Status
...
The Delivery Status section depends on TrackingStatus API Response.
This section consists of:
Progress Bar Menu
Progress Bar menu names come from the selected_shipment_activities list. Progress Bar menu names can be configured as per your needs. The bar moves by considering a concise info list.
Delivery Date (delivery_date field from edd_info object)
Delivery Status (latest event from concise info list)
Order Number and Placed on date ( from order_info)
Tracking Number (taking from tracking_number field)
Section 2: Important Updates
...
Important updates: Considering the important_updates field from TrackingStatus API Response.
It's easily configurable from the backend.
Section 3: Track Event History
...
Tracking page API response provides the track events.
We are considering events from the shipment_activities list.
Section 4: Order Line Items in the Package
...
Fenix will enable the boolean flag display_line_items from the backend configuration if you want to display the order line items on the tracking page
We are considering line items from line_items list from the TrackingStatus API Response.
Section 5: Digital Assets (2-Vertical images)
...
Fenix UI team will integrate the Digital Assets (2-Vertical images) that you provide. It's a static configuration.
Section 6: Promotional Video & Digital Assets (1-Horizontal image)
...
Fenix UI team will integrate the Promotional video (Youtube) & Digital Asset (1-Horizontal image) that you provide. It's a static configuration.
Section 7: Product Recommendations
...
RecommendedProducts API response provides the recommended product information.
Fenix team uses Shopify Algorithm to display recommended products.
Fenix team will enable the boolean flag display_recommended_products from the backend configuration if you want to showcase the recommended products on the tracking page.
Note: If you have your own Algorithm or Recommendation engine to retrieve recommended products, you can utilize it to show recommended products.
Section 8: Multi-Shipment View
...
Fenix provides flexibility to track different shipments of the same order through the multi-shipments view.
MultiShipment View API Response API provides multi-shipments information.
See Full Order link is enabled only if the order contains multiple shipments.
Section 9: Feedback Rating & Comments
...
We are capturing Feedback Ratings and Comments provided by shoppers through Feedback API.
We will store this information in the Fenix data warehouse.
Section 10: Delivery Status updates subscription
...
To get the subscriptions from the shoppers either via email id or phone number to get automatic notifications on different shipment status from fenix.
Currently, Fenix supports two channels for sending delivery status notifications to subscribers:
Email
SMS
Section 11: Headers & Footers
...
Fenix UI team will integrate the Headers & Footers that you provide.
Track Status API Details:
Section 1, Section 2, Section 3, and Section 4 can be populated by using Track Status API Response.
Resource Name | getTrackHistory |
Resource URL | BTP by Tracking Number: api/v1/{identifier-name}/track-status?tracking_number=1Zu98dw9dxn¬ification_id=undefined
BTP by Order Number: api/v1/{identifier-name}/track-status?order_number= |
123CYO178t8cd¬ification_id=undefined |
Method | GET |
Params (query/path) | PathVariable: Identifier-name RequestParam: tracking_number order_number notification_id Note: |
Headers | |
Request Payload | |
Response Payload | Code Block |
---|
| {
"fenixShipping": true,
"tracking_number": "123",
"carrier_name": "UPS",
"important_updates": "Please note that carrier delays can occur due to weather or COVID-19. Many carrier hubs have had to adjust to ensure the health + safety of their employees and it may impact transit times. Please reach out to <a href =\"https://www.yourstore.com/pages/contact-us\">yourstore.com</a> with any questions you have about your order.",
"display_emoji": false,
"fulfillment_status": "PARTIALLY_FILLED",
"emoji_on": null,
"edd_info": {
"delivery_date": "Friday, September 09 2022",
"promised_date": "Monday, September 12 2022",
"delivery_message": "Yay, it\"s early...",
"expected_shipment_date": "Wednesday, September 07 2022",
"split_delivery_date": {
"day": "Friday",
"month": "September",
"date": "09",
"year": "2022"
},
"header_name": "Expected Delivery Date"
},
|
|
"display_order_info": true,
"order_info": {
"number": "AAA",
"placed_dtm": "2022-09-07T10:55:11-05:00",
"formatted_dttm": "Wednesday, September 07 2022"
},
"concise_infos": [
{
"description": "SHIPPED",
"event_date": "Wednesday, September 07 2022",
"event_code": "SH",
"event_message": "Order Confirmed"
},
{
"description": "PICKED",
"event_date": "Wednesday, September 07 2022",
"event_code": "PU",
"event_message": "Left Warehouse"
}
],
"order_status_url": "https://bombas.com/11195850/orders/039e8db6b55a95f50e877bd132294d6e/authenticate?key=5ef056b7832752052aebe458a4ac18df",
"shipment_activities": [
{
"day": "Sep 07, 2022",
"time": "12:09 PM",
"desc": "Shipper created a label, UPS has not received the package yet.",
"address": {
"first_name": null,
"last_name": null,
"name": null,
"company": null,
"address1": null,
"address2": null,
"country": "US",
"country_code": "US",
"province": null,
"province_code": null,
"city": null,
"zip_code": null,
"latitude": null,
"longitude": null,
|
|
}, "zipcode_populate_code": null
|
|
" },
"event_code": "MP",
"fenix_code": "IT",
"offset": null
},
{
"day": "Sep 07, 2022",
"time": "06:43 PM",
"offset": null,
"desc": "Origin Scan",
"address": {
"first_name": null,
"last_name": null,
"name": null,
"company": null,
"address1": null,
"address2": null,
"country": "US",
"country_code": "US",
"province": "FL",
"province_code": "FL",
"city": "Orlando",
"zip_code": null,
"latitude": null,
"longitude": null,
"zipcode_populate_code": null
},
"event_code": "OR",
"fenix_code": "IT"
},
{
"day": "Sep 08, 2022",
"time": "12:49 PM",
"offset": null,
"desc": "Received by the local post office",
"address": {
"first_name": null,
"last_name": null,
"name": null,
"company": null,
"address1": null,
"address2": null,
"country": null,
"country_code": null,
"province": null,
"province_code": null,
"city": null,
"zip_code": null,
"latitude": null,
"longitude": null,
|
|
}, "zipcode_populate_code": null
},
"event_code": "YH",
"fenix_code": "IT"
}
],
"recent_shipment_info": {
"day": "Sep 08, 2022",
"time": "12:49 PM",
"offset": null,
"desc": "Received by the local post office",
"address": {
"first_name": null,
"last_name": null,
"name": null,
"company": null,
"address1": null,
"address2": null,
"country": null,
"country_code": null,
"province": null,
"province_code": null,
"city": null,
"zip_code": null,
"latitude": null,
"longitude": null,
"zipcode_populate_code": null
},
"event_code": "YH",
"fenix_code": "IT"
},
"selected_shipment_activities": [
{
"event_code": "SH",
"display_message": "Order Confirmed"
},
{
"event_code": "PU",
"display_message": "Left Warehouse"
},
{
"event_code": "OFD",
"display_message": "Out for delivery"
},
{
"event_code": "DL",
"display_message": "Delivered"
}
],
"line_items": [
{
"sku": "101102",
"quantity": 1,
" |
|
name"specialcleansinggel-travel-1.7oz", title"special "USD",
"value": 60.8
},
"name": "special cleansing gel - travel - 1.7 oz",
"title": "special cleansing gel - travel",
"variantId": "123",
"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/specialcleansinggel_1.7oz_98dee553-f068-43c8-a94b-5cb93e84d0c1.jpg?v=164764199788",
"product_id": "123",
"routing_url": "https://www.yourstore.com/products/special-cleansing-gel-travel",
|
|
},{
"sku"111249" quantity1, "name":"dailymicrofoliantexfoliator-2.6oz",titledaily microfoliant exfoliatorvariantId"123"image_url "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/daily-microfoliant_main-with-benefits.jpg?v=16600853368",product_id123routing_url"https://www.yourstore.com/products/daily-microfoliant"
}]"display_lineitems":true,item_count{"daily microfoliant exfoliator - 2.6 oz",
|
|
"total_ordered": 3,total_filled 2, "daily microfoliant exfoliator",
" |
|
current_packaged2},remaning_days_to_delivery_info": "Your Order is Going to Deliver Today"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/daily-microfoliant_main-with-benefits.jpg?v=16600853368",
"product_id": "123",
"routing_url": "https://www.yourstore.com/products/daily-microfoliant",
"refunded_item": false,
"refunded_quantity": 0,
"requires_shipping": true
}
],
"display_lineitems": true,
"item_count": {
"total_ordered": 3,
"total_filled": 2,
"current_packaged": 2
},
"remaning_days_to_delivery_info": "Your Order is Going to Deliver Today",
"display_recommended_products": true,
"order_status_url": "https://bombas.com/11195850/orders/039e8db6b55a95f50e877bd132294d6e/authenticate?key=5ef056b7832752052aebe458a4ac18df",
"page_by_ordernumber": true,
"split_shipment": true,
"subscribed_for_delivery_notifications": false,
" |
|
display_recommended_products": trueedd_source": "CARRIER_EXPECTED"
} |
|
Response Status | 200 - Success 400 – Failure 401 - Un-Authentication |
Track Status API Components |
identifier-name |
Unique Name For Retailer | notification_idUnique Name For Retailer |
notification_id | It identifies the source channel through which shoppers route to branded tracking page. It’s provide us with which channels or notifications drive us more BTP open rates. |
Tracking Number (or) Order Number | Fenix BTP serves ether by tracking number or order number. In the order confirmation emails, put the tracking page link with order number(by that time, no tracking number is available). However, in the shipment confirmation and respected shipment status email put the tracking page link with tracking number specific to that shipment. |
important_updates | Message which retailer wants to display in the tracking page. |
edd_info | Contains information regarding Delivery date Delivery message Split delivery date Header name
Note : Header name refers to whether the delivery date is the promised delivery date which is shown in checkout page or expected delivery date which is provided by the carrier after pickup or delivery date on package delivered to customer. Code Block |
---|
{
"delivery_date": "Friday, September 09 2022",
"promised_date": "Monday, September 12 2022",
"delivery_message": "Yay, it\"s early...",
"expected_shipment_date": "Wednesday, September 07 2022",
"split_delivery_date": {
"day": "Friday",
"month": "September",
"date": "09",
"year": "2022"
},
"header_name": "Expected Delivery Date"
} |
|
display_order_info | Refers to whether to display order details(refer to order_info field) on the page or not. true : display false : not to display
|
order_info | Contains Order related information such as Code Block |
---|
{
"number": "AAA",
"placed_dtm": "2022-09-07T10:55:11-05:00",
"formatted_dttm": "Wednesday, September 07 2022"
} |
|
concise_infos | Moves the progress bar to the latest status (event). Events that Fenix can track are: Order Confirmed
Shipment Confirmed
Ready To Ship
Shipment Cancelled
Left Warehouse
Shipment Exception
Intransit
Out for delivery
Delivery Exception
Return To Sender
Returned To Sender
Delivered
Depending on the last tracked event, Fenix shows only 4 events in the progress bar. For more details refer here. |
shipment_activities | To display Shipment Track Event History. |
recent_shipment_info | Latest Track Event info which we will show in Latest update in Delivery Status section. |
selected_shipment_activities | To build the complete progress bar section with stoppers. |
line_items | Contains all the product details which are part of order or shipments. We will display line items information in Section 4. |
display_lineitems | Refers to whether to display order line items on the tracking page or not. true : display false : not to display
|
item_count |
Refer to whether to display a multi shipment section or notRefers to whether Single or MultiShipment package. Code Block |
---|
{
"total_ordered": 3,
"total_filled": 2,
"current_packaged": 2
} |
|
in the current package.Note : Based on total ordered and current packaged count “See full Order” will be displayed if order has multiple shipmentsNote : If totalordered Count equals to currentPackaged then split_shipment flag will disable otherwise flag will be enable. |
split_shipment | Refers to whether to display a multi shipment section or not. |
display_recommended_products | Refers to whether to call Recommended products API or not. true : call API false : not call API
Note: If ‘false’ then product |
recommendations section will be hidden.recommendations section will be hidden. |
page_by_ordernumber | Whether to trigger tracking page api by providing order_number. |
subscribed_for_delivery_notifications | Refers to whether to display Subscription section or not. |
RecommendedProducts API Details
Using RecommendedProducts API, Section 7 will be populated.
Fenix completely relies on Shopify Recommended Product API to get and display recommended products.
Resource Name | getRecommendations |
Resource URL | /api/v3/{identifier-name}/recommended_products?tracking_number=123 |
Method | GET |
Params (query/path) | PathVariable: Identifier-name RequestParam: tracking_number order_number |
Headers | |
Request Payload | |
Response Payload | Code Block |
---|
[
{
"id": 5710551744664,
"imageUrl": "//cdn.shopify.com/s/files/1/0420/7683/1896/products/special-cleansing-gel_main-with-benefits.jpg?v=1661814662",
"productName": "special cleansing gel",
"productUrl": "store-us.myshopify.com/products/special-cleansing-gel?pr_prod_strat=copurchase&pr_rec_id=56bc14926&pr_rec_pid=5710551744664&pr_ref_pid=5710539751576&pr_seq=uniformm",
"title": "special cleansing gel",
"price": "$12.00 - $64.00",
"vendor": "store-us",
"type": "cleansers",
"variants": [
{
"id": 36070283280536,
"title": "1.7 oz",
"sku": "101102"
},
{
"id": 36070283215000,
"title": "8.4 oz",
"sku": "101104"
},
{
"id": 36070283247768,
"title": "16.9 oz",
"sku": "101106"
}
]
},
{
"id": 5710542471320,
"imageUrl": "//cdn.shopify.com/s/files/1/0420/7683/1896/products/ultracalming-cleanser_main-with-benefits.jpg?v=123",
"productName": "ultracalming cleanser",
"productUrl": "store-us.myshopify.com/products/ultracalming-cleanser?pr_prod_strat=description&pr_rec_id=56bc14926&pr_rec_pid=5710542471320&pr_ref_pid=5710539751576&pr_seq=uniform",
"title": "ultracalming cleanser",
"price": "$39.50 - $64.00",
"vendor": "store-us",
"type": "cleansers",
"variants": [
{
"id": 123,
"title": "8.4 oz",
"sku": "110541"
},
{
"id": 123,
"title": "16.9 oz",
"sku": "110542"
}
]
}
] |
|
Response Status | 200 - Success 400 – Failure 401 - Un-Authentication |
Multi-Shipment Visibility API Details
Using the Multi-Shipment Visibility API, Section 8 data will be populated.
Resource Name | getTrackHistory |
Resource URL | api/v2/{identifier-name}/track-status?order_number=AAA&place_dttm=2022-07-19T14:16:04-05:00 |
Method | GET |
Params (query/path) | PathVariable: Identifier-name RequestParam: place_dttm order_number |
Headers | |
Request Payload | |
Response Payload | Code Block |
---|
| {
"order_summary": {
"number": "AAA",
"placed_date": "Wednesday, September 07 2022",
"promised_date": "Monday, September 12 2022",
"split_delivery_date": {
"day": "Monday",
"month": "September",
"date": "12",
"year": "2022"
},
"total_item_quantity": 3,
"total_filled_item_quantity": 2,
"line_items": [
{
"sku": "456",
"quantity": 1,
"name": "double cleanse full size kit - each",
"title": "double cleanse full size kit",
"variantId": "41694522802328",
"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/double-cleanse-set_carton-front.jpg?v=1653587001",
"product_id |
|
": "7255087710360"": "7255087710360",
"routing_url": "https://www.store-us.com/products/double-cleanse-full-size-kit",
"refunded_item": false,
"refunded_quantity": 0,
|
|
routingurl"https://www.store-us.com/products/double-cleanse-full-size-kit"true
},
{
"sku": "123",
"quantity": 1,
"name": "special cleansing gel - travel - 1.7 oz",
"title": "special cleansing gel - travel",
"variantId": "11123",
"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/specialcleansinggel_1.7oz_98dee553-f068-43c8-a94b-5cb93e84d0c1.jpg?v=164",
"product_id": "5710539751576",
"routing_url": "https://www.store-us.com/products/special |
|
-cleansing-gel-travel"-cleansing-gel-travel",
"refunded_item": false,
"refunded_quantity": 0,
"requires_shipping": true
},
{
"sku": "232",
"quantity": 1,
"name": "daily microfoliant exfoliator - 2.6 oz",
"title": "daily microfoliant exfoliator",
"variantId": "126",
"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/daily-microfoliant_main-with-benefits.jpg?v=166",
"product_id": "5710551548056",
"routing_url" |
|
, : "https://www.store-us.com/products/daily-microfoliant",
"refunded_item": false,
"refunded_quantity": 0,
" |
|
routingurl"https://www.store-us.com/products/daily-microfoliant"true
}
]
},
"shipment_summaries": [
{
"edd_info": {
"delivery_date": "Friday, September 09 2022",
"promised_date": "Monday, September 12 2022",
"delivery_message": "Yay, it\"s early...",
"expected_shipment_date": "Wednesday, September 07 2022",
"split_delivery_date": {
"day": "Friday",
"month": "September",
"date": "09",
"year": "2022"
},
"header_name": "Expected Delivery Date"
},
"tracking_number": "123",
"carrier_name": "UPS",
"event_message": "Left Warehouse",
"item_quantity": 2,
"line_items": [
{
"sku": "123",
"quantity": 1,
"name": "special cleansing gel - travel - 1.7 oz",
"title": "special cleansing gel - travel",
"variantId": "11123",
"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/specialcleansinggel_1.7oz_98dee553-f068-43c8-a94b-5cb93e84d0c1.jpg?v=164",
"product_id": "5710539751576",
"routing_url": "https://www.store-us.com/ |
|
products/special-cleansing-gel-travel"products/special-cleansing-gel-travel",
"refunded_item": false,
"refunded_quantity": 0,
"requires_shipping": true
},
{
"sku": "232",
"quantity": 1,
"name": "daily microfoliant exfoliator - 2.6 oz",
"title": "daily microfoliant exfoliator",
"variantId": "126",
"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/daily-microfoliant_main-with-benefits.jpg?v=166",
"product_id": "5710551548056",
"routing_url": "https://www.store-us.com/products/daily-microfoliant",
"refunded_item": false,
"refunded_quantity": 0,
"requires_shipping": true
}
]
}
]
} |
|
Response Status | 200 - Success 400 – Failure 401 - Un-Authentication |
Multi Shipment Status API Components |
place_dttm | This is the date when order was placed. |
order_summary | Contains order related information such as Code Block |
---|
{
"number": "AAA",
"placed_date": "Wednesday, September 07 2022",
"promised_date": "Monday, September 12 2022",
"split_delivery_date": {
"day": "Monday",
"month": "September",
"date": "12",
"year": "2022"
},
"total_item_quantity": 3,
"total_filled_item_quantity": 2,
"line_items": [
{
"sku": "456",
"quantity": 1,
"name": "double cleanse full size kit - each",
"title": "double cleanse full size kit",
"variantId": "41694522802328",
"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/double-cleanse-set_carton-front.jpg?v=1653587001",
"product_id": "7255087710360",
"routing_url": "https://www.store-us.com/products/double-cleanse-full-size-kit"
}
]
} |
Note : If there is discrepancy between total_filled_item_quantity and total_item_quantity then we will display remaining items as unshipped items. |
shipment_summaries | Contains list of shipments. Each shipments contains information such as [ Code Block |
---|
{
"edd_info": {
"delivery_date": "Friday, September 09 2022",
"promised_date": "Monday, September 12 2022",
"delivery_message": "Yay, it\"s early...",
"expected_shipment_date": "Wednesday, September 07 2022",
"split_delivery_date": {
"day": "Friday",
"month": "September",
"date": "09",
"year": "2022"
},
"header_name": "Expected Delivery Date"
},
"tracking_number": "123",
"carrier_name": "UPS",
"event_message": "Left Warehouse",
"item_quantity": 2,
"line_items": [
{
"sku": "123",
"quantity": 1,
"name": "special cleansing gel - travel - 1.7 oz",
"title": "special cleansing gel - travel",
"variantId": "11123",
"image_url": "https://cdn.shopify.com/s/files/1/0420/7683/1896/products/specialcleansinggel_1.7oz_98dee553-f068-43c8-a94b-5cb93e84d0c1.jpg?v=164",
"product_id": "5710539751576",
"routing_url": "https://www.store-us.com/products/special-cleansing-gel-travel"
}
]
} |
] edd_info: basic delivery info event_message: Status of specific shipment. line_items: Contains all the product details which are part of specific shipment.
Note : If shipment contains tracking_number then we can track the shipment from the current page, otherwise we will display No Tracking Details Found message. |
Feedback API Details
Using the Feedback API, Section 9 data will be populated.
Resource Name | createTrackingPageFeedback |
Resource URL | api/v1/tracking-page-feedback |
Method | POST |
Params (query/path) | |
Headers | |
Request Payload | Code Block |
---|
| {
"comment": "excellent",
"tracking_number": "123",
"rating_value": 5,
"identifier_name": "storename"
} |
|
Response Payload | |
Response Status | 200 - Success 400 – Failure 401 - Un-Authentication |
Delivery Status Subscription API
Using Delivery Status Subscription API, Section 10 will be populated.
Email Subscription
Resource Name | subscribeForEmail |
Resource URL | api/v1/btp/{identifier-name}/trackevent-notification/email-subscription |
Method | POST |
Params (query/path) | PathVariable: Identifier-name |
Headers | |
Request Payload | Code Block |
---|
| {
"channel_type": "EMAIL",
"channel_hub_id": "30685b53-95c8-4f20-ad9c-b2f0526c7b4b",
"tracking_number": "123",
"track_events": [
"OUT_FOR_DELIVERY",
"DELIVERED",
"PICKED_UP_BY_CARRIER",
"GENERIC"
],
"email_id": "abc@gmail.com"
} |
|
Response Payload | Code Block |
---|
| {
"subscription_id": "72cef79c-43c1-45b1-920e-0969cbff737b"
} |
|
Response Status | 200 - Success 400 – Failure 401 - Un-Authentication |
SMS Subscription
Resource Name | subscribeForSMS |
Resource URL | api/v1/btp/{identifier-name}/trackevent-notification/sms-subscription |
Method | POST |
Params (query/path) | PathVariable: Identifier-name |
Headers | |
Request Payload | Code Block |
---|
| {
"channel_type": "SMS",
"channel_hub_id": "30685b53-95c8-4f20-ad9c-b2f0526c7b4b",
"tracking_number": "123",
"track_events": [
"OUT_FOR_DELIVERY",
"DELIVERED",
"PICKED_UP_BY_CARRIER",
"GENERIC"
],
"phone_number": "98684002210"
} |
|
Response Payload | Code Block |
---|
| {
"subscription_id": "72cef79c-43c1-45b1-920e-0969cbff737b"
} |
|
Response Status | 200 - Success 400 – Failure 401 - Un-Authentication |