80% of the shoppers make buying decisions based on ship cost and delivery speed during pre-purchase. Fenix Delivery Experience Platform enables the retailers to offer a personalized delivery experience to their customers through the entire shopping journey from pre-purchase to post-purchase.
Pre-requisites before making API requests to Fenix Delivery Experience Platform
Carrier Information: Retailer should provide the current Carriers, the services opted, carrier account information, or rate cards ( any specific). In the case of fulfillment location-specific carrier accounts, kindly configure the carrier account information at a fulfillment location to get the most accurate rates. Global Credentials are always on priority
Fulfillment locations: Configure all the USA Fulfillment locations, including DC/Store in the Business Console
Lead Time (Time required to pick/pack/ship) for each fulfillment location after the order gets allocated
Shipment Pick-up times for each carrier or by carrier service.
Cut-off Time for the location
Holidays for the location
Inventory and Product: Various channels to share the inventory and product information to Fenix. Fenix's technical team helps you to choose the most appropriate method via SFTP/S3/Rest API
Integration varies from platform to platform. In the case of bigcommerce or Shopify Fenix team will install the private app in the checkout, then retailer-specific PDP, CART Rest API endpoints will be provided by the Fenix team.
Integration Architecture
...
Request & Response formats
All the request and response formats are accepted in application/JSON
Delivery Estimates Request
API | /fenixdelest/api/v2/deliveryestimates |
Method | POST |
Request Headers
|
|
Request body sample | { "buyerZipCode": "string", "sessionTrackId": "string", "orderId": "string", "cartId": "string", "pageType": "string", "monetaryValue": 0, "responseFormat": "string", "additionalProcessing": true, "customerTags": [ "string" ], "shippingInfo": { "carrier": "string", "service": { "method": "string", "name": "string" }, "shippingDate": "string", "trackId": "string" }, "skus": [{ "sku": "string", "category": "string", "digitalProduct": true, "itemType": "FREE", "leadTime": 0, "nonShip": true, "productName": "string", "quantity": 0, "dimensions": { "girth": 0, "height": 0, "length": 0, "thickness": 0, "units": "CM/IN", "width": 0 }, "skuInventories": [{ "locationId": "string", "quantity": 0 }], "weight": { "units": "LB", "value": 0 } }], "buyerAddress": { "name": "string", "state": "string", "zipcode": "string", "address1": "string", "address2": "string", "city": "string", "country": "string", "dealerAddress": true, "details": { "apoFpoAddress": true, "dealer": true, "dealerId": "string", "poAddress": true } } } |
Request Body Attribute Definitions
Attribute | Description |
sessionTrackId mandatory | "sessionTrackId":"123123-2323-1231-23123"
|
orderId
| "orderId": "123123123"
|
cartId | "cartId": "123123123"
|
buyerZipCode mandatory | "buyerZipCode" : "95129"
|
pageType mandatory | "pageType": "cop"
E.g., Show fastest EDD on PDP and show all EDD options on COP. PDP - Product Detail Page CART - CART page/shopping Bag page COP - Check out Page MC - Mini Cart CA - Cart Abandonment OC - Order Confirmation SC - Shipping Confirmation Send Values as part of a delivery estimate request |
moneytoryValue mandatory | "monetaryValue": 50.0
|
responseFormat mandatory | "responseFormat" : "json"
|
additionalProcessing | "additionalProcessing": true
|
customerTags | "customerTags": [ "USA", "Dealer" ]
|
shippingInfo | "shippingInfo": { "carrier": "string", "service": { "name": "string" "method": "string", }, "shippingDate": "string", "trackId": "Z12372y312923182u3821" } In case of subscriptions/recurring orders in your business, if you want to provide EDD after pick-pack-ship
|
skus mandatory | "skus": [{ "sku": "SKU-001", "category": "Mens|topwear", "digitalProduct": false, "itemType": "FREE", "leadTime": 0 , "nonShip": false, "productName": "Red T-shirt", "quantity": 1, "dimensions": { "girth": 3, "height": 3, "length": 3, "width": 0, "thickness": 6, "units": "CM/IN" }, "skuInventories": [{ "locationId": "Dc-01", "quantity": 1 }], "weight": { "units": "LB", "value": 0 } }]
|
buyerAddress | "buyerAddress": { "name": "Sharath Chandra", "address1": "5437", "address2": "castle", "city": " San Jose ", "state": "CA", "country": "USA", "zipcode": "95129", "dealerAddress": true, "details": { "dealer": true, "dealerId": "SFO-SJ-D001", "apoFpoAddress": true, "poAddress": true } }
|
Response Attribute Definitions
Delivery Estimates response vary from the type of rule configured in the business console.
Attribute | Description |
webId | "webId": "0194NCOS"
|
hours | "hours": "2" |
minutes | "minutes": "1"
|
carrier | "carrier": "fedex"
|
Response | "response": "Order within <span class=fenix-resp-span-time>2 hrs 1 mins</span><br>Get it by <span class=fenix-resp-span-date>Fri, May 21</span> with <span class=fenix-resp-span-shippingname>Federal Express </span>" E.g. Order within 2 hrs 1 mins Get it by Fri, May 21 with Federal Express ·
|
shippingCost | "shippingCost": {
|
shipperLocId | "shipperLocId": null,
|
buyerZipCode | "buyerZipCode": "10001"
|
shipperZipCode | "shipperZipCode": "10001",
|
shippingMethod | "shippingMethod": null,
|
shippingDateTime | "shippingDateTime": "19 May 2021, 19:00",
|
actualMethodDesc | "actualMethodDesc": "Fedex Ground" ,
|
shippingMethodCode | "shippingMethodCode": "Free Standard Delivery"
|
shippingMethodDesc | "shippingMethodDesc": "Free Standard Delivery"
|
ShippingDeliveryDate | "shippingDeliveryDate": "Wed, 26 May 2021" · The minimum delivery date that item will be delivered. In few cases this will be date range |
formattedDeliveryDate | "formattedDeliveryDate": "Wed, May 26" · The formatted delivery date to show it to end customer on various pages |
guaranteedDeliveryDate | "guaranteedDeliveryDate": "Wed, 26 May 2021" · The guaranteed delivery date provided by Fenix Commerce |
errorMessage | "errorMessage": null,
|
Packages | "packages": [{ "carrier": "DHL", "wrapperType": "DEFAULT", "shipperLocId": "manual", "shipperZipCode": "90058", "actualMethodDesc": "DHL SM Parcel Ground", "contents": { "0194NCOS": 100 } }]
The number of shippable packages information per service response basis
"SKU":quantity |
pickUpTimes
| "pickUpTimes": { · The configured pickup time of each shipping service method code "shipping service method code" : "Configured pickup time." |
The above request is a Fenix commerce master request with all the attributes the request body will change based on the retailer, such as inventory product feed integration.
PDP Integration Procedure
Precheck
Restrict the delivery estimates to only USA region and for only USA Customers
Don't make a delivery estimate call if the item is out of stock and other exceptional handling cases
...
Show fastest estimates at CART level
API | /fenixdelest/api/v2/deliveryestimates | ||
Request Headers
|
| ||
Request Body Sample:
| |||
Response Body Sample
|
CART and Checkout Page Integration Procedure
...
Show fastest estimates at CART level
API | /fenixdelest/api/v2/deliveryestimates | ||
Request Headers
|
| ||
Request Body Sample:
| |||
Response Body Sample
|
Checkout Page Request and Response
API | /fenixdelest/api/v2/deliveryestimates |
Method | POST |
Request Headers
|
|
Request Body
Code Block |
---|
{ "cartId": null, "orderId": "no-token", "sessionTrackId": "MTYxNzc2MTI0MzE5MS10b21ib3l4LmNvbS02OTQ1Mw==", "internalSessionUUID": "cf500124-a374-4095-abed-d570250174da", "pageType": "COP", "monetaryValue": 47.99, "buyerZipCode": "10001", "skus": [ { "sku": "ABC_2", "quantity": 1, "leadTime": 0, "weight": null, "category": null, "nonShip": false, "productName": null, "itemType": null, "dimensions": null, "digitalProduct": false, "skuInventories": [ { "locationId": "manual", "quantity": 1 } ] }, { "sku": "GSLV90", "quantity": 1, "leadTime": 0, "weight": null, "category": null, "nonShip": false, "productName": null, "itemType": null, "dimensions": null, "digitalProduct": false, "skuInventories": [ { "locationId": "westcost", "quantity": 1 } ] } ], "responseFormat": "json", "buyerAddress": null, "residentialAddress": false, "exceptionalTypes": null, "shopifyRequest": false, "platformType": null, "customerTags": null, "shippingInfo": null, "properties": null, "orderByThresholdTime": 0, "lookupFenixInventory": false, "surePostEnabled": false } |
...