Skip to main content

Abstracted Business Logic

Pattern: Business logic lives in CommerceBridge — Touchpoint displays data and triggers actions.


The Philosophy​

Touchpoint has zero business logic.

It doesn't calculate prices. It doesn't multiply quantity × price. It doesn't allocate inventory. It doesn't validate product configurations.

All business logic lives in CommerceBridge.

Touchpoint's job is to:

  1. Display data from engagements
  2. Capture user actions
  3. Send actions to the Experience API
  4. Listen for updates
  5. Reload and re-render

How It Works​

1. User Action Triggers API Call​

User adds a product to cart, changes quantity, or updates configuration.

Touchpoint sends an Action to the Experience API:

POST /api/engagement/action
{
"engagementId": "eng-123",
"action": "update-line-item",
"payload": {
"lineItemId": "item-456",
"quantity": 10
}
}

2. Experience API Routes to Worker​

The Experience API:

  • Receives the action
  • Creates a job card
  • Routes to the tenant-configured worker
  • Returns immediately (async processing)

3. Worker Processes the Engagement​

The worker (e.g., engagementRecalculator):

  • Fetches the engagement from the Bridge
  • Recalculates pricing (using pricing engine)
  • Recalculates totals (line totals, subtotals, taxes, discounts)
  • Updates allocation if needed
  • Saves updated engagement back to Bridge

All calculations happen backend.

4. Notification Emitted​

Worker completes and emits notification:

Engagement eng-123 updated

5. Touchpoint Reloads Engagement​

Touchpoint receives notification via real-time connection:

  • Fetches updated engagement from API
  • Re-renders UI with new calculated totals
  • Shows updated pricing, availability, allocations

No frontend calculations. Just display.


Why This Matters​

Consistency​

All calculations use the same pricing engine, fulfillment engine, and business rules. No frontend vs backend discrepancies.

Accuracy​

Complex pricing rules (volume breaks, customer-specific pricing, zone surcharges) are handled by the backend pricing engine, not approximated in the UI.

Security​

Business logic can't be bypassed or manipulated in the frontend. All validation and calculation happens server-side.

Maintainability​

One place for business logic. When pricing rules change, update the Bridge — Touchpoint automatically displays correct results.

Tenant-Specific Logic​

Each tenant's configured worker handles their specific business rules. Touchpoint doesn't need to know tenant-specific logic.


Real-Time Updates​

Touchpoint uses real-time connections (WebSocket/SSE) to receive engagement updates:


What Touchpoint Does​

Display​

  • Renders engagement data (line items, pricing, fulfillment)
  • Shows real-time pricing from Price Cards
  • Displays availability from fulfillment plans

Capture​

  • User interactions (add to cart, change quantity, configure products)
  • Form inputs (addresses, payment info, notes)
  • User preferences

Trigger​

  • Sends actions to Experience API
  • Actions become job cards for workers

Listen​

  • Subscribes to engagement update notifications
  • Reloads data when changes occur

Render​

  • Updates UI with fresh data
  • No calculations, just presentation

What Touchpoint Doesn't Do​

No Calculations:

  • ❌ Doesn't calculate line totals (qty × price)
  • ❌ Doesn't calculate subtotals or taxes
  • ❌ Doesn't apply discounts
  • ❌ Doesn't validate inventory

No Business Logic:

  • ❌ Doesn't enforce business rules
  • ❌ Doesn't determine pricing
  • ❌ Doesn't allocate inventory
  • ❌ Doesn't validate product configurations

No Direct Database Access:

  • ❌ Doesn't query databases
  • ❌ Doesn't update engagement state directly
  • ❌ Everything flows through Experience API

Benefits of Zero Business Logic​

1. Single Source of Truth CommerceBridge engines (pricing, fulfillment) are the only place business logic exists.

2. Tenant Flexibility Each tenant's workers implement their specific business rules. Touchpoint doesn't need tenant-specific code.

3. Simplified Frontend Touchpoint is a pure UI layer. No complex logic to maintain, test, or debug.

4. Backend Evolution Change pricing rules, fulfillment strategies, or validation logic in CommerceBridge — Touchpoint automatically reflects the changes.


Learn More​

For detailed implementation, see:


CommerceBridge Integration: Display data, capture actions, zero logic.