Skip to content

Integration

1. Sister Services

SisterDirectionSurfaceAuthFailure ModeIdempotency
@nx/identityHTTP JWKS (/jw-certs) for JWT verifyretry / boot failrequest-id
@nx/searchComponents (ApplicationSearchComponent, Typesense, Embedding); CDC consumer in WORKER roleCDC offset replayper-PK upsert
@nx/inventory (CDC)public.Merchant, public.ProductVariantDebezium replayper-PK; seeds location + InventoryItem
@nx/pricing (CDC)pricing.Fare*, public.ProductVariantDebezium replayper-PK; fare init
@nx/taxation (CDC)public.Product (taxGroupId)Debezium replayper-PK; tax provisioning
@nx/invoice (CDC)public.MerchantTaxInfoDebezium replayper-PK; TaxInfo authoritative
@nx/assetApplicationAssetComponent (Minio); MetaLinksupload retryby asset id
@nx/saleHTTP read of ProductVariant, ProductInfo, SaleChannel, CategoryJWT (s2s)retrysnapshot on order

Commerce does not push to inventory/pricing/taxation/invoice directly — all four consume CDC. See ADR-0002.

2. External Systems

SystemViaNotes
Minio@nx/assetObject storage for product/variant media
Typesense@nx/searchSearch engine; populated by CDC, not by commerce directly
Kafka / DebeziuminfraCommerce only writes Postgres; Debezium (Kafka Connect) does the WAL capture
Payment/e-invoice providersencrypted ConfigurationCommerce stores credentials (AES-256-GCM); actual calls owned by payment/invoice services

No direct third-party API calls from commerce source — provider credentials are captured here and consumed elsewhere.

3. Critical Cross-Service Flows

3.1 Onboarding → Inventory Seeding (CDC)

3.2 Product Variant → Inventory Item + Pricing Fare (CDC)

COMBO variants are not in STOCKABLE_SET, so inventory seeds no InventoryItem for them.

3.3 Merchant Tax Info → TaxInfo (CDC)

3.4 Multi-Merchant Product Replication (internal)

4. Contract Stability

SurfaceStabilityVersioning
HTTP /v1/api/commerce/*stableURL prefix /v1/
CDC topics (public.*)schema-coupledadditive columns safe; renames break consumers — coordinate
Merchant.metadata.tax shapestableadditive fields only (taxCode required)
EventBus event keysinternalnot a public contract
BullMQ job shapeinternalnot a public contract

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.