# How to set up a Walmart channel

Walmart is one of the largest American supermarket chains, with more than 10,000 stores in 27 countries today.

This article will help you navigate the setup of your Walmart API.

***

{% stepper %}
{% step %}

### Create your channel

1. In Channable, go to **Projects** > **\[Your project]** > **Channels** and click **+ Create Channel**.
2. In the searchbar, search for Walmart and select it.
3. **Fill in your channel settings:**
   1. **Name:** Give your channel a name. This is for your reference only.
   2. **Unique ID per item:** select a field to pull your products' ID data (this is often `id)`
4. Click **Continue**.
   {% endstep %}

{% step %}

### Create your product listings in Channable

{% stepper %}
{% step %}

#### Categorize your products

To set up your product data, assign categories to your products.

* **AI product categorization:** Automatically assigns product categories through our algorithm.
* **Manual Categorization:** Manually assign product categories with custom rules. You can create detailed filters to map each product to the correct category.
* **Uncategorized Items:** Products that still need to be reviewed and categorized

[Learn more about categorizing for marketplaces](https://helpcenter.channable.com/list-advertise/sell-on-marketplaces/get-started-with-marketplaces/marketplaces-categorization-step)
{% endstep %}

{% step %}

#### Set up rules

Rules help you quickly optimize your product data for the marketplace you want to sell on.

* **Rule templates:** Commonly used rules you can adjust for your use case.
* **Rules setup:** Set up rules to refine your product data. This can include filtering, modifying, or enhancing data fields to meet marketplace requirements.

[Read more about using rules for marketplaces](https://helpcenter.channable.com/list-advertise/sell-on-marketplaces/get-started-with-marketplaces/marketplaces-rules-step)
{% endstep %}

{% step %}

#### Build your listings

The **Build** step is where you configure your product listings to match marketplace requirements. It’s an essential step for getting your products live and avoiding errors.

**Mandatory and optional fields**

* **Mandatory fields**: Required to list your products on this marketplace
* **Recommended**: Recommended to avoid errors and improve performance

**Shared attributes**

* Shared attributes are common fields that apply across your products, such as EAN, prices, and titles.
* **Use static or dynamic Values**
  * **Static values:** Fixed values that don’t change (e.g. brand name, manufacturer)
  * **Dynamic values:** Fields that automatically change based on the linked data (e.g. stock, prices)

**Category-specific attributes**

* Fields that specifically apply to the category for your products (e.g. size for clothing or dimensions for furniture).
* Fill in attributes that are specific to the selected category.

[Learn more about the Build step for marketplaces](https://helpcenter.channable.com/list-advertise/sell-on-marketplaces/get-started-with-marketplaces/marketplaces-build-step)
{% endstep %}

{% step %}

#### Check the quality of your set up

The **Quality** step provides feedback on your channel before you activate it. It highlights mandatory and optional errors to ensure your product data meets requirements to list on the marketplace.

* Solve errors, prioritizing mandatory errors first.

**Actions**

* **View items**: See products with specific issues.
* **View in build**: Redirects to the **Build** step to map missing information.
* **Set categories**: Directs to the **Categories** step to categorize items.
* **Show source**: Available for ID fields. Directs to the **Settings** step.

[Learn more about the Quality step for marketplaces](https://helpcenter.channable.com/list-advertise/sell-on-marketplaces/get-started-with-marketplaces/marketplaces-quality-step)
{% endstep %}

{% step %}

#### Preview before activating

The **Preview** step displays the attributes you mapped in the **Build** step, helping you check if everything is configured correctly by providing an overview of your products and potential errors.

Filtering:

* **Filter by error:** Click the **All** dropdown and select if you would like to filter to display only products with errors, or products with a specific error.
* **Filter by category:** Click the **All categories** dropdown and select the category you want to filter by.

Before you continue:

* **Review Shared attributes**: Ensure all mandatory shared attributes are filled.
* **Review Category-specific attributes**: Ensure all mandatory category-specific attributes are filled.
* **Check for errors**: Correct any red-marked fields.

[Learn more about the Preview step for marketplaces](https://helpcenter.channable.com/list-advertise/sell-on-marketplaces/get-started-with-marketplaces/marketplaces-preview-step)
{% endstep %}
{% endstepper %}
{% endstep %}

{% step %}

### Additional requirements for Walmart

#### Shipping template ID

* To link your products to specific shipping templates, you need to [create shipping templates for your products on Walmart](https://sellerhelp.walmart.com/s/guide?language=en_US\&article=000009417). After creating a template, Walmart will generate a Shipping Template ID.&#x20;
* You will need to maintain or modify your Shipping templates on Walmart's platform.

<figure><img src="https://content.gitbook.com/content/F8GepmoSonQRG6RnHOxJ/blobs/Yv437p2sR4f0yIRCTqPU/21139153977746" alt=""><figcaption></figcaption></figure>

Each template you create on Walmart generates a unique Shipping Template ID.&#x20;

<details>

<summary><strong>My shipping template ID applies to all my items</strong></summary>

1. Go to **Rules** > **Create rule > Create custom rule**.
2. Name your rule **Shipping templates.**
3. Click **Save**.
4. Click <i class="fa-file-circle-plus">:file-circle-plus:</i> to add a new project field.&#x20;
5. Name your project field `walmart_shipping_templates'`
6. Click **Create**.
7. Build the following rule:

If `all`&#x20;

Then take `walmart_shipping_templates` and `set to value` `{paste shipping template id here}`

8. Click **Save rule**.
9. Back in the **Build** step, at **Stock**, click **+ Stock**.
10. Map your `walmart_shipping_templates`  field for **Shipping Template ID.**
11. Click **Save.**

</details>

<details>

<summary><strong>I have different shipping templates for different items</strong></summary>

Go to **Rules** > **Create rule > Create custom rule**.

1. Name your rule **Shipping templates.**
2. Click **Save**.
3. Click <i class="fa-file-circle-plus">:file-circle-plus:</i> to add a new project field.&#x20;
4. Name your project field `walmart_shipping_templates'`
5. Click **Create**.
6. Create a [condition ](https://app.gitbook.com/s/u8whzIfip72Kvn3M1bsc/rules-bulk-edit-and-enrich/how-to-use-conditions-if-in-rules)to sort your items on.

Example:

If `id` `contains any of`

(paste id values in the field)

Then take `walmart_shipping_templates` and `set to value` `{paste shipping template id here}`

8. Click **Save rule**.
9. Back in the **Build** step, at **Stock**, click **+ Stock**.
10. Map your `walmart_shipping_templates`  field for **Shipping Template ID.**
11. Click **Save.**

**Repeat** until each item has a shipping template.

</details>

#### Fulfillment center template ID

This ID represents the US-based location from your orders are shipped from. Similar to Shipping Templates, you must set up and maintain your Fulfillment Center template on Walmart according to this [Walmart Seller Help article](https://sellerhelp.walmart.com/s/guide?language=en_US\&article=000009536) to generate the Fulfillment Center ID. Enter this ID in Channable to ensure your products are associated with the correct fulfillment location.

<figure><img src="https://content.gitbook.com/content/F8GepmoSonQRG6RnHOxJ/blobs/XOnvK17Su4otkGsF4XVR/21139169293074" alt=""><figcaption></figcaption></figure>

<details>

<summary><strong>My Fulfillment center template ID applies to all my items</strong></summary>

1. Go to **Rules** > **Create rule > Create custom rule**.
2. Name your rule **Fulfillment center templates.**
3. Click **Save**.
4. Click <i class="fa-file-circle-plus">:file-circle-plus:</i> to add a new project field.&#x20;
5. Name your project field `walmart_fulfillment_template`
6. Click **Create**.
7. Build the following rule:

If `all`&#x20;

Then take `walmart_fulfillment_template` and `set to value` `{paste shipping template id here}`

8. Click **Save rule**.
9. Back in the **Build** step, at **Stock**, click **+ Stock**.
10. Map your `walmart_fulfillment_template`  field for **Fulfillment Center ID.**
11. Click **Save.**

</details>

<details>

<summary><strong>I have different fulfillment center templates for different items</strong></summary>

1. Go to **Rules** > **Create rule > Create custom rule**.
2. Name your rule **Shipping templates.**
3. Click **Save**.
4. Click <i class="fa-file-circle-plus">:file-circle-plus:</i> to add a new project field.&#x20;
5. Name your project field `walmart_fulfillment_template`
6. Click **Create**.
7. Create a [condition ](https://app.gitbook.com/s/u8whzIfip72Kvn3M1bsc/rules-bulk-edit-and-enrich/how-to-use-conditions-if-in-rules)to sort your items on.

{% hint style="info" %}
**Example:**

If `id` `contains any of`

(paste id values in the field)
{% endhint %}

7. Set an [action](https://app.gitbook.com/s/u8whzIfip72Kvn3M1bsc/rules-bulk-edit-and-enrich/how-to-use-actions-then-in-rules) to apply to all your items:

{% hint style="info" %}
**Example:**

Then take `walmart_fulfillment_template` and `set to value` `{paste shipping template id here}`
{% endhint %}

8. Click **Save rule**.
9. Back in the **Build** step, at **Stock**, click **+ Stock**.
10. Map your `walmart_fulfillment_template`  field for **Fulfillment Center ID.**
11. Click **Save.**

**Repeat** until each item has been assigned a fulfillment center value.

</details>

{% hint style="info" %}
**Note:** Both IDs are crucial and must be filled in to utilize these features. Check the Walmart Seller Help for detailed guidance on creating and maintaining these IDs.
{% endhint %}

#### **Creating Variants for Walmart**

Managing item variants on Walmart requires careful category selection and specific attribute setup:

* Select the correct category: Start by choosing the appropriate category for your items. Some categories may not support variants, so selecting the right one is crucial for variant configuration.
* Configure Variant attributes: After category selection, set up your variant attributes:
  * **Variant Group ID**: Use a common identifier for all variants in a group, such as parent\_id or item\_group\_id.
  * **Variant attribute name**: Specify the attribute that differentiates the variants (e.g., color, size).
  * **Variant code field**: Assign the field associated with the variant code.
* **Enter Variant codes**: Enter multiple variant codes by separating each with a comma (,). Although this might trigger an error message in Channable, you can disregard it as Walmart will still process the entries correctly. Do not end any entered value with a comma, as Walmart will reject the attribute.

#### GTIN exemption

If you have a GTIN exemption, you can indicate so in the **Build** step.

1. Scroll to the **Item** section in the **Build** step. Click **+ Add** to open the contained attributes (if you haven't already done so).
2. For **ID type**, set the value to **GTIN**.
3. For **Item ID**, set the value to **CUSTOM**.
4. Click **Save**.
   {% endstep %}

{% step %}

### Generate your Client ID and Client secret

Once you're happy with your setup, you can start preparing your channel to send listings to Walmart.&#x20;

1. Log in to your [Walmart Developer Portal](https://developer.walmart.com/).
2. Select your account name > **API Keys**.
3. Click **+ Add New key For A Solution Provider**.
4. In the pop-up, select **Channable**.
5. Click **Next**.&#x20;
6. **Click** <i class="fa-gear">:gear:</i> **Permissions**.
7. Provide the following permissions.  You must grant at least the minimum highlighted permissions as shown in the screenshot below:

|                 | No access                       | View only                       | Full access                     |
| --------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| Feeds           |                                 |                                 | <i class="fa-check">:check:</i> |
| Content         |                                 |                                 | <i class="fa-check">:check:</i> |
| Items           |                                 |                                 | <i class="fa-check">:check:</i> |
| Inventory       |                                 |                                 | <i class="fa-check">:check:</i> |
| Price           |                                 |                                 | <i class="fa-check">:check:</i> |
| Lag Time        | <i class="fa-check">:check:</i> |                                 |                                 |
| Orders          |                                 |                                 | <i class="fa-check">:check:</i> |
| Returns         |                                 |                                 | <i class="fa-check">:check:</i> |
| Shipping        |                                 |                                 | <i class="fa-check">:check:</i> |
| Fulfillment     | <i class="fa-check">:check:</i> |                                 |                                 |
| Rules           | <i class="fa-check">:check:</i> |                                 |                                 |
| Reports         |                                 | <i class="fa-check">:check:</i> |                                 |
| Account Profile | <i class="fa-check">:check:</i> |                                 |                                 |
| Growth          | <i class="fa-check">:check:</i> |                                 |                                 |

2. Click **Submit**.
3. Walmart will generate a **Client ID** and **Client secret**. Make note of these in a safe place, as you will need it in the next step.
   {% endstep %}

{% step %}

### Connect to Walmart

To send your listings to Walmart, you need to provide your Client ID and Client secret.

{% hint style="warning" %}
**Important:** Nothing will change in your Walmart account **yet** - any existing listings stay exactly the same until you activate.
{% endhint %}

1. In **\[your Walmart channel]**, go to the **Settings** step.
2. At **Linked seller account**, click **Select seller account**.
3. Provide the **Client ID** and **Client secret** you collected in the previous step.
4. Click **Connect with Walmart**.
   {% endstep %}

{% step %}

### Send your products to Walmart

1. In the **Settings** step in **\[your Walmart channel], click Activate API**.
2. Click **Save**.
3. Click **Run now** to send your product listings to Walmart.

After your initial run, you'll see items marked as successfully pushed in Channable. This means listings have been created on Walmart, but **without price and inventory details**.&#x20;

In following automatic runs, your listings will update to show price and stock levels.  You can use the Walmart Dashboard to monitor the publishing status of each item.

{% hint style="info" %}
Note: Walmart needs approximately 4 to 8 hours to update the price of new and existing listings.
{% endhint %}
{% endstep %}

{% step %}

### Check your listings for errors

After sending your listings , go to the **Results** step.

* For errors, apply the filter 'error' to see which product listings have errors and which are not listed.
* Click on a specific error to see more information on what is causing the error.
* If you have solved some errors by changing the settings or product information, re-run your channel to see new results.
  {% endstep %}
  {% endstepper %}
