Skip to main content

customerUpdate

Update an existing customer's information with partial or complete data modification.

Key Features

  • Partial Updates: Update only the fields provided in the input, leaving others unchanged
  • Validation Enforcement: All updated fields are validated according to business rules
  • Unique Constraints: Ensures email and debtor ID uniqueness if being updated
  • Data Integrity: Maintains referential integrity and data consistency

Business Rules

  • Customer must exist before update
  • Email uniqueness is enforced if email is being updated
  • Debtor ID uniqueness is enforced if debtor ID is being updated
  • Only provided fields are updated, others remain unchanged
  • Field length limits apply to updated fields

Validation Rules

  • firstName: Maximum 30 characters, HTML tags removed
  • lastName: Maximum 50 characters, HTML tags removed
  • middleName: Maximum 20 characters, HTML tags removed
  • email: Valid email format, maximum 150 characters, HTML tags removed
  • phone/mobile: Maximum 30 characters, HTML tags removed
  • debtorId: Maximum 30 characters
  • primaryLanguage: Exactly 2 characters (ISO language code)
  • dateOfBirth: Valid date string in YYYY-MM-DD format

Error Scenarios

  • CUSTOMER_NOT_FOUND_ERROR: Customer with the specified ID does not exist
  • CUSTOMER_UPDATE_ERROR: System error occurred during customer update
  • CUSTOMER_ALREADY_EXISTS_ERROR: Updated email or debtor ID conflicts with existing customer
  • CUSTOMER_BULK_VALIDATION_ERROR: Validation errors in updated customer data

Use Cases

  • Customer profile updates
  • Data correction and maintenance
  • Customer information synchronization
  • Administrative customer management

AUTH: Role=[user.OWNER,user.EDITOR] OR (('user is authenticated') AND ('customerId if present in input matches JWT'))

customerUpdate(
id: Int!
input: UpdateCustomerInput!
): Customer!

Arguments

customerUpdate.id ● Int! non-null scalar

Unique internal identifier for the customer used for system operations and data relationships

customerUpdate.input ● UpdateCustomerInput! non-null input

Partial customer data to update - only provided fields will be modified

Type

Customer object

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.