B2C Commerce Cloud - Upload Tracking Information
Zenkraft provides an invocable method within Salesforce Service Cloud / Order Management to all you to update the Order Record within SFCC with a tracking number and products shipped once your shipment has been fulfilled.

Install the Zenkraft Cartridge
To get the latest cartridge version please create a Case.
Set up Service Cloud or Order Management
1. Go to Zenkraft Settings (v1.114 and below or v1.129 and above) or Bringg Settings (v1.118-v1.128) > Other Settings and scroll down to Commerce Cloud.
2. Fill in the required information.

3. Go to Setup → Remote Site Settings. Add the remote site that is related to your SFCC base URL. e.g. https://zenkraftlimited01-tech-prtnr-eu04-dw.demandware.net
Update your current Custom Address Source that you use for creating shipments and add the mapping Item Code as you see below, into the Products/Customs Items section, and choose the product ID from your Line Item object.

5. Create the automation as follows: Object: Shipment, on object Created. Criteria: **Shipment Processing Completed** is TRUE. Action: Apex method is SFCC Create Shipment On Order (Multi Carrier). Parameters:
- shipmentId - shipment object id that is being used to trigger this Process Builder/Flow
- orderId - SFCC order number (use the lookup Shipment > Fulfillment Order > Order Summary Number to retrieve the name)
- itemIdFieldName - e.g. just enter "zkmulti__Item_Code__c"
- zenkraftCarrier - e.g. fedex, ups, dpd
if you want to take this from the preference then you can utilize the following formula field: SUBSTITUTE([zkmulti__MCShipment__c].zkmulti__Shipmate_Preference__r.zkmulti__CarrierType__c , "zk_api_", "") - baseUrlSettingName - SFCC_BASE_URL
- clientIdSettingName - SFCC_CLIENT_ID
- clientPasswordSettingName - SFCC_CLIENT_PASSWORD
- userLoginSettingName - SFCC_USERNAME
- userPasswordSettingName - SFCC_USER_PASSWORD
- serviceURL - e.g /s/**RefArch**/dw/shop/
this is where you set your site. In the example above we are using the RefArch site. - apiVersion - (optional) - Default value is v20_2. Only populate if you use a different OCAPI API version of SFCC
- shipmentNo - (optional) - if you want to update a particular shipmentNo on SFCC you can specify this field but this is optional.

Set permissions in Business Manager
Finally make sure that your SFCC Client ID has the following permissions set within Business Manager: Administration > Site Development > Open Commerce API Settings
{
"_v":"20.9",
"clients":
[
{
"client_id":"f675a55f-2ed3-4faf-ae12-f57b7dc9dd51",
"resources":
[
{
"resource_id":"/order_search",
"methods":["post"],
"read_attributes":"(**)",
"write_attributes":"(**)"
},
{
"resource_id":"/orders/*",
"methods":["patch"],
"read_attributes":"(**)",
"write_attributes":"(**)"
}
]
}
]
}
