Articles on: Apps

How to Integrate Salesforce Commerce Cloud With AfterShip Returns

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.

📢 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

Was this article helpful?

Share your feedback

Cancel

Thank you!