EDD REST API V2 – Customers
This document relates specifically to Version 2 of the EDD API.
Documentation for Version 1 is here.
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/v2/customers/?key=c281cf0a95be875d9eeb284fb004c938&token=5f9432f3ffa5945755ebc66179810d70&number=25
For each customer returned, the following information is returned for each customer:
- customer_id – The unique ID of the customer. Matches
idin this API result. - user_id – The WordPress user ID. If the customer purchased as a guest, this will return as nothing.
- 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.
- date_created – The date this customer was created in EDD.
- 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.
- date – The date to retrieve cutomers for. This has three accepted values:
- today – Will retrieve customers created on the current day.
- yesterday – Will retrieve customers created on the previous day.
- range – Will retrieve customers created within a date range.
- startdate – Format: YYYYMMDD. Example: 20120224 = 2012/02/24
- enddate – Format: YYYYMMDD. Example: 20120531 = 2012/02/24
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": "3",
"user_id": "",
"username": "",
"display_name": "",
"customer_id": "3",
"first_name": "Matthew",
"last_name": "Dixon",
"email": "[email protected]",
"additional_emails": [],
"date_created": "2016-05-28 00:09:40"
},
"stats": {
"total_purchases": "1",
"total_spent": "20.000000",
"total_downloads": 0
}
},
{
"info": {
"id": "2",
"user_id": "2",
"username": "bob",
"display_name": "bob",
"customer_id": "2",
"first_name": "",
"last_name": "",
"email": "[email protected]",
"additional_emails": [
"[email protected]"
],
"date_created": "2016-05-17 14:17:15"
},
"stats": {
"total_purchases": "1",
"total_spent": "0.000000",
"total_downloads": 0
}
},
{
"info": {
"id": "1",
"user_id": "1",
"username": "jose",
"display_name": "Jose",
"customer_id": "1",
"first_name": "Jose",
"last_name": "Espinoza",
"email": "[email protected]",
"additional_emails": [],
"date_created": "2016-05-17 14:08:57"
},
"stats": {
"total_purchases": "6",
"total_spent": "70.000000",
"total_downloads": 2
}
}
],
"request_speed": 0.0081720352172852
}
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/v2/customers/?key=c281cf0a95be875d9eeb284fb004c938&token=5f9432f3ffa5945755ebc66179810d70&customer=1
or
http://yoursite.com/edd-api/v2/customers/?key=c281cf0a95be875d9eeb284fb004c938&token=5f9432f3ffa5945755ebc66179810d70&customer=jose@domain.com
The response for a single customer will be like this:
{
"customers": [
{
"info": {
"id": "1",
"user_id": "1",
"username": "jose",
"display_name": "Jose",
"customer_id": "1",
"first_name": "Jose",
"last_name": "Espinoza",
"email": "[email protected]",
"additional_emails": [],
"date_created": "2016-05-17 14:08:57"
},
"stats": {
"total_purchases": "6",
"total_spent": "70.000000",
"total_downloads": 2
}
}
]
}
A query looking for customers created today would look like this:
http://yoursite.com/edd-api/customers/?key=c281cf0a95be875d9eeb284fb004c938&token=5f9432f3ffa5945755ebc66179810d70&date=today
A date range would look like this:
http://yoursite.com/edd-api/customers/?key=c281cf0a95be875d9eeb284fb004c938&token=5f9432f3ffa5945755ebc66179810d70&date=range&startdate=20130201&enddate=20130210