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