Skip to main content

customerRegister

Create a new customer account with login credentials and authentication setup.

Key Features

  • **Customer Creation**: Creates a new customer with complete profile information
  • **Account Setup**: Automatically creates login credentials for the customer
  • **Authentication Ready**: Customer can immediately log in to the system
  • **Password Management**: Supports custom password or automatic password generation

Business Rules

  • Email address must be unique across all customers and users
  • Password must meet security requirements (minimum 8 characters)
  • Customer profile validation follows standard customer creation rules
  • Login credentials are created automatically if not provided

Validation Rules

  • **email**: Required field, valid email format, maximum 150 characters, HTML tags removed
  • **password**: Optional, minimum 8 characters if provided
  • All standard customer validation rules apply (firstName, lastName, field lengths, etc.)

Error Scenarios

  • **CUSTOMER_ALREADY_EXISTS_ERROR**: Customer with the same email already exists
  • **CUSTOMER_REGISTER_ERROR**: System error occurred during customer registration
  • **EMAIL_ALREADY_IN_USE_ERROR**: Email address is already in use by another user
  • **CUSTOMER_CREATE_ERROR**: Error occurred during customer profile creation

Use Cases

  • Customer self-registration
  • Administrative customer onboarding with login access
  • Customer account creation with immediate system access
  • Integration with external authentication systems

AUTH: Role=[user.OWNER]

customerRegister(
input: RegisterCustomerInput!
): RegisterCustomerResponse!

Arguments

customerRegister.input ● RegisterCustomerInput! non-null input

Customer registration data including login credentials for account creation

Type

RegisterCustomerResponse object