LIZENZ-API
Aktiviere, prüfe und aktualisiere Produkte direkt aus deinem Plugin oder Server heraus. Alle Endpunkte akzeptieren JSON- oder Form-Bodies und antworten mit JSON.
IP-Limit je Lizenz
2
beliebig viele Instanzen je IP
Produkte je Subuser-Key
3
an eine Instanz gebunden
Sperrfrist nach Widerruf
14 Tage
bis zur Reaktivierung
Live-Check
https://beta.addonalchemy.com/api/v1/activate
Aktiviert eine Instanz und registriert die IP-Adresse des Aufrufers. Liefert die Instanz-ID zurück, die für Folgeaufrufe gespeichert werden sollte.
- Felder
- key, product_id, [instance_id], [name]
- Antwort-Gründe
- valid · product_not_licensed · ip_limit_reached · license_revoked · license_expired · subuser_revoked · subuser_bound_other_instance · unknown_key
https://beta.addonalchemy.com/api/v1/deactivate
Entfernt eine Instanz und gibt ihre IP-Adresse wieder frei, sofern sie von keiner weiteren Instanz genutzt wird.
- Felder
- key, instance_id
- Antwort-Gründe
- ok · unknown_key
https://beta.addonalchemy.com/api/v1/verify
Prüft ohne Nebenwirkungen, ob ein Schlüssel echt und für ein Produkt gültig ist.
- Felder
- key, product_id
- Antwort-Gründe
- ok · product_not_licensed · revoked · not_in_subuser · owner_lost_product · unknown_key
https://beta.addonalchemy.com/api/v1/updates/check
Liefert die neueste freigegebene Version inklusive Changelog, Prüfsumme und – bei gültiger Lizenz – einer signierten Download-URL.
- Felder
- product_id, [version], [key], [platform]
- Antwort-Gründe
- ok · unknown_product · no_release
Beispiele
curl -X POST https://beta.addonalchemy.com/api/v1/activate \
-H "Content-Type: application/json" \
-d '{"key":"AALC-XXXX-XXXX-XXXX-XXXX","product_id":"PRD-XXXX-XXXX","name":"Lobby-01"}'
curl "https://beta.addonalchemy.com/api/v1/updates/check?product_id=PRD-XXXX-XXXX&version=1.0.0&key=AALC-XXXX-XXXX-XXXX-XXXX"
$response = file_get_contents('https://beta.addonalchemy.com/api/v1/activate', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/json',
'content' => json_encode(['key' => $licenseKey, 'product_id' => 'PRD-XXXX-XXXX']),
'ignore_errors' => true,
],
]));
$license = json_decode($response, true);
$isValid = ($license['status'] ?? null) === 'valid';
const response = await fetch('https://beta.addonalchemy.com/api/v1/activate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ key: licenseKey, product_id: 'PRD-XXXX-XXXX', instance_id: storedInstanceId }),
});
const license = await response.json();
if (license.status !== 'valid') throw new Error(license.reason);
import requests
response = requests.post('https://beta.addonalchemy.com/api/v1/activate', json={
'key': license_key,
'product_id': 'PRD-XXXX-XXXX',
})
license = response.json()
is_valid = license.get('status') == 'valid'
Authentifizierte Endpunkte
Für kontobezogene Abfragen erstellst du in deinem Konto einen API-Token und sendest ihn als Authorization: Bearer <token>.
- GET https://beta.addonalchemy.com/api/v1/me
- GET https://beta.addonalchemy.com/api/v1/licenses
- GET https://beta.addonalchemy.com/api/v1/licenses/{key}/download
- GET https://beta.addonalchemy.com/api/v1/plugins (öffentlich)
- GET https://beta.addonalchemy.com/api/v1/plugins/{product_id}/versions (öffentlich)