Sari la conținut
L Leono.APP
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țional version.
  • 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'] */ }