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

FeatureSDK FunctionAPI Endpoint
List Licenseslmfwc_licenses_list()GET /licenses
Retrieve Licenselmfwc_licenses_get()GET /licenses/{key}
Create Licenselmfwc_licenses_create()POST /licenses
Update Licenselmfwc_licenses_update()PUT /licenses/{key}
Delete Licenselmfwc_licenses_delete()DELETE /licenses/{key}
Activate Licenselmfwc_licenses_activate()GET /licenses/activate/{key}
Reactivate Licenselmfwc_licenses_reactivate()GET /licenses/activate/{key}
Deactivate Licenselmfwc_licenses_deactivate()GET /licenses/deactivate/{key}
Validate Licenselmfwc_licenses_validate()GET /licenses/validate/{key}

βš™οΈ License Generators

FeatureSDK FunctionAPI Endpoint
List Generatorslmfwc_generators_list()GET /generators
Retrieve Generatorlmfwc_generators_get()GET /generators/{id}
Create Generatorlmfwc_generators_create()POST /generators
Update Generatorlmfwc_generators_update()PUT /generators/{id}
Delete Generatorlmfwc_generators_delete()DELETE /generators/{id}
Generate Keys (Pro)lmfwc_generators_generate()POST /generators/{id}/generate

πŸš€ Merchant & SaaS (Pro)

FeatureSDK FunctionAPI Endpoint
Customer Licenseslmfwc_customers_get_licenses()GET /customers/{id}/licenses
Products/Pinglmfwc_products_ping()POST /products/ping
Products/Updatelmfwc_products_update()GET /products/update/{key}
Download Productslmfwc_products_download_url()GET /products/download/latest/{key}
Retrieve Applicationlmfwc_applications_get()GET /application/{id}
Download Applicationlmfwc_applications_download_url()Signed application download URL

🌐 Public Client API

FeatureSDK FunctionAPI Endpoint
Activatelmfwc_public_activate()POST /wp-json/lmfwc/v1/public/activate
Reactivatelmfwc_public_reactivate()POST /wp-json/lmfwc/v1/public/reactivate
Deactivatelmfwc_public_deactivate()POST /wp-json/lmfwc/v1/public/deactivate
Validatelmfwc_public_validate()POST /wp-json/lmfwc/v1/public/validate
Installed Checklmfwc_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.

PhaseClient SDK (This Free Repo)Pro Engine (Your WooCommerce Store)
PurposeConnects your C application to your store.Handles orders, payments, and keys.
AvailabilityFree 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.

On this page

    Scroll to Top
    license Manager For WooCommerce

    Privacy Overview

    This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.