Ruby SDK

The Ultimate Ruby Licensing Engine for SaaS, Cloud, and Custom Software. Stop building custom Licensing APIs. This framework-agnostic SDK is the native Ruby bridge between your application and your License Manager for WooCommerce (Pro) backend.

πŸš€ Accelerate Your Software Monetization

If you are building a SaaS, cloud service, or custom software, your focus should be on your productβ€”not building complex REST API integrations for licensing.

This SDK provides native Ruby 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 Ruby methods.
  • Framework Agnostic: Works with Rails, Sinatra, background workers, CLIs, and standalone Ruby 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 MethodAPI Endpoint
List Licensesclient.licenses.list(params)GET /licenses
Retrieve Licenseclient.licenses.get(key)GET /licenses/{key}
Create Licenseclient.licenses.create(data)POST /licenses
Update Licenseclient.licenses.update(key, data)PUT /licenses/{key}
Delete Licenseclient.licenses.delete(key)DELETE /licenses/{key}
Activate Licenseclient.licenses.activate(key)GET /licenses/activate/{key}
Reactivate Licenseclient.licenses.reactivate(key, params)GET /licenses/activate/{key}
Deactivate Licenseclient.licenses.deactivate(key)GET /licenses/deactivate/{key}
Validate Licenseclient.licenses.validate(key)GET /licenses/validate/{key}

βš™οΈ License Generators

FeatureSDK MethodAPI Endpoint
List Generatorsclient.generators.list(params)GET /generators
Retrieve Generatorclient.generators.get(id)GET /generators/{id}
Create Generatorclient.generators.create(data)POST /generators
Update Generatorclient.generators.update(id, data)PUT /generators/{id}
Delete Generatorclient.generators.delete(id)DELETE /generators/{id}
Generate Keys (Pro)client.generators.generate(id, data)POST /generators/{id}/generate

πŸš€ Merchant & SaaS (Pro)

FeatureSDK MethodAPI Endpoint
Customer Licensesclient.customers.get_licenses(id)GET /customers/{id}/licenses
Products/Pingclient.products.ping(data)POST /products/ping
Products/Updateclient.products.update(key)GET /products/update/{key}
Download Productsclient.products.download_url(key)GET /products/download/latest/{key}
Retrieve Applicationclient.applications.get(id, params)GET /application/{id}
Download Applicationclient.applications.download_url(id, token)Signed application download URL

🌐 Public Client API

FeatureSDK MethodAPI Endpoint
Activatepublic_client.activate(body)POST /wp-json/lmfwc/v1/public/activate
Reactivatepublic_client.reactivate(body)POST /wp-json/lmfwc/v1/public/reactivate
Deactivatepublic_client.deactivate(body)POST /wp-json/lmfwc/v1/public/deactivate
Validatepublic_client.validate(body)POST /wp-json/lmfwc/v1/public/validate
Installed Checkpublic_client.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.

PhaseClient SDK (This Free Repo)Pro Engine (Your WooCommerce Store)
PurposeConnects your Ruby application to your store.Handles orders, payments, and keys.
AvailabilityFree for developers.Purchase Required Here

πŸ“¦ 3-Minute Developer Quick Start

Step 1: Install the SDK

The SDK supports Ruby 2.7 or newer and uses Ruby’s standard net/http and json libraries:

gem install lmw-sdk-ruby

Alternatively, add it to your Gemfile:

gem 'lmw-sdk-ruby', git: 'https://github.com/YOUR_ORG/lmw-sdk-ruby.git'

Then run:

bundle install

Step 2: Initialize the client

Create the client with credentials stored in environment variables:

require 'lmw_sdk'

client = LmwSdk::LicenseManagerClient.new(
  store_url: ENV['LMW_STORE_URL'],
  consumer_key: ENV['LMW_CONSUMER_KEY'],
  consumer_secret: ENV['LMW_CONSUMER_SECRET']
)

3. Basic Activation Pattern

begin
  result = client.licenses.activate('ABCD-1234-EFGH-5678')
  # Store the activation token from result for future validation.
rescue LmwSdk::LicenseManagerError => error
  puts "Error: #{error.api_error_message}"
end

Successful calls return parsed JSON as a Hash or Array. Failures raise LmwSdk::LicenseManagerError.

πŸ—οΈ Application Integration

Rails, Sinatra, and Server-side 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.

require 'lmw_sdk'

public_client = LmwSdk::LicenseManagerPublicClient.new(
  store_url: ENV['LMW_STORE_URL']
)

result = public_client.validate(
  'public_key' => ENV['LMW_PUBLIC_KEY'],
  'license_key' => 'ABCD-1234-EFGH-5678',
  'domain' => 'my-app.example.com'
)

πŸš€ 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.