service
Customer API

Customer API

The public-facing API for customer profiles. Handles commands to register and update customers, serves customer reads, and publishes customer change events.

Overview

The Customer API is the front door to the Customer Management System. It validates incoming commands, persists customer data to the Customer DatabaseCustomer DatabaseContainerv1.0.0PostgreSQL database that is the system of record for all customer profile data.MapView docs, and publishes domain events (CustomerRegistered, CustomerUpdated) so the rest of the business can react to changes.

Sends 2 messages

Domain events published when customer data changes

Receives 3 messages

Commands and queries handled by this service

Responsibilities

AreaDescription
Command handlingValidates and applies Register CustomerRegister CustomerCommandv1.0.0Command to register a new customer. Ownercustomer-platformSchemaMapView docs and Update CustomerUpdate CustomerCommandv1.0.0Command to update an existing customer's profile. Ownercustomer-platformSchemaMapView docs.
ReadsServes Get CustomerGet CustomerQueryv1.0.0Query to fetch a single customer by their identifier. Ownercustomer-platformSchemaMapView docs directly from the customer database.
Event publishingEmits Customer RegisteredCustomer RegisteredEventv1.0.0Published when a new customer has registered. Ownercustomer-platformSchemaMapView docs and Customer UpdatedCustomer UpdatedEventv1.0.0Published when an existing customer's profile has changed. Ownercustomer-platformSchemaMapView docs on every change.
PersistenceReads from and writes to the Customer DatabaseCustomer DatabaseContainerv1.0.0PostgreSQL database that is the system of record for all customer profile data.MapView docs (system of record).

Architecture diagram

Messages for this service

Sends messages (2)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Customer Registered
v1.0.0eventPublished when a new customer has registered.
Customer Updated
v1.0.0eventPublished when an existing customer's profile has changed.

Receives messages (3)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Register Customer
v1.0.0commandCommand to register a new customer.
Update Customer
v1.0.0commandCommand to update an existing customer's profile.
Get Customer
v1.0.0queryQuery to fetch a single customer by their identifier.
Event-driven architecture documentation: Acme Inc