EDD REST API – Customers
The
EDD REST API provides an endpoint called /customers/
. The customers endpoint allows for you to query the database and retrieve a list of customers that have purchased items from your shop. A basic customers query looks like this:
http://yoursite.com/edd-api/customers/?key=c281cf0a95be875d9eeb284fb004c938&token=5f9432f3ffa5945755ebc66179810d70&number=25
For each customer returned, the following information is returned for each customer:
- id – The WordPress user ID. If the customer purchased as a guest, this will return as -1.
- username – The WordPress user login name. If the customer purchased as a guest, this will return as nothing.
- display_name – The WordPress user display name. If the customer purchased as a guest, this will return as nothing.
- first_name – The customer first name.
- last_name – The customer last name.
- email – The customer’s email address.
- total_purchases – The total number of purchases the customer has made.
- total_spent – The total amount the customer has spent.
- total_downloads – The total number of files the customer has downloaded.
Along with the data returned for each customer is a
stats object that shows the total number of customers in the database.
A customers query response looks like this:
{ "customers": [ { "info": { "id": -1, "username": "Guest", "display_name": "Guest", "first_name": "Guest", "last_name": "Guest", "email": "[email protected]" }, "stats": { "total_purchases": 2, "total_spent": "20", "total_downloads": 0 } }, { "info": { "id": -1, "username": "Guest", "display_name": "Guest", "first_name": "Guest", "last_name": "Guest", "email": "[email protected]" }, "stats": { "total_purchases": 0, "total_spent": "0", "total_downloads": 0 } } ] }
If you wish to retrieve the info for a specific customer, you can add the
&customer={identifier} parameter, like this:
http://yoursite.com/edd-api/customers/?key=c281cf0a95be875d9eeb284fb004c938&token=5f9432f3ffa5945755ebc66179810d70&customer=1
or
http://yoursite.com/edd-api/customers/?key=c281cf0a95be875d9eeb284fb004c938&token=5f9432f3ffa5945755ebc66179810d70&customer=email@domain.com
The response for a single customer will be like this:
{ "customers": [ { "info": { "id": 1, "username": "pippin", "display_name": "Pippin Williamson", "first_name": "Pippin", "last_name": "Williamson", "email": "[email protected]" }, "stats": { "total_purchases": 61, "total_spent": 1139.68, "total_downloads": 31 } } ] }