Plans: Premium, Enterprise | Platforms: All platforms
Overview
Integrate AfterShip Returns with Salesforce Commerce Cloud to wipe out the usual bottlenecks of returns management. This integration will make it easier for customers to raise returns requests without contacting you and automating the entire return process.
Steps to integrate Salesforce Commerce Cloud with AfterShip Returns
Step 1: Generate a new API Client ID
Go to the Account Manager settings
Click on the API Client and select Add API Client option
Fill in the fields mentioned under the General Settings
Choose the client_secret_basic option from the Token Endpoint Auth Method menu and select JWT from the Access Token Format
Click Save
Note: Let the JWT and OpenID sections stay as it is.
Create a Business Manager User (Additional configuration for exchange and replacement)
Salesforce Commerce Cloud integration now supports Exchange: Replace with the same item feature, which requires merchants to step up additional configuration steps. If you don't need the exchange feature, then you can ignore this step.
Note: you should assign the Business Manager Administrator role to the user
Follow the steps given in this article create business manager users.
After create the Business manager user, you can find the password expiration time in Account Information → Password expires in
Recommendation: change user password every 90 days
Step 2: Configure OCAPI settings
Go to the SFCC Business Manager > Administration > Site Development > Open Commerce API Settings
Shop API setting
Set the Select Type field to Shop by default. Change the Select Context field to Global
Paste the following JSON and replace the API version and Client ID. We support API versions 19.5 and above. Replace CLIENT_ID with the API Client ID generated from the API client setup in the previous step (this should look something like "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), and then hit the Save button
{
"_v": "SHOP_API_VERSION",
"clients": [
{
"client_id": "YOUR_CLIENT_ID",
"resources": [
{
"resource_id": "/order_search",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/customers/*",
"methods": [
"get",
"patch"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/categories/(*)",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/product_search",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/products/(*)",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*",
"methods": [
"delete",
"get",
"patch"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*/customer",
"methods": [
"put"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*/notes",
"methods": [
"get",
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*/payment_instruments",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*/payment_methods",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*/price_adjustments",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*/price_adjustments/*",
"methods": [
"delete",
"patch"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*/shipments/*/shipping_method",
"methods": [
"put"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/baskets/*/shipments/*/shipping_methods",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/orders",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/orders/*",
"methods": [
"get",
"patch",
"put"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/orders/*/notes",
"methods": [
"get",
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/orders/*/notes/*",
"methods": [
"delete"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/site",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/stores",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/stores/(*)",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/stores/*",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/orders/*/payment_instruments",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/orders/*/payment_instruments/*",
"methods": [
"delete",
"patch"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
}
]
}
]
}
Data API setting
Set the Select Type field to Data by default. Change the Select Context field to Global
Paste this JSON and replace the API version and Client ID. We support API versions 19.5 and above. Replace CLIENT_ID with the API Client ID generated from the API client setup in the previous step (this should look something like "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), and then hit the Save button
{
"_v": "DATA_API_VERSION",
"clients": [
{
"client_id": "YOUR_CLIENT_ID",
"resources": [
{
"resource_id": "/category_search",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/catalog_search",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/catalogs",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/catalogs/*",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/catalogs/*/categories",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/product_search",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/products/*/variations",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/products/*/variation_attributes",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/site_search",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites/*",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites/*/gift_certificates",
"methods": [
"get",
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites/*/gift_certificates/*",
"methods": [
"delete",
"get",
"patch"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites/*/orders/*/payment_status",
"methods": [
"put"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites/*/orders/*/shipping_status",
"methods": [
"put"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites/*/orders/*/status",
"methods": [
"put"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/inventory_list_search",
"methods": [
"post"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/inventory_lists",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/inventory_lists/*",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/inventory_lists/*/product_inventory_records",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/inventory_lists/*/product_inventory_records/*",
"methods": [
"get"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites/*/orders/*/external_status",
"methods": [
"put"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
},
{
"resource_id": "/sites/*/orders/*/shipments/*/shipping_address",
"methods": [
"put"
],
"read_attributes": "(**)",
"write_attributes": "(**)"
}
]
}
]
}
Refer to the SFCC Documentation and search for OCAPI Settings for additional help.
Step 3: Provide additional information for successful integration
Go to Apps in the AfterShip Returns admin
Click View more apps, and you will be redirected to the AfterShip Returns integration page.
Find Salesforce Commerce Cloud and select it to land on the detailed integration page
Select AfterShip Returns from the dropdown and then click Install app
Select the right organization (online store) if you have multiple organizations configured in AfterShip Returns (Optional) for which you are establishing this integration
To install the Salesforce app, you must complete the required details to authenticate connection
On the Authorization window, Click Install app.
FAQ
Q1: How to deal with the error "blocked by Cloudflare" ?
Your store does not allow AfterShip API request from Cloudflare. Please add the following IPs to your whitelist.
35.188.86.165 35.239.56.190 35.221.154.146
Q2: How to deal with the error "Lack of permission" ?
Please refer to Configure OCAPI settings and check Shop/Data API permissions configured in OCAPI settings on SFCC.
Q3: How to find Instance URL ?
The Instance URL is the unique base address of your SFCC Business Manager instance. It is crucial to enter only the base URL without any additional paths. Steps to find your Instance URL
Log in to your account.
Once logged in, look at the URL in your browser's address bar.
Copy only the main domain part, which typically looks like as following
https://<your-instance-name>.dx.commercecloud.salesforce.com
Q4: How to find Site ID?
The Site ID is a unique identifier for your site in SFCC. It is often confused with the Site Name, which is a descriptive label. You must use the Site ID. Steps to find your Site ID
In the SFCC Business Manager, navigate to:
Administration > Sites > Manage Sites
On the "Manage Sites" page, you will see a list of your available sites.
Locate the site you wish to connect and find its corresponding value in the "ID" column.
For any further questions or help, please contact our chat support team or reach out to us at [email protected].








