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_name': '',
'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_name' : '',
'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]"
}