Documentation
Getting Started
- Introduction
- Setup
- General Settings
- WooCommerce
- Tools
- Analytics Reports
- Dashboard
- License
- Generator
- Activations
- Applications
- Installed On
- API Logs
- WooCommerce Products
- Customer License Manager Flow
Integrations
For Developer
C++ SDK
The Ultimate C++ Licensing Engine for SaaS, Desktop, and Custom Software. Stop building custom Licensing APIs. This framework-agnostic SDK is the native C++ bridge between your application and your License Manager for WooCommerce (Pro) backend.
π Accelerate Your Software Monetization
If you are building a SaaS, desktop application, or custom software, your focus should be on your productβnot building complex REST API integrations for licensing.
This SDK provides native C++ access to the License Manager for WooCommerce (Pro) ecosystem. Integrate robust activation, validation, update, and download management into your software in minutes.
π‘οΈ Why Choose This SDK?
- Zero API Manual Coding: REST endpoints are mapped to simple C++ methods.
- Framework Agnostic: Modern C++17, libcurl, and nlohmann/json work with desktop, server-side, or standalone applications.
- Secure Client API: Distributed applications can use the public API without shipping WooCommerce consumer secrets.
- Enterprise Ready: Designed for license management and multi-tier SaaS fulfillment.
π Professional API Support Matrix
This SDK provides native coverage for the License Manager for WooCommerce (Pro) REST APIs.
π Core Licensing
| Feature | SDK Method | API Endpoint |
|---|---|---|
| List Licenses | client.licenses().list() | GET /licenses |
| Retrieve License | client.licenses().get(key) | GET /licenses/{key} |
| Create License | client.licenses().create(data) | POST /licenses |
| Update License | client.licenses().update(key, data) | PUT /licenses/{key} |
| Delete License | client.licenses().remove(key) | DELETE /licenses/{key} |
| Activate License | client.licenses().activate(key) | GET /licenses/activate/{key} |
| Reactivate License | client.licenses().reactivate(key, params) | GET /licenses/activate/{key} |
| Deactivate License | client.licenses().deactivate(key) | GET /licenses/deactivate/{key} |
| Validate License | client.licenses().validate(key) | GET /licenses/validate/{key} |
βοΈ License Generators
| Feature | SDK Method | API Endpoint |
|---|---|---|
| List Generators | client.generators().list() | GET /generators |
| Retrieve Generator | client.generators().get(id) | GET /generators/{id} |
| Create Generator | client.generators().create(data) | POST /generators |
| Update Generator | client.generators().update(id, data) | PUT /generators/{id} |
| Delete Generator | client.generators().remove(id) | DELETE /generators/{id} |
| Generate Keys (Pro) | client.generators().generate(id, data) | POST /generators/{id}/generate |
π Merchant & SaaS (Pro)
| Feature | SDK Method | API Endpoint |
|---|---|---|
| Customer Licenses | client.customers().get_licenses(id) | GET /customers/{id}/licenses |
| Products/Ping | client.products().ping(data) | POST /products/ping |
| Products/Update | client.products().update(key) | GET /products/update/{key} |
| Download Products | client.products().download_url(key) | GET /products/download/latest/{key} |
| Retrieve Application | client.applications().get(id) | GET /application/{id} |
| Download Application | client.applications().download_url(id, token) | Signed application download URL |
π Public Client API
| Feature | SDK Method | API Endpoint |
|---|---|---|
| Activate | pub.activate(body) | POST /wp-json/lmfwc/v1/public/activate |
| Reactivate | pub.reactivate(body) | POST /wp-json/lmfwc/v1/public/reactivate |
| Deactivate | pub.deactivate(body) | POST /wp-json/lmfwc/v1/public/deactivate |
| Validate | pub.validate(body) | POST /wp-json/lmfwc/v1/public/validate |
| Installed Check | pub.installed(body) | POST /wp-json/lmfwc/v1/public/installed |
π The Revenue Model: Free SDK + Pro Engine
The SDK is your client-side tool to bundle with your software. To serve as the merchant backend, you must have the Pro Engine.
| Phase | Client SDK (This Free Repo) | Pro Engine (Your WooCommerce Store) |
|---|---|---|
| Purpose | Connects your C++ application to your store. | Handles orders, payments, and keys. |
| Availability | Free for developers. | Purchase Required Here |
π¦ 3-Minute Developer Quick Start
Step 1: Install the C++ toolchain
Install a C++17 compiler, CMake 3.16+, libcurl, and Git. On Windows, Visual Studio with Desktop development with C++ and C++ CMake tools for Windows is recommended. nlohmann/json is fetched by CMake.
Step 2: Build the SDK
Add the SDK to your project:
add_subdirectory(path/to/lmw-sdk-cpp) target_link_libraries(your_app PRIVATE lmfwc)
The static library target is lmfwc, and public headers are under include/lmfwc/.
Alternatively, clone and build it on Windows:
git clone https://github.com/YOUR_ORG/lmw-sdk-cpp.git cd lmw-sdk-cpp cmake -B build -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake cmake --build build --config Release
Step 3: Initialize the client
Include the public header and initialize the client:
#include "lmfwc/lmfwc.hpp"
#include <cstdlib>
lmfwc::ClientConfig config;
config.store_url = std::getenv("LMW_STORE_URL");
config.consumer_key = std::getenv("LMW_CONSUMER_KEY");
config.consumer_secret = std::getenv("LMW_CONSUMER_SECRET");
config.timeout_seconds = 120;
lmfwc::LicenseManagerClient client(config);
4. Basic Activation Pattern
try {
lmfwc::Json result =
client.licenses().activate("ABCD-1234-EFGH-5678");
// Store the activation token from result for future validation.
} catch (const lmfwc::LicenseManagerException& e) {
std::cerr << "Error: " << e.api_error_message() << '\n';
}
Successful API calls return lmfwc::Json, backed by nlohmann::json. Failures throw lmfwc::LicenseManagerException, which exposes the API error code, message, and HTTP status.
ποΈ Application Integration
Server-side and Trusted Applications
Use the Pro REST API with WooCommerce consumer_key and consumer_secret credentials stored in environment variables, encrypted configuration, or a secrets manager.
Desktop, Mobile, and Distributed Software
Use the separate public client API with the product public key. Never ship the WooCommerce consumer secret in end-user software.
lmfwc::LicenseManagerPublicClient pub("https://your-store.com");
lmfwc::Json body = {
{"public_key", "YOUR_PRODUCT_PUBLIC_KEY"},
{"license_key", "ABCD-1234-EFGH-5678"},
{"domain", "my-app.example.com"},
};
lmfwc::Json result = pub.validate(body);
π Get the Pro Merchant Engine Today
Unlock 100% of the SDK’s power by upgrading to the Pro edition of License Manager for WooCommerce.