Dieses Dokument ist ein Teilsatz des Software Licensing API-Dokuments, das alle über die API verfügbaren Funktionen auflistet. Das Folgende ist Beispielcode, der zeigt, wie diese Funktionen mit JavaScript implementiert werden.
Wenn Sie jQuery verwenden, sehen Sie sich unser jQuery-Beispiel an.
Beispiel GET-Anfrage
const url = new URL( 'https://yoursite.com/' ); // Site with Software Licensing activated.
const urlParams = new URLSearchParams( {
edd_action: 'check_license',
license: '59cc77ea94a2d867069a9d96142a35b8', // License key
item_id: '356', // Product ID
url: 'domain.com' // Domain the request is coming from.
} );
url.search = urlParams.toString();
fetch( url.toString() )
.then( response => {
if ( response.ok ) {
return response.json();
} else {
return Promise.reject( response );
}
} ).then( data => {
// Software Licensing has a valid response to parse
console.log( 'Successful response', data );
} ).catch( error => {
// Error handling.
console.log( 'Error', error );
} );
Beispiel POST-Anfrage
const formData = new FormData();
formData.append( 'edd_action', 'check_license' ); // Valid actions are activate_license, deactivate_license, get_version, check_license
formData.append( 'license', '59cc77ea94a2d867069a9d96142a35b8' ); // License key
formData.append( 'item_id', '356' ); // Product ID
formData.append( 'url', 'domain.com' ); // If you disable URL checking you do not need this entry.
// Site with Software Licensing activated.
fetch( 'https://yoursite.com/', {
method: 'POST',
body: formData
} ).then( response => {
if ( response.ok ) {
return response.json();
} else {
return Promise.reject( response );
}
} ).then( data => {
// Software Licensing has a valid response to parse
console.log( 'Successful response', data );
} ).catch( error => {
// Error handling.
console.log( 'Error', error );
} );
Antwort
Eine Antwort auf die obigen Anfragen wäre ein JSON-Objekt, das ungefähr so aussehen würde:
{
"success": true,
"license": "valid",
"item_id": 12534,
"item_name": "Your Product Name",
"expires": "2022-02-26 23:59:59",
"payment_id": 123456,
"customer_name": "Jane Doe",
"customer_email": "[email protected]",
"price_id": 0,
}
Beispielanfrage für ältere Browser
Die obigen Beispiele sind für moderne Browser geschrieben. Wenn Sie IE-Unterstützung benötigen, bevorzugen Sie möglicherweise die Verwendung eines XMLHttpRequest-Objekts:
// Handling a Software licensing request without jQuery in pure JavaScript. Support for older browsers.
var xhttp = new XMLHttpRequest();
// The url to the site running Easy Digital Downloads w/Software Licensing
var postUrl = 'https://yoursite.com/';
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
var slData = JSON.parse(xhttp.responseText);
handleSoftwareLicensingResponse( slData );
}
}
var data = {
edd_action: 'check_license', // Valid actions are activate_license, deactivate_license, get_version, check_license
license: '59cc77ea94a2d867069a9d96142a35b8', // License key.
item_id: '356', // Product ID
url: 'domain.com' // If you Disable URL Checking, you do not need this entry
};
xhttp.open("POST", postUrl, true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.setRequestHeader("Access-Control-Allow-Origin", "https://local.dev");
var values = '';
for (var key in data){
values += key + '=' + data[ key ] + '&';
}
values = values.substring(0, values.length - 1);
xhttp.send(values);
function handleSoftwareLicensingResponse( slData ) {
if ( slData.success == true ) {
console.log(slData);
// Software Licensing has a valid response to parse
} else {
// Invalid request was made to software licensing
}
}
