Skip to content

Integrations ​

Your software talks to your store through the REST API. How much code that takes depends on the platform.

Which Integration Do I Use? ​

Your softwareUseWhat you get
WordPress pluginWordPress SDK – LicenseDockWordPressUpdates in the WordPress dashboard, license activation, the site domain activated automatically
WordPress themeWordPress SDK – LicenseDockWordPressThemeThe same, for themes, child themes included
Joomla extensionJoomla's own updater – no SDKUpdates in Joomla's admin, with the Download Key as the license key
Other PHPPHP client – LicenseDockClientActivate, validate, deactivate, update checks. A reference client to copy and adapt
Anything else – desktop, Electron, CLI, mobile, other languagesThe REST API directlyForm-encoded HTTP calls and JSON responses

Getting the SDK ​

The SDK is a separate download. Download it from your account at contona.com, next to the LicenseDock package. The file is licensedock-sdk-v2.1.0.zip:

sdk/
├── LicenseDockClient.php                    ← PHP client, and the base class for WordPress
├── wordpress/LicenseDockWordPress.php       ← WordPress plugins
├── wordpress/LicenseDockWordPressTheme.php  ← WordPress themes
└── README.md

The SDK needs PHP 7.4 or later. It runs inside your software on your customers' servers, so its PHP requirement is separate from your store's.

Per-Product Code in the Admin ​

Every product shows integration code already filled in with its own ID and your store URL. Open Components → LicenseDock → Products → [product] → Downloads and scroll to Integration. There are three tabs:

TabShows
JoomlaThe product's download URL, a sample update XML, the manifest lines, reading the key, activating the domain, and the installer plugin that sends the domain with each update
WordPressThe SDK setup and activate-on-save snippets
REST APIcurl requests and responses for each endpoint, and the error codes

Copy from there to skip replacing placeholders by hand. The URLs work as soon as the product is saved, and serve a file once you upload a version.

What You Need From the Store ​

ValueWhere
Store URLYour site's root URL, e.g. https://yoursite.com
Product IDThe ID column in Products
Activation typePer plan: domain, device, seat or instance. It decides what your software sends as identifier
Download API AccessPer product, on the Details tab. Decides what /downloads asks for. See Downloads

Activation Types ​

Set per plan. Your software sends a generic identifier and the store normalises it by the plan's type.

TypeSend
domainThe site's host, e.g. customer-site.com
deviceA stable machine fingerprint
seatThe user's email address
instanceA server hostname or ID

Joomla Extensions by Contona