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 functions.
- Framework Agnostic: C11, libcurl, and cJSON work with desktop, embedded, 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 Function | API Endpoint |
|---|---|---|
| List Licenses | lmfwc_licenses_list() | GET /licenses |
| Retrieve License | lmfwc_licenses_get() | GET /licenses/{key} |
| Create License | lmfwc_licenses_create() | POST /licenses |
| Update License | lmfwc_licenses_update() | PUT /licenses/{key} |
| Delete License | lmfwc_licenses_delete() | DELETE /licenses/{key} |
| Activate License | lmfwc_licenses_activate() | GET /licenses/activate/{key} |
| Reactivate License | lmfwc_licenses_reactivate() | GET /licenses/activate/{key} |
| Deactivate License | lmfwc_licenses_deactivate() | GET /licenses/deactivate/{key} |
| Validate License | lmfwc_licenses_validate() | GET /licenses/validate/{key} |
βοΈ License Generators
| Feature | SDK Function | API Endpoint |
|---|---|---|
| List Generators | lmfwc_generators_list() | GET /generators |
| Retrieve Generator | lmfwc_generators_get() | GET /generators/{id} |
| Create Generator | lmfwc_generators_create() | POST /generators |
| Update Generator | lmfwc_generators_update() | PUT /generators/{id} |
| Delete Generator | lmfwc_generators_delete() | DELETE /generators/{id} |
| Generate Keys (Pro) | lmfwc_generators_generate() | POST /generators/{id}/generate |
π Merchant & SaaS (Pro)
| Feature | SDK Function | API Endpoint |
|---|---|---|
| Customer Licenses | lmfwc_customers_get_licenses() | GET /customers/{id}/licenses |
| Products/Ping | lmfwc_products_ping() | POST /products/ping |
| Products/Update | lmfwc_products_update() | GET /products/update/{key} |
| Download Products | lmfwc_products_download_url() | GET /products/download/latest/{key} |
| Retrieve Application | lmfwc_applications_get() | GET /application/{id} |
| Download Application | lmfwc_applications_download_url() | Signed application download URL |
π Public Client API
| Feature | SDK Function | API Endpoint |
|---|---|---|
| Activate | lmfwc_public_activate() | POST /wp-json/lmfwc/v1/public/activate |
| Reactivate | lmfwc_public_reactivate() | POST /wp-json/lmfwc/v1/public/reactivate |
| Deactivate | lmfwc_public_deactivate() | POST /wp-json/lmfwc/v1/public/deactivate |
| Validate | lmfwc_public_validate() | POST /wp-json/lmfwc/v1/public/validate |
| Installed Check | lmfwc_public_installed() | 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 C11 compiler, CMake 3.16+, libcurl, and Git. On Windows, Visual Studio with Desktop development with C++ and C++ CMake tools for Windows is recommended. cJSON is downloaded automatically by CMake.
Step 2: Build the SDK
Add the SDK to your project:
add_subdirectory(path/to/lmw-sdk-c) 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-c.git cd lmw-sdk-c copy clean-rebuild.bat.example clean-rebuild.bat clean-rebuild.bat
Step 3: Initialize the client
Require the public header and initialize the client:
#include "lmfwc/lmfwc.h"
#include <stdlib.h>
lmfwc_error err;
lmfwc_error_init(&err);
lmfwc_client* client = lmfwc_client_create(
getenv("LMW_STORE_URL"),
getenv("LMW_CONSUMER_KEY"),
getenv("LMW_CONSUMER_SECRET"),
120
);
4. Basic Activation Pattern
cJSON* result = lmfwc_licenses_activate(
client,
"ABCD-1234-EFGH-5678",
NULL,
&err
);
if (!result) {
printf("Error: %s\n", err.message ? err.message : "unknown");
} else {
/* Store the activation token from result for future validation. */
cJSON_Delete(result);
}
lmfwc_error_clear(&err);
lmfwc_client_destroy(client);
Successful API calls return cJSON*; free responses with cJSON_Delete(). On failure, the function returns NULL and populates lmfwc_error.
ποΈ 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_public_client* pub =
lmfwc_public_client_create("https://your-store.com", 30);
cJSON* body = cJSON_CreateObject();
cJSON_AddStringToObject(body, "public_key", "YOUR_PRODUCT_PUBLIC_KEY");
cJSON_AddStringToObject(body, "license_key", "ABCD-1234-EFGH-5678");
cJSON_AddStringToObject(body, "domain", "my-app.example.com");
cJSON* result = lmfwc_public_validate(pub, body, &err);
π Get the Pro Merchant Engine Today
Unlock 100% of the SDK’s power by upgrading to the Pro edition of License Manager for WooCommerce.