<html lang="it-it" dir="ltr"><head></head><body># API per la gestione delle licenze software - Esempio con Ruby

Questo documento è un sottoinsieme del
[documento API per la gestione delle licenze software](https://easydigitaldownloads.com/docs/software-licensing-api/), che elenca tutte le funzionalità disponibili tramite l'API. Di seguito è riportato un esempio di codice che mostra come implementare queste funzionalità con Ruby.

### Richiesta

```
require 'net/http'&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;uri = URI('https://domain.com/')&lt;br&gt;&lt;/br&gt;req = Net::HTTP::Post.new(uri)&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;edd_action = 'check_license' # Le azioni valide sono activate_license, deactivate_license, get_version, check_license&lt;br&gt;&lt;/br&gt;license    = ''&lt;br&gt;&lt;/br&gt;item_id  = '' # L'ID del prodotto sul tuo store&lt;br&gt;&lt;/br&gt;url        = 'example.org' # Se hai disabilitato il controllo dell'URL nelle impostazioni, non ne hai bisogno&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;req.set_form_data('edd_action' =&gt; edd_action, 'license' =&gt; license, 'item_id' =&gt; item_id, 'url' =&gt; url)&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;res = Net::HTTP.start(uri.hostname, uri.port) do |http|&lt;br&gt;&lt;/br&gt;  http.request(req)&lt;br&gt;&lt;/br&gt;end&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;case res&lt;br&gt;&lt;/br&gt;when Net::HTTPSuccess, Net::HTTPRedirection&lt;br&gt;&lt;/br&gt;  # controlla res.code per una risposta 200, e poi la risposta dall'API per la gestione delle licenze software&lt;br&gt;&lt;/br&gt;  # si troverà in res.body come stringa JSON&lt;br&gt;&lt;/br&gt;  puts res.body&lt;br&gt;&lt;/br&gt;else&lt;br&gt;&lt;/br&gt;  res.value&lt;br&gt;&lt;/br&gt;end&lt;br&gt;&lt;/br&gt;
```

### Risposta

Una risposta alla query sopra sarebbe una stringa in formato JSON che assomiglierebbe a questo:

```
{
	"license": "valid",
	"item_name": "Nome prodotto EDD",
	"expires": "2014-10-23 00:00:00",
	"payment_id": 54224,
	"customer_name": "John Doe",
	"customer_email": "john@sample.com"
}
```</body></html>