Customer
Represents a customer, providing access to their personal, account, and order information.
Type Definition
type Customer {
id: Int
customerNumber: String
name: String
address: Address
tags: [String]
hasAccess: Boolean
username: String
firstName: String
lastName: String
language: Locale
currency: Currency
acceptsMarketing: Boolean
orderCount: Int
orderTotal: Float
refundCount: Int
refundTotal: Float
firstOrderDate: String
lastOrderDate: String
audiences: [String]
loyaltyDiscountProgress: LoyaltyDiscountProgress
}Fields
| Field | Type | Description |
|---|---|---|
| id | Int | Unique identifier for the customer. |
| customerNumber | String | The customer number assigned to this customer. |
| name | String | The full name of the customer. |
| address | Address | The customer’s address information. |
| tags | [String] | The tags associated with the customer. |
| hasAccess | Boolean | Indicates if the customer has access rights to the store. |
| username | String | The username of the customer. |
| firstName | String | The first name of the customer. |
| lastName | String | The last name of the customer. |
| language | Locale | The customer’s language/locale information. |
| currency | Currency | The customer’s preferred currency. |
| acceptsMarketing | Boolean | Indicates if the customer has accepted marketing communications. |
| orderCount | Int | The total number of orders placed by the customer. |
| orderTotal | Float | The total amount spent by the customer on orders. |
| refundCount | Int | The total number of refunds issued to the customer. |
| refundTotal | Float | The total amount refunded to the customer. |
| firstOrderDate | String | The date and time of the customer’s first order, in RFC 2822 format. |
| lastOrderDate | String | The date and time of the customer’s most recent order, in RFC 2822 format. |
| audiences | [String] | The names of the audiences or segments the customer belongs to. |
| loyaltyDiscountProgress | LoyaltyDiscountProgress | Returns the progress of the customer towards the next loyalty discount in a GraphQL compatible format. |
Relationships
The Customer type represents an individual customer within the system. It contains comprehensive profile information including personal details, contact preferences, and historical transaction data. Customers can be associated with multiple orders through the Cart and Review types, and their information is referenced in customer-related mutations through the CustomerCreatePayload type. Customer data also appears in comments through the Comment type.
Example
query {
customer {
id
customerNumber
name
firstName
lastName
username
address {
street
city
}
tags
hasAccess
acceptsMarketing
orderCount
orderTotal
refundCount
refundTotal
firstOrderDate
lastOrderDate
language
currency
audiences
loyaltyDiscountProgress {
currentProgress
nextTierThreshold
}
}
}Implements
This type does not implement any interfaces.