Documentație
API licențe și actualizări
Endpoint-uri folosite de plugin-urile Leono pentru a activa licența, a o valida periodic și a primi actualizări.
Generalități
- URL de bază:
https://leono.app/api/v1, doar HTTPS, răspuns JSON. - Metoda POST, corp JSON sau form-data, cu câmpurile:
license_key,product,domain, opționalversion. - Valori
product:leono-chatbot,leono-seo-geo-ultimate. - Limită: 60 cereri / minut / IP. Domeniul este normalizat (fără
www, schemă sau cale). - Răspuns de eroare:
{"success":false,"code":"...","message":"..."}. Coduri:invalid_license,expired,suspended,revoked,limit_reached,not_activated,invalid_domain.
POST /licenses/activate
Activează licența pentru un domeniu (respectă limita de site-uri a planului).
POST /licenses/validate
Verifică periodic (ex. zilnic) dacă licența și activarea sunt valide.
POST /licenses/deactivate
Eliberează domeniul, ca licența să poată fi activată pe alt site.
POST /updates/check
Returnează ultima versiune publicată și un link de descărcare semnat (valid 30 de minute).
Exemplu (activare)
curl -X POST https://leono.app/api/v1/licenses/activate \
-H "Accept: application/json" \
-d license_key=LEONO-XXXX-XXXX-XXXX-XXXX \
-d product=leono-chatbot \
-d domain=exemplu.ro \
-d version=1.0.0
Răspuns
{
"success": true,
"code": "ok",
"message": "Licență activată.",
"status": "active",
"product": "leono-chatbot",
"plan": "Business",
"expires_at": "2027-10-17T12:00:00+00:00",
"site_limit": 5,
"sites_used": 1
}
Exemplu în PHP (WordPress)
$res = wp_remote_post( 'https://leono.app/api/v1/licenses/validate', [
'timeout' => 15,
'body' => [
'license_key' => $key,
'product' => 'leono-chatbot',
'domain' => home_url(),
'version' => LEONO_VERSION,
],
] );
$data = json_decode( wp_remote_retrieve_body( $res ), true );
if ( empty( $data['success'] ) ) { /* afișează $data['message'] */ }