customerCreateAccount
Create login credentials for an existing customer who doesn't have an account.
Key Features
- **Account Creation**: Creates login credentials for existing customer
- **Password Management**: Supports custom password or automatic password generation
- **Authentication Setup**: Customer can immediately log in to the system
- **Email Integration**: Uses customer's existing email address for login
Business Rules
- Customer must exist and not already have login credentials
- Customer's email address is used as the login identifier
- Password must meet security requirements if provided
- Login credentials are created automatically if not specified
Validation Rules
- **password**: Optional, minimum 8 characters if provided
- Customer must have a valid email address
- Customer must not already have login credentials
Error Scenarios
- **CUSTOMER_NOT_FOUND_ERROR**: Customer with the specified ID does not exist
- **CUSTOMER_CREATE_ACCOUNT_ERROR**: System error occurred during account creation
- **CUSTOMER_ACCOUNT_ALREADY_EXISTS_ERROR**: Customer already has login credentials
- **EMAIL_ALREADY_IN_USE_ERROR**: Customer's email is already in use by another user
Use Cases
- Adding login access to existing customers
- Customer account activation
- Administrative account setup
- Integration with authentication systems
AUTH: Role=[user.OWNER]
customerCreateAccount(
id: Int!
input: CreateAccountInput
): RegisterCustomerResponse!
Arguments
customerCreateAccount.id ● Int! non-null scalar
Unique internal identifier for the customer used for system operations and data relationships
customerCreateAccount.input ● CreateAccountInput input
Optional account creation data including password