Provides the basic customer domain, which is required in other e-commerce related packages.
A customer represents the legal entity of a single person and is normally used in a "my account" area.
An implementation needs to provide an adapter for the CustomerService
as well as an implementation of the Customer
interface.
A typical implementation would fetch the Token from the auth object and with that information call a microservice that will return the customer data (authorized by the token).
Your specific implementation of a customer can also include much more properties - as long as the two interfaces (ports) are implemented.
You can enable the provided adapter for the customerService with:
commerce.customer.useNilCustomerAdapter: true
Queries:
Commerce_Customer_Status
returns the customer's login statusCommerce_Customer
returns the logged-in customer