Amazon Adapter
NexusCommerce integration with Amazon Selling Partner API (SP-API) for catalog, orders, inventory, and advertising.
Overview
The Amazon adapter integrates NexusCommerce with the Amazon Selling Partner API (SP-API). It supports catalog management, order fulfillment, inventory sync, competitor price monitoring, Buy Box tracking, and advertising data retrieval.
Amazon is typically the highest-volume marketplace for most sellers. The adapter is designed for reliability at scale, with robust rate limit handling and support for multiple Amazon marketplaces (US, UK, DE, FR, IT, ES, CA, JP, etc.) from a single connection.
Key Concepts
SP-API — Amazon's Selling Partner API, which replaced the older MWS API. Uses OAuth 2.0 with Login with Amazon (LWA) for authentication. All SP-API operations require a refresh token obtained via the seller's consent.
Marketplace ID — Amazon operates separate marketplaces per country. Each has a unique marketplace ID. A single seller account may have permission to sell in multiple marketplaces — create one NexusCommerce connection per marketplace.
Common marketplace IDs:
| Marketplace | ID |
|---|---|
| Amazon US | ATVPDKIKX0DER |
| Amazon UK | A1F83G8C2ARO7P |
| Amazon DE | A1PA6795UKMFR9 |
| Amazon FR | A13V1IB3VIYZZH |
| Amazon IT | APJ6JRA9NG5V4 |
| Amazon ES | A1RKKUPIHCS9HS |
| Amazon CA | A2EUQ1WTGCTBG2 |
| Amazon JP | A1VC38T7YXB528 |
ASIN — Amazon Standard Identification Number. The marketplace-native product identifier. NexusCommerce maps ASINs to your internal SKUs.
FBA — Fulfilled by Amazon. For FBA products, Amazon manages inventory and shipping. NexusCommerce reads FBA inventory levels from the SP-API Inventory API (read-only).
Buy Box — Amazon's featured offer mechanism. The adapter fetches Buy Box data for monitored ASINs via the Pricing API.
Getting Started
Required Credentials
| Field | Description |
|---|---|
| LWA Client ID | From your SP-API application in Seller Central |
| LWA Client Secret | From your SP-API application |
| Refresh Token | Obtained via the seller's OAuth consent flow |
| Marketplace ID | The Amazon marketplace to connect (e.g., ATVPDKIKX0DER for US) |
Required SP-API Permissions
When creating your SP-API application, request these role permissions:
Catalog ItemsOrdersReportsFeedsInventoryPricingProduct Advertising API(for ad data, if using Ads)
OAuth Flow
- Create an SP-API application in Seller Central (Apps & Services > Develop Apps)
- Note the Client ID and Client Secret
- Direct the seller to the Amazon authorization URL to consent and obtain the authorization code
- Exchange the authorization code for a refresh token via the LWA token endpoint
- Store the refresh token in NexusCommerce
NexusCommerce handles token refresh automatically. Access tokens expire after 1 hour; the adapter refreshes them using the stored refresh token before each API call batch.
Features
Catalog Sync
The adapter syncs catalog data using the SP-API Catalog Items API and Reports API:
- Listings — Fetched via the
GET_MERCHANT_LISTINGS_ALL_DATAreport - Product detail — Fetched per ASIN via
GET /catalog/2022-04-01/items/{asin} - Images — Main image URL included in catalog response
- Categories — Amazon browse node hierarchy mapped to NexusCommerce categories
Order Sync
Orders are fetched via GET /orders/v0/orders with status filter and date range. The adapter paginates through all pages automatically.
For each order, line items are fetched via GET /orders/v0/orders/{orderId}/orderItems.
Order Mapping:
| Amazon Field | NexusCommerce Field |
|---|---|
| AmazonOrderId | external_order_id |
| OrderStatus | status (mapped to internal codes) |
| PurchaseDate | created_at |
| OrderTotal.Amount | total_amount |
| ShipmentServiceLevel | fulfillment_method |
Amazon order statuses map to NexusCommerce statuses:
| Amazon Status | NexusCommerce Status |
|---|---|
| Pending | pending |
| Unshipped | confirmed |
| PartiallyShipped | processing |
| Shipped | shipped |
| Delivered | delivered |
| Canceled | cancelled |
Inventory Sync
For FBM inventory: the adapter pushes inventory updates via the Feeds API using the POST_INVENTORY_AVAILABILITY_DATA feed type. NexusCommerce generates the XML feed and submits it.
For FBA inventory: the adapter reads FBA inventory via GET /fba/inventory/v1/summaries. FBA quantities are stored in NexusCommerce but marked read-only.
Pricing
Price updates are submitted via the Feeds API using the POST_PRODUCT_PRICING_DATA feed type. The adapter generates a flat-file feed with SKU, price, and marketplace ID.
Competitor prices are fetched via GET /products/pricing/v0/competitivePricing for monitored ASINs.
Buy Box status is fetched via GET /products/pricing/v0/listing/items/{sellerId}/offerType/{offerType}.
Shipment Confirmation
Shipment confirmations are submitted via the Feeds API using the POST_ORDER_FULFILLMENT_DATA feed type. Required fields: AmazonOrderId, MerchantOrderItemID, ShippedDate, CarrierCode, TrackingNumber.
Configuration
| Setting | Description | Default |
|---|---|---|
| Marketplace ID | Amazon marketplace to connect | Required |
| Report polling interval | How often to check for completed report jobs | 5 minutes |
| Buy Box monitoring | Enable Buy Box status polling | Enabled |
| Competitor price monitoring | Fetch competitor prices for all ASINs | Disabled (enable per-ASIN) |
| FBA inventory sync | Pull FBA inventory levels | Enabled if FBA permissions granted |
| Listing sync mode | Full or delta sync | Delta (only changed listings) |