1. Home
  2. Docs
  3. B2Ccommerce
  4. Delivery Dates
Live Chat

B2C Commerce Estimated Delivery Dates

Provide estimated delivery dates in checkout process providing actual dates for delivery, not ranges.
Supports both SFRA and SiteGenesis


1

Install the Zenkraft Cartridge

Zenkraft supports both SiteGenesis and SFRA. Our live documentation is in SFRA but please contact us for SiteGenesis documentation.

Still using SiteGenesis? Please contact us for the documentation

Assign Cartridges

In order to use the int_zenkraft_sfra cartridge, it needs to be assigned to your site through Administration -> Sites -> Manage Sites -> Your Site -> Settings tab. Add the cartridge to the left of your base cartridge because there are several methods and models that are extending via the Zenkraft cartridge.

2

Configure the Cartridge

Import Metadata.

In order to function correctly, there are several imports that need to be done. All of these imports can be found in the metadata folder of the integration.

zenkraft-sys-object-import.xml - This contains all of the system object definitions and custom site preference definitions, as well as a custom object definition for Shipment Notifications. Import it at Administration -> Site Development -> Import & Export -> Meta Data Import

zenkraft-dropoff-sys-object-import.xml - This contains all of the system object definitions and custom site preference definitions that are related to the Drop Off Shipments Feature ONLY. Import it at Administration -> Site Development -> Import & Export -> Meta Data Import

zenkraft-services-import.xml - This import contains the Salesforce Commerce Cloud Service Framework definitions for connecting to the Zenkraft API. Import it at Administration -> Operations -> Import & Export -> Services

zenkraft-jobs-import.xml - This import contains the job that sends shipment notifications. Import it at Administration -> Operations -> Import & Export -> Job Schedules

3

Setup Estimated Delivery Dates

Custom Preference Configuration

There are several custom site preferences that can be set. Some are essential to connecting to the Zenkraft API and some allow you to enable/disable/customize certain pieces of functionality. The following preference is in the Zenkraft and Zenkraft Returns preference groups. All of the following preferences are in the Zenkraft and Zenkraft Returns preference groups.

Zenkraft Group Preferences

Site Preference Description
Zenkraft Master API Key You will need to get this from Zenkraft. The API key is required for all API calls.
Zenkraft Production Mode Allows you to toggle between production mode and development mode.
Enable Zenkraft Shipping Methods Allows you to toggle the Real-Time Shipping Rates for Shipping Methods
Enable Zenkraft Shipping Rates Allows you to toggle the Real-Time Shipping Rates for Shipping Methods
Enable Zenkraft Estimated Delivery Dates Enables estimated delivery dates to be shown in checkout. These will replace the static Estimated Arrival that can be set on the shipping method in Business Manager.
Carrier ID Carrier ID to use for Shipments to the customer.
Packaging Type Packaging type to use for shipments to the customer. Values can be found in Zenkraft API documentation.
Shipping Account ID ID Number for the Carrier account for shipments to the customer.
Currency Code Currency Code to use with the Zenkraft API. Default value is USD and available values can be found in the Zenkraft API documentation.
Dimension Units Units to be used for dimensions.
Weight Units Units to be used for weight.
Default Product Weight This is the default weight to be used for products when determining shipping rates. If the weight is not defined on the product, this is what is used.
Sender Street Address This is the address used as the FROM address for shipments to the customer.
Sender Address City This is the city used as the FROM city for shipments to the customer.
Sender Address State Code This is the state code used as the FROM state code for shipments to the customer. This is optional as not all countries have states.
Sender Address Postal Code This is the postal code used as the FROM postal code for shipments to the customer.
Sender Address Country Code This is the country code used as the FROM country code for shipments to the customer.
Sender Company This is the Company Name used as the FROM company name for shipments to the customer.
Sender Name This is the name used as the FROM name for shipments to the customer.
Sender Phone Number This is the phone number used as the FROM phone number for shipments to the customer.
Sender Email Address This is the email address used as the FROM email address for shipments to the customer.

Zenkraft Rates Group Preferences

Site Preference Description
Carrier ID Carrier ID to use for Return Labels
Packaging Type Packaging type to use for Return Labels. Values can be found in Zenkraft API documentation.
Shipping Account ID ID Number for the Carrier account for return shipments.
Recipient Street Address This is the address used as the TO address for returns.
Recipient Address City This is the city used as the TO city returns.
Recipient Address State Code This is the state code used as the TO state code for returns. This is optional as not all countries have states.
Recipient Address Postal Code This is the postal code used as the TO postal code for returns.
Recipient Address Country Code This is the country code used as the TO country code for returns.
Recipient Company This is the Company Name used as the TO company name for returns.
Recipient Name This is the name used as the TO name for returns.
Shipping Service This is the shipping service that is used for returns. Available values for your carrier can be found in the Zenkraft API documentation.
Recipient Phone Number This is the phone number used as the TO phone number for returns.
Recipient Email Address This is the email address used as the TO email address for returns.
Shipping Label File Type The file type to be used for shipping labels. Check the Zenkraft API documentation to see the available values for each carrier.

Zenkraft Advanced Configuration

Site Preference Description
Enable Advanced JSON Configuration If this is enabled, the other carrier and address settings in the Zenkraft site preference groups will be overridden by the JSON provided in the next site preference in this group..
Zenkraft Advanced JSON Object This is the object used for the advanced configuration. Out of the box, the json specifies ship preferences and return preferences, and allows for different configurations per country. This JSON could be changed (along with a code change in ZenkraftHelper.js) to allow for other configurations, such as separate settings for carriers instead of country.
JSON Example:

{
    "SHIP": {  
        "US": {
            "ACCOUNT_ID": "1234567890",
            "CARRIER_ID": "fedex",
            "PACKAGING": "your_packaging",
            "CURRENCYCODE": "USD",
            "DIM_UNITS": "IN",
            "WEIGHT_UNITS": "LB",
            "FILETYPE": "",
            "ADDRESS": {
                "STREET": "20 W 34th St JSON",
                "CITY": "New York",
                "STATECODE": "NY",
                "POSTALCODE": "10001",
                "COUNTRYCODE": "US",
                "COMPANY": "Zenkraft",
                "NAME": "Zenkraft",
                "PHONE": "1231231233",
                "EMAIL": "api@zenkraft.com"
            }
        }
    },
    "RETURN": {
        "US": {
            "ACCOUNT_ID": "0987654321",
            "CARRIER_ID": "fedex",
            "SHIPPING_SERVICE": "fedex_ground",
            "PACKAGING": "your_packaging",
            "CURRENCYCODE": "US",
            "DIM_UNITS": "IN",
            "WEIGHT_UNITS": "LB",
            "FILETYPE": "PDF",
            "ADDRESS": {
                "STREET": "10062 Treena Street",
                "CITY": "San Diego",
                "STATECODE": "CA",
                "POSTALCODE": "92131",
                "COUNTRYCODE": "US",
                "COMPANY": "Zenkraft Default",
                "NAME": "Zenkraft Default",
                "PHONE": "1231231233",
                "EMAIL": "api@zenkraft.com"
            }
        }
    }
}

Site Preference Description
Enable Zenkraft Tracking Page Enables the tracking page via the Zenkraft-Track route.
Zenkraft Tracking Settings JSON JSON configuration for shipping account settings on the Tracking Page. This allows for multiple carriers and different shipping accounts per carrier.
Esample JSON value:


{
    "fedex": {
        "DEBUG": "false",
        "SHIPPING_ACCOUNT": "1234567891234567"
    },
    "ups": {
        "DEBUG": "true",
        "SHIPPING_ACCOUNT": "000011112222333"
    }
}
                    

Shipping Method Configuration

In order to use the Zenkraft LINK Cartridge functionality, you’ll need to configure your SFCC Shipping Methods to map to shipping services in Zenkraft. To facilitate this, there is a new custom attribute on the Shipping Method.

To configure the methods, go to the Shipping Method in the Merchant Tools -> Ordering -> Shipping Methods and select your method.

Add your Zenkraft shipping service ID to the Zenkraft section to map it to the method.

4

Run tests

There is no custom code necessary to enable the Estimated Delivery Dates feature. To enable it, you simply need to configure the shipping methods with Zenkraft IDs as mentioned in the above section of this document, then enable the site preference named ‘Enable Zenkraft Estimated Delivery Dates’.

Once this is set up, you can test the shipping rates simply by going to the shipping page and entering an address. The estimated delivery dates should display with the shipping methods. You can enable Communication logging for the zenkraft.http.rate service in the SFCC Service Framework to verify that API responses are successful.

Please contact us for any more information and for next steps.

...

Email me activiation link for access

Send Email