How to Integrate Salesforce Commerce Cloud With AfterShip Returns
Plans: Premium, Enterprise Platforms: All platforms
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.
In this article, we will show you:
Steps to integrate Salesforce Commerce Cloud with AfterShip Returns
i) Generate a new API Client ID
ii) Configure OCAPI settings > Shop
ii) Configure OCAPI settings > Data
iii) Provide additional information for successful integration
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
Note: Let the JWT and OpenID sections stay as it is
Choose the client_secret_basic option from the Token Endpoint Auth Method menu and select JWT from the Access Token Format
Click Save
Salesforce Commerce Cloud integration now supports Exchange: Replace with the same item feature, which requires merchants to step up additional configuration steps.
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
Go to the SFCC Business Manager > Administration > Site Development > Open Commerce API Settings
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
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
Refer to the SFCC Documentation and search for OCAPI Settings for additional help.
Go to [Apps](https://organization.automizely.com/apps/aftership) 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
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.
📢 What you’ll learn
In this article, we will show you:
Steps to integrate Salesforce Commerce Cloud with AfterShip Returns
i) Generate a new API Client ID
ii) Configure OCAPI settings > Shop
ii) Configure OCAPI settings > Data
iii) Provide additional information for successful integration
Steps to integrate Salesforce Commerce Cloud with AfterShip Returns
Step1: 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
Note: Let the JWT and OpenID sections stay as it is
Choose the client_secret_basic option from the Token Endpoint Auth Method menu and select JWT from the Access Token Format
Click Save
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.
Create a Business Manager User (Optional)
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": "(**)"
}
]
}
]
}
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](https://organization.automizely.com/apps/aftership) 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
Updated on: 14/08/2024
Thank you!