Connect your nopCommerce store to EcomCentral using the Seven Spikes API plugin with OAuth2 Bearer authentication.
nopCommerce is a popular open-source ASP.NET e-commerce platform used by thousands of merchants worldwide. EcomCentral integrates with nopCommerce via the Seven Spikes "API plugin for nopCommerce" (github.com/SevenSpikes/api-plugin-for-nopcommerce), an open-source plugin that provides OAuth2-secured REST endpoints for products, orders, customers, and more.
{store_root}/api. The plugin must be installed and configured in your nopCommerce
admin before the connection will work.
Plugins/ folder of your nopCommerce installation
The Seven Spikes plugin uses the OAuth 2.0 Authorization Code grant type.
You must register a client application and complete the OAuth flow to receive a
access_token (JWT Bearer token).
{store}/oauth/authorize to receive an authorization code, then exchange it at {store}/token for an access_tokenaccess_token (a JWT) — this is what you enter in EcomCentral| Key | Required | Description | Example |
|---|---|---|---|
base_url |
Required | Full root URL of your nopCommerce store. EcomCentral appends /api automatically. Do not include a trailing slash or /api. |
https://mystore.com |
access_token |
Required | OAuth2 Bearer JWT token obtained from the {store}/token endpoint after completing the Authorization Code flow. |
eyJhbGciOiJSUzI1NiIs… |
baseUrl or url for the store URL;
token for the access token.
| Operation | Method | Endpoint |
|---|---|---|
| Test connection | GET | /api/products/count |
| List orders | GET | /api/orders?page=P&limit=N |
| Order count | GET | /api/orders/count |
| Order detail | GET | /api/orders/{id} |
| List products | GET | /api/products?page=P&limit=N |
| Product count | GET | /api/products/count |
| Product detail | GET | /api/products/{id} |
| Update stock | PUT | /api/products/{id} with { "product": { "id": N, "stock_quantity": N } } |
Authorization: Bearer {token}.
List responses wrap items in { "orders": […] } or { "products": […] }.
Count responses return { "count": N }. Single-item responses wrap in
{ "order": {…} } or { "product": {…} }.
Errors return { "error": "…" } or { "errors": {…} }.
nopCommerce uses string enum names (not numeric codes) for order, payment, and shipping statuses. EcomCentral displays them with colour-coded badges.
order_status)| Value | Badge colour |
|---|---|
| Pending | Blue |
| Processing | Blue |
| Complete | Green |
| Cancelled | Red |
| Refunded | Red |
| PartiallyRefunded | Amber |
shipping_status)| Value | Badge colour |
|---|---|
| NotYetShipped | Blue |
| PartiallyShipped | Amber |
| Shipped | Green |
| Delivered | Green |
| Feature | Supported | Notes |
|---|---|---|
| View orders (paginated) | ✅ | Order ID, date, status, total |
| View order detail | ✅ | Order/payment/shipping status, customer ID, billing & shipping addresses, order items with price, shipping method |
| View products (paginated) | ✅ | Product ID, SKU, name, price, stock quantity |
| View product detail | ✅ | Full product with type, weight, inventory method, short & full description (HTML stripped) |
| Update stock quantity | ✅ | By product ID (not SKU) via PUT /api/products/{id} |
| Test connection | ✅ | Hits GET /api/products/count — confirms token and plugin are working |
| Add tracking / shipments | ❌ | Not supported — the Seven Spikes API plugin exposes no shipment or tracking resource. Manage shipments in the nopCommerce admin panel. |
The access token is expired or invalid. OAuth2 Bearer tokens issued by the Seven Spikes plugin
have a finite lifetime. Re-run the OAuth Authorization Code flow to obtain a fresh
access_token and update your EcomCentral connection credentials.
The Seven Spikes API plugin is not installed, not active, or the base_url is wrong.
Verify the plugin is installed and enabled under Configuration → Local Plugins.
Also check that the store URL does not include a trailing /api path — EcomCentral
appends that automatically.
The API plugin must be built for the same major version of nopCommerce that your store is running. If the plugin version does not match, the nopCommerce startup will fail or all API routes will return errors. Download the correct release from the plugin releases page.
Enter only the store root URL — for example https://mystore.com. Do
not append /api or any path segment; EcomCentral adds that automatically.
A trailing slash is harmless and will be stripped.
https://your-store.com/api/products/count
in a browser with an Authorization: Bearer {token} header (e.g. using a REST client).
A 200 response with { "count": N } confirms the plugin is working and the token is valid.
A 401 means the token is wrong or expired. A 404 means the plugin is not installed.