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 | api/v1/{identifier-name}/track-status?tracking_number=123¬ification_id=undefined |
Method | GET |
Params (query/path) | PathVariable: Identifier-name RequestParam: tracking_number order_number notification_id |
Headers | |
Request Payload | |
Response Payload | { "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, "price": { "currency": "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", "refunded_item": false, "refunded_quantity": 0, "requires_shipping": true }, { "sku": "111249", "quantity": 1, "price": { "currency": "USD", "value": 70.8 }, "name": "daily microfoliant exfoliator - 2.6 oz", "title": "daily microfoliant exfoliator", "variantId": "123", "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, "edd_source": "CARRIER_EXPECTED" } |
Response Status | 200 - Success 400 – Failure 401 - Un-Authentication |
Track Status API Components | |
identifier-name | Unique Name For Retailer |
notification_id | We identify the notification from where the tracking page got triggered using notification_id. |
important_updates | Message which retailer wants to display in the tracking page. |
edd_info | Contains information regarding
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. { "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.
|
order_info | Contains Order related information such as { "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:
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.
|
item_count | Refers to whether Single or MultiShipment package. { "total_ordered": 3, "total_filled": 2, "current_packaged": 2 }
Note : 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.
Note: If ‘false’ then product recommendations section will be hidden. |
page_by_ordernumber | Whether to trigger tracking page api by providing order_number.
|
order_status_url | |
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 | [ { "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 | { "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", "routing_url": "https://www.store-us.com/products/double-cleanse-full-size-kit", "refunded_item": false, "refunded_quantity": 0, "requires_shipping": 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", "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 } ] }, "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", "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 { "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 [ { "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" } ] } ]
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 | { "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 | { "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 | { "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 | { "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 | { "subscription_id": "72cef79c-43c1-45b1-920e-0969cbff737b" } |
Response Status | 200 - Success 400 – Failure 401 - Un-Authentication |