N Nexus Docs
Marketplace Adapters

Walmart Adapter

NexusCommerce integration with the Walmart Marketplace API for selling on Walmart.com.

Overview

The Walmart adapter connects NexusCommerce to the Walmart Marketplace API, enabling sellers to manage product listings, sync orders, update inventory, and submit shipment confirmations on Walmart.com. Walmart Marketplace is the second-largest e-commerce platform in the United States.

The adapter targets Walmart Marketplace API v3 and uses HTTP Signature authentication for all requests.

Key Concepts

HTTP Signature Authentication — Unlike OAuth-based marketplaces, Walmart uses a proprietary request signing scheme. Each API request is signed with a Consumer ID and a private RSA key. NexusCommerce handles signing automatically once credentials are stored.

Item ID vs. SKU — Walmart assigns an itemId to each product listing. Your sku is the seller-assigned identifier. Both are tracked in NexusCommerce. The itemId is the canonical Walmart identifier used in order line items.

Publish Status — Walmart listings pass through a review/approval flow before going live. Possible statuses: PUBLISHED, UNPUBLISHED, IN_PROGRESS, SYSTEM_PROBLEM, STAGE. NexusCommerce reflects the current publish status on each product.

WFS — Walmart Fulfillment Services (equivalent to FBA). WFS inventory is read-only from the API.

Getting Started

Required Credentials

FieldDescription
Consumer IDYour Walmart seller Consumer ID (UUID format)
Private KeyRSA private key in PEM format for request signing
Channel TypeSELLER for standard marketplace sellers

Obtain these from the Walmart Seller Center: Partner Profile > Developer > API Management.

Credential Format

The private key must be in PKCS#8 PEM format. If you received it in PKCS#1 format, convert with:

openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt \
  -in private_key_pkcs1.pem \
  -out private_key_pkcs8.pem

Paste the full PEM content (including -----BEGIN PRIVATE KEY----- headers) into the NexusCommerce credential field.

Request Signing

NexusCommerce generates the signature for each request:

Signature = Base64( RSA-SHA256( ConsumerID + "\n" + RequestTimestamp + "\n" + Method + "\n" + URL ) )

The following headers are added to every Walmart API request:

WM_SEC.KEY_VERSION: 1
WM_CONSUMER.ID: <consumer_id>
WM_CONSUMER.INTIMESTAMP: <unix_ms_timestamp>
WM_SEC.AUTH_SIGNATURE: <computed_signature>
WM_SVC.NAME: NexusCommerce
WM_QOS.CORRELATION_ID: <request_uuid>

Synced Data

Data TypeDirectionWalmart API EndpointNotes
Products (Items)Read / Write/v3/itemsFull catalog sync via feeds
InventoryRead / Write/v3/inventorySeller-managed inventory levels
PricingRead / Write/v3/priceRegular and sale prices
OrdersRead/v3/ordersAll statuses with pagination
Shipment ConfirmationWrite/v3/orders/{purchaseOrderId}/shippingRequired for order release
ReturnsRead/v3/returnsReturn requests and status
Feed StatusRead/v3/feeds/{feedId}Async feed processing status

Configuration Options

KeyTypeDefaultDescription
channel_typestringSELLERWalmart channel type
sync_interval_minutesinteger60Polling frequency
order_lookback_daysinteger30Historical order window
inventory_buffer_pctinteger0Safety stock reserve
feed_poll_interval_secondsinteger30How often to check async feed status
price_sync_enabledbooleantruePush price updates to Walmart
wfs_inventory_syncbooleanfalseRead WFS inventory levels (read-only)

Supported Features

FeatureSupportedNotes
Product listing syncYesVia Bulk Item Feed
Inventory updatesYesPer-SKU and bulk feed
Order syncYesPolling only
Shipment confirmationYesRequired within Walmart SLA
Returns managementYesRead and acknowledge returns
Pricing updatesYesRegular and sale/promotional prices
Item status trackingYesReflects Walmart publish status
WebhooksNoPolling only
WFS inventoryPartialRead-only
Advertising dataNoNot available via Marketplace API
Multi-marketplaceNoWalmart.com US only

Feed-Based Operations

Many Walmart operations (item creation, bulk inventory, bulk pricing) are asynchronous. NexusCommerce submits a feed and then polls /v3/feeds/{feedId} for completion.

Typical feed processing times:

Feed TypeExpected Processing Time
Item setup5 – 60 minutes
Inventory update1 – 5 minutes
Price update1 – 5 minutes
ShipmentNear real-time

The adapter stores the feedId in Redis and polls until the feed reaches a terminal status (PROCESSED or ERROR). Feed results are written to the sync log with per-item error details.

Rate Limits & Quotas

Walmart enforces rate limits per API endpoint. General limits:

Endpoint GroupRate Limit
Orders10 req/s
Items5 req/s
Inventory10 req/s
Pricing5 req/s
Feeds1 req/s

When a 429 response is received, the adapter reads the Retry-After header and pauses before retrying. Rate limit state is tracked in Redis per connection.

Troubleshooting

Invalid Signature error on all requests

The private key does not match the Consumer ID, or the key is not in PKCS#8 format. Regenerate your API keys in Walmart Seller Center and re-enter the credentials. Ensure the PEM block uses BEGIN PRIVATE KEY (PKCS#8), not BEGIN RSA PRIVATE KEY (PKCS#1).

Items stuck in IN_PROGRESS status

Walmart is reviewing your listing. This typically resolves within 24–48 hours. If an item stays in IN_PROGRESS for more than 72 hours, check the Walmart Seller Help portal for listing violations (e.g., restricted categories, content policy violations).

Orders not appearing after shipment

Walmart requires shipment confirmation within the promised delivery window. Unconfirmed orders remain in Created status. Ensure the carrier code and tracking number are valid — Walmart validates these against a carrier allowlist.

SYSTEM_PROBLEM on item feed

The item data failed Walmart's validation. Check the feed result via /v3/feeds/{feedId}?includeDetails=true for per-item error codes. Common issues: missing required attributes, invalid product category, prohibited brand names.

403 Forbidden on inventory endpoints

Confirm the Consumer ID has the INVENTORY_MANAGEMENT role assigned in Walmart Seller Center > API Management.