Skip to content

Integration guide

nopCommerce Web API: Official Plugin, Alternatives and Custom Endpoints

nopCommerce has no REST API in its core. The official Web API plugin from nopCommerce adds a frontend API for apps and headless storefronts and a backend API for ERP and CRM systems, documented with Swagger and secured with JWT tokens. Vendors sell alternatives, and for one specific integration, custom endpoints in a plugin are often simpler.

By CartenvoPublished Updated

Facts checked against the nopCommerce 4.90.8 and 5.00.0 source code and the official Web API documentation on .

REST API in core
No
Official plugin
Frontend + backend
Auth
JWT bearer token
On this page

This guide is for developers and technical leads connecting nopCommerce 4.90 or 5.00 to another system or building an app on top of it. It explains what the platform includes, how the official Web API works, what the alternatives are, and when to skip a general API and build exactly the endpoints you need.

What nopCommerce includes

Out of the box, nopCommerce has no public REST API. In both 4.90 and 5.00, the Web API Frontend entry in Configuration → Local plugins is a placeholder: installing it adds a page that describes the official Web API plugin and links to nopcommerce.com to get it. It doesn’t add any endpoints.

What the core does include is everything an integration plugin needs: services for every entity, an event system, scheduled tasks and the Excel and XML import and export in the admin area. That is why many integrations don’t use a REST API at all.

The official nopCommerce Web API plugin

The Web API plugin is sold by the nopCommerce team. According to its documentation it follows the OpenAPI 3.0 specification and has two parts:

The two parts of the official nopCommerce Web API
PartForWhat it coversAccess
Frontend APIMobile apps, single-page or headless storefronts, kiosksWhat a shopper does in the store: browse the catalog, search, cart, checkout, account and ordersCustomer token, or anonymous for public data
Backend APIERP, CRM, PIM, warehouse and accounting systemsWhat staff do in the admin area: products, prices, stock, customers, orders and shipmentsToken for a customer with the “Access Web API Backend” permission

After installation, the Swagger UI at /api/index.html on your store lists every method, with a drop-down to switch between the frontend and backend definitions. By default only the Administrators role has the “Access Web API Backend” permission. Multi-factor authentication isn’t supported through the frontend API, so customers with two-factor sign-in need another way in.

Getting a token

Every call that isn’t anonymous needs a JWT token. Generate a secret key on the plugin’s configuration page first; the server signs and checks tokens with it. Then request a token with an API customer’s credentials:

Request a backend token

POST /api-backend/Authenticate/GetToken
Content-Type: application/json-patch+json

{
  "username": "erp-sync",
  "email": "erp-sync@example.com",
  "password": "••••••••"
}

The response contains the customer ID and the token. Send it on later calls as Authorization: Bearer <token>. The frontend equivalent is /api-frontend/Authenticate/GetToken. The plugin also has a developer mode that switches token checks off for testing; it must stay off on a live store.

Other nopCommerce API plugins

Several vendors sell REST API plugins for nopCommerce, including nopAccelerate, nopAdvance and nopStation, and older open-source API plugins exist on GitHub. They differ in which methods they cover, how they authenticate and how quickly they support new nopCommerce versions. Before choosing one, check:

  • It has a build for your exact nopCommerce version, and a history of updating soon after new releases.
  • It covers the specific calls your integration needs, including paging and filtering for large lists.
  • Its authentication fits your setup, and its tokens expire.
  • Whether source code is included or sold separately, in case you need to fix or extend it.

An unmaintained open-source plugin written for an old version isn’t a shortcut: porting it is often more work than writing the few endpoints you need.

Custom endpoints in a plugin

When one system needs a handful of operations, such as “update stock and price for these SKUs” or “list orders placed since a time”, a small plugin with its own API controller is often the better design:

  • A narrow contract. The other system sees only the fields it needs, in its own terms, such as SKU instead of product ID.
  • Less to secure. A few endpoints with one API key or token instead of a thousand methods.
  • Business rules in one place. The endpoint can validate, log and reject data before it reaches the catalog.

Whatever the endpoint does, it should go through nopCommerce’s services rather than writing to the database directly. The services clear the cache and raise events; direct SQL leaves stale prices on the storefront and other plugins unaware of the change.

Webhooks and events

nopCommerce has no webhook settings, but it raises events a plugin can consume: an order being placed, and any entity being inserted, updated or deleted, such as a product or customer. A plugin can listen for these and notify another system.

Which option to use

Ways to connect nopCommerce to other systems
OptionBest whenWatch out for
Official Web API pluginBroad coverage of frontend and backend in one plugin, kept in step with nopCommerce releasesA paid plugin; large surface to secure if you only need a few calls
Third-party API pluginsAn alternative set of methods, sometimes with features the official one lacksCheck the supported version, update history and whether source code is included
Custom endpoints in a pluginOne integration with a narrow, stable contract, such as an ERP pushing stock and pricesYou build, document and maintain it
Scheduled sync without an APIPulling from or pushing to a system that has its own API, on a timerNot real-time; needs logging and retries

For a mobile app or headless storefront, the official frontend API is usually the right start. For an ERP, decide first which system starts each transfer; that choice matters more than which API plugin you buy. When several systems, such as an ERP, PIM and warehouse system, share the same records, plan it as one of our enterprise commerce integrations, with data ownership and sync direction documented for each.

API security checklist

  • Use a dedicated API customer account for each integration, with only the permissions it needs
  • Keep the backend API off for frontend apps: mobile apps only need the frontend API
  • Store the secret key and API passwords in the server’s configuration, never in a mobile app or a script in a repository
  • Turn developer mode off on production; it disables token checks
  • Allow backend calls only from the integration’s IP addresses where you can, and serve everything over HTTPS
  • Log calls and failed sign-ins, and page through large lists instead of requesting everything at once

Frequently asked questions

Does nopCommerce have a REST API?

Not in the core. nopCommerce sells an official Web API plugin with frontend and backend methods, and several vendors sell alternatives. The “Web API Frontend” entry in Local plugins is only a placeholder that links to the official plugin.

Where is the nopCommerce API documentation?

Once the official Web API plugin is installed, its Swagger UI is at /api/index.html on your store, with a switch between the frontend and backend definitions. The general documentation is in the developer section of docs.nopcommerce.com.

How do I authenticate with the nopCommerce Web API?

Generate a secret key on the plugin’s configuration page, then POST a username or email and password to /api-frontend/Authenticate/GetToken or /api-backend/Authenticate/GetToken. Send the returned token in the Authorization header as a Bearer token on later calls.

Can I build a headless storefront or mobile app on nopCommerce?

Yes, with the frontend API. It covers the shopper’s journey from catalog to checkout, so a React, Vue or native app can use nopCommerce as its commerce engine. nopCommerce also sells a ready-made mobile app.

Does nopCommerce support webhooks?

Not as a feature you configure. A plugin can subscribe to nopCommerce events, such as an order being placed or a product being updated, and send its own webhook calls to another system. Use a queue and retries so a slow receiver doesn’t delay checkout.

Should an ERP integration use the API or a plugin?

It depends on which side starts the transfer. If the ERP pushes changes, an API (official or custom endpoints) fits. If nopCommerce should pull from the ERP’s API on a schedule, a plugin with a scheduled task needs no nopCommerce API at all. Many integrations use both.

Next steps

Tell us which system you want to connect, which side owns each kind of data, and how fresh it has to be. We will recommend the official API, a custom plugin or a mix, and build it with logging and retries.

Related

Related guides

Connecting nopCommerce to another system?

Tell us the system, the data and how fresh it must be, and we will recommend an API, a plugin or both.