Account Configuration & Branding
The Account Configuration & Branding submodule handles account branding management, configuration updates, onboarding progress tracking, and account preference management.
API Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/accounts/:id/branding | Get account branding |
PUT | /v1/accounts/:id/branding | Update account branding |
PUT | /v1/accounts/indoc | Update onboarding status |
GET | /v1/accounts/indoc/status | Get onboarding status |
PUT | /v1/accounts/dnd | Update do-not-disturb settings |
MongoDB Collections Used
Configuration Collections
_accounts- Account records with branding and configuration datacrm.contacts- Business contact information for branding integrationdnds- Do-not-disturb settings for accountsuser-configs- User-specific configuration preferences
Account Configuration Workflows
Branding Management Flow
graph TD
A[Branding Update Request] --> B[Validate Account Ownership]
B --> C[Process Branding Assets]
C --> D[Update Logo & Colors]
D --> E[Sync Business Profile]
E --> F[Update Account Record]
F --> G[Apply Branding Changes]
G --> H[Return Updated Branding]
Onboarding Progress Flow
graph TD
A[Onboarding Action] --> B[Validate Page Parameter]
B --> C[Update Progress Status]
C --> D[Track Completion State]
D --> E[Calculate Progress Percentage]
E --> F[Update Account Record]
F --> G[Return Progress Status]
Configuration Update Flow
graph TD
A[Configuration Request] --> B[Validate Permissions]
B --> C[Process Settings Changes]
C --> D[Update Preferences]
D --> E[Sync Related Services]
E --> F[Apply Configuration]
F --> G[Confirm Changes]
Service Methods & Functionality
Branding Management Services
getBrandingById() / updateBrandingById() - Account branding management
-
getBrandingById(): Retrieves account branding information including logos and color schemes
- Fetches comprehensive branding data including visual elements and customizations
- Provides logo URLs, color palettes, and branding asset information
- Includes business profile integration with branding consistency
- Returns structured branding data with asset URLs and configuration details
-
updateBrandingById(): Updates account branding with custom colors, logos, and visual elements
- Handles branding asset uploads and processing with validation
- Updates color schemes, logos, and visual customization elements
- Manages branding inheritance and customization for sub-accounts
- Integrates with business profile image and branding asset management
- Returns updated branding confirmation with applied changes
Onboarding Management Services
getIndocStatus() / updateIndocStatus() - Onboarding tracking
-
getIndocStatus(): Retrieves onboarding progress and completion status for accounts
- Provides detailed onboarding progress tracking across all setup steps
- Includes page-specific completion status and progress percentages
- Tracks user progress through account setup workflows and milestones
- Returns comprehensive onboarding status with completion metrics
-
updateIndocStatus(): Updates onboarding page visits and completion markers
- Records onboarding page visits and interaction tracking
- Updates completion status for specific onboarding steps and milestones
- Manages onboarding milestone completion and progress calculation
- Tracks user engagement and completion rates for onboarding optimization
- Returns updated onboarding status with progress confirmation
Communication Preferences
updateDND() - Do-not-disturb settings management
- Updates do-not-disturb settings for contact preferences and communication control
- Manages communication preferences across different contact types and channels
- Handles DND settings for specific contacts, accounts, and communication methods
- Validates owner permissions for DND setting modifications
- Integrates with notification systems and communication preferences
- Returns updated DND settings confirmation with applied preferences
Technical Implementation Details
Branding Asset Management
- Asset Storage: Secure storage and management of branding assets including logos and images
- URL Generation: Dynamic URL generation for branding assets with CDN integration
- Color Management: Comprehensive color palette management with validation
- Inheritance System: Branding inheritance system for parent-child account relationships
Configuration Management
- Settings Validation: Comprehensive validation of configuration settings and preferences
- Permission System: Role-based permission system for configuration management
- Change Tracking: Configuration change tracking and audit logging
- Sync Integration: Automatic synchronization with related services and systems
Onboarding Tracking
- Progress Calculation: Intelligent progress calculation based on completion milestones
- Page Tracking: Detailed page-level tracking for onboarding flow optimization
- Milestone Management: Configurable milestone system for different account types
- Analytics Integration: Integration with analytics for onboarding optimization
Business Logic Implementation
Branding Management Workflow
- Permission Validation: Validate account ownership and branding modification permissions
- Asset Processing: Process branding assets including logo uploads and image optimization
- Color Validation: Validate color schemes and ensure accessibility compliance
- Business Integration: Sync branding changes with business profile information
- Inheritance Management: Apply branding inheritance rules for sub-accounts
- Cache Management: Update branding caches and CDN distribution
- Confirmation Processing: Return updated branding with confirmation details
Onboarding Management Workflow
- Page Validation: Validate onboarding page parameters and tracking requirements
- Progress Calculation: Calculate completion progress based on current status
- Milestone Tracking: Track milestone completion and progress updates
- Status Management: Update onboarding status and completion markers
- Analytics Recording: Record onboarding analytics for optimization insights
- Notification Triggers: Trigger completion notifications and next-step guidance
- Status Confirmation: Return updated onboarding status with progress details
Configuration Management Workflow
- Permission Verification: Verify user permissions for configuration changes
- Setting Validation: Validate configuration settings and parameter requirements
- Change Processing: Process configuration changes with validation and sanitization
- Service Integration: Sync configuration changes with related services
- Preference Updates: Update user and account preferences with new settings
- Audit Logging: Log configuration changes for audit and tracking purposes
- Confirmation Response: Return configuration update confirmation with details
Key Features
Comprehensive Branding System
- Visual Customization: Complete visual customization with logos, colors, and branding elements
- Asset Management: Secure branding asset storage and management with CDN integration
- Inheritance Control: Branding inheritance system for consistent sub-account branding
- Business Integration: Seamless integration with business profile and contact information
Advanced Onboarding Tracking
- Progress Monitoring: Detailed progress monitoring across all onboarding steps
- Milestone Management: Configurable milestone system for different account types
- Analytics Integration: Comprehensive analytics for onboarding optimization and insights
- Completion Tracking: Real-time completion tracking with progress percentages
Configuration Management
- Preference System: Comprehensive preference management for accounts and users
- Permission Control: Role-based permission system for configuration management
- Change Tracking: Detailed change tracking and audit logging for compliance
- Service Integration: Automatic synchronization with related services and systems
Communication Control
- DND Management: Comprehensive do-not-disturb settings for communication preferences
- Contact Preferences: Granular contact preference management across channels
- Notification Control: Integration with notification systems for preference enforcement
- Permission Management: Owner-based permission system for communication settings