Customer
Customer entity representing individual customers and end users.
External entity from the customer service that provides customer identification and profile information. Used as a reference for customer-specific attributes and personalization features within the attribute system.
type Customer implements IBaseUser {
customerId: Int!
attributes(
input: AttributeResultSearchInput
): AttributeResultResponse
magicTokens: [MagicToken!]!
favoriteLists(
input: FavoriteListsBaseSearchInput
): FavoriteListsResponse
orderlist: OrderlistsResponse
orderlists(
input: OrderlistSearchInput
): OrderlistsResponse!
pricesheets: [Pricesheet!]
pricesheetsEffective(
input: PricesheetsEffectivePaginationInput
): PricesheetResponse!
userId: Int
debtorId: String
gender: Gender
firstName: String!
middleName: String
lastName: String!
phone: String
mobile: String
email: String
login: String
iban: String
bankAccount: String
bic: String
notes: String
primaryLanguage: String
expires: DateTime
externalId: String
dateOfBirth: DateTime
mailingList: YesNo
isLoggedIn: Boolean
createdAt: DateTime
lastModifiedAt: DateTime
uuid: String
sources: [Source!]
addresses(
type: AddressType
isDefault: YesNo
): [Address!]!
}
Fields
Customer.customerId ● Int! non-null scalar
Internal customer identifier for system operations, data relationships, and business process integration
Customer.attributes ● AttributeResultResponse object
Lists attributes for this customer based on the search input.
Customer.attributes.input ● AttributeResultSearchInput input
Customer.magicTokens ● [MagicToken!]! non-null object
Retrieve all magic tokens associated with this customer.
Returns a complete list of magic tokens that belong to this customer, including active, expired, and used tokens. Useful for authentication management and token usage tracking.
Customer.favoriteLists ● FavoriteListsResponse object
Collection of favorite lists associated with this customer.
Returns paginated results of all favorite lists owned by this customer. Includes both default and non-default lists with their complete metadata and content.
Response Structure:
- Paginated list of customer favorite lists
- Complete favorite list metadata
- Associated products and clusters
- Creation and modification timestamps
Filtering Capabilities:
- Search by list name
- Filter by default status
- Date range filtering
- Content-based filtering
Use Cases:
- Personal shopping and wishlists
- Repeat purchase management
- Product recommendation systems
- Customer preference tracking
Customer.favoriteLists.input ● FavoriteListsBaseSearchInput input
Customer.orderlist ● OrderlistsResponse object
Order lists that are assigned to or accessible by this customer.
Returns a paginated collection of order lists where this customer has been granted access. The customer will be able to see and order from these lists based on their permissions. Results can be filtered using the input parameter for more specific queries.
Customer.orderlists ● OrderlistsResponse! non-null object
Customer.orderlists.input ● OrderlistSearchInput input
Search and filtering criteria for order lists assigned to this customer.
Filters the results to show only order lists that are assigned to or accessible by this specific customer. All standard search criteria can be applied in addition to the customer-specific filtering.
If not provided, returns all order lists accessible to this customer with default pagination settings.
Validation: All provided search criteria must be valid according to their respective field requirements.
Customer.pricesheets ● [Pricesheet!] list object
Customer.pricesheetsEffective ● PricesheetResponse! non-null object
Get effective pricesheets for this customer.
Returns all pricesheets that apply to this customer, including directly assigned pricesheets and pricesheets linked via usergroups. Results are ordered by priority (highest first) and paginated.
Customer.pricesheetsEffective.input ● PricesheetsEffectivePaginationInput input
Optional input parameters for pagination.
Customer.userId ● Int scalar
The unique identifier of the user.
Customer.debtorId ● String scalar
External debtor system identifier for financial integration, billing, and payment processing
Customer.gender ● Gender enum
Customer's gender for demographic data collection and personalized communication
Customer.firstName ● String! non-null scalar
Customer's first name for personal identification and communication purposes
Customer.middleName ● String scalar
Customer's middle name or initial for complete personal identification
Customer.lastName ● String! non-null scalar
Customer's last name for personal identification and formal communication
Customer.phone ● String scalar
Primary phone number for business communication and contact purposes
Customer.mobile ● String scalar
Mobile phone number for urgent communication and SMS notifications
Customer.email ● String scalar
Primary email address for business communication, notifications, and account management
Customer.login ● String scalar
System login identifier for authentication and account access control
Customer.iban ● String scalar
International Bank Account Number for automated payment processing and financial transactions
Customer.bankAccount ● String scalar
Bank account number for payment processing and financial transaction management
Customer.bic ● String scalar
Bank Identification Code for international wire transfers and financial institution identification
Customer.notes ● String scalar
Additional notes and comments about the customer for internal reference and customer service
Customer.primaryLanguage ● String scalar
Customer's preferred language for localized communication, documentation, and user interface
Customer.expires ● DateTime scalar
Account expiration date after which customer access will be disabled for security purposes
Customer.externalId ● String scalar
External system identifier for integration with third-party applications and services
Customer.dateOfBirth ● DateTime scalar
Customer's date of birth for age verification, demographic analysis, and personalized services
Customer.mailingList ● YesNo enum
Opt-in preference for marketing communications, promotional materials, and newsletter subscriptions
Customer.isLoggedIn ● Boolean scalar
Current login status indicator for session management and security monitoring
Customer.createdAt ● DateTime scalar
Timestamp when the entity record was initially created in the system
Customer.lastModifiedAt ● DateTime scalar
Timestamp of the most recent modification to the entity record
Customer.uuid ● String scalar
Universally unique identifier (UUID) providing global uniqueness across systems
Customer.sources ● [Source!] list object
External system sources that contributed to this entity's data for traceability and integration
Customer.addresses ● [Address!]! non-null object
Retrieve addresses associated with the customer with optional filtering.
Key Features
- Address Retrieval: Returns all addresses associated with the customer
- Type Filtering: Filter addresses by specific type (delivery, invoice, etc.)
- Default Filtering: Filter addresses by default status
- Batch Loading: Optimized loading for multiple customers
Business Rules
- Returns addresses belonging to the specified customer
- Empty result if no addresses exist for the customer
- Filtering is applied after address retrieval
- Addresses are returned in creation order unless filtered
Use Cases
- Customer profile display
- Order processing and address selection
- Address management interfaces
- Data validation and verification
Customer.addresses.type ● AddressType enum
Filter addresses by specific type (delivery, invoice, etc.)
Customer.addresses.isDefault ● YesNo enum
Filter addresses by default status
Interfaces
IBaseUser interface
Interface for the BaseUser Type, where both Contacts and Customers derive from
Returned By
customer query ● customerCreate mutation ● customerUpdate mutation
Member Of
Cart object ● CustomersResponse object ● FavoriteList object ● MagicToken object ● OrderRevision object ● Pricesheet object ● Tender object