Software Licensing API – Example using Python
This document is a subset of the
Software Licensing API document, which lists all features available via the API. The following is example code showcasing how to implement those features with Perl.
Request
Python 3:
import requests
payload = {
'edd_action': 'activate_license', # Valid actions are activate_license, deactivate_license, get_version, check_license
'license': '',
'item_id': '', # The ID of the download on your store
'url': 'domain.com' # If you have disabled URL checking in the settings, you do not need this
}
# Domain to send the request to.
r = requests.post("https://yoursite.com/", data=payload)
# Response JSON available via r.json()
print(r.json())
Python 2:
import httplib, urllib
params = urllib.urlencode({
'edd_action' : 'activate_license', # Valid actions are activate_license, deactivate_license, get_version, check_license
'license' : '',
'item_id' : '', # The ID of the download on your store
'url' : 'domain.com' # If you have disabled URL checking in the settings, you do not need this
})
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
conn = httplib.HTTPConnection("domain.com:80") # You can use 80 (http) or 443 (https)
conn.request("POST", "/", params, headers) # /edd-sl is the Software Licensing API endpoint
response = conn.getresponse()
# You should check response.status for a `200` before proceeding with parsing the data for
# a Software Licensing response
slData = response.read()
# slData now contains a string in JSON format, to handle with however prefer
print slData
conn.close()
Response
A response to the above query would be a JSON formatted string that would look something like this:
{ "license": "valid", "item_name": "EDD Product name", "expires": "2014-10-23 00:00:00", "payment_id": 54224, "customer_name": "John Doe", "customer_email": "[email protected]" }