Skip to main content
Back to AutoCore Hub

B2C API Surface Map

Two God Nodes, two distinct domains: Products (what you buy) and Party (where you buy it from).


1. What Does AutoCoreB2CProductServices Expose?

42 methods across 5 functional domains:

A. Catalog & Part Lookup

MethodPurpose
getProductDetailsReturns full PIES product metadata by SKU (allianceProductId) — brand, sub-brand, part terminology, category, images, attributes
getWDProductDetailWD-scoped product detail with pricing and member-specific inventory
getWDProductUpdatedPricesPrice refresh for WD products
getValidatedPartsReturns B2C-visible parts that have passed the saleability gate
getProductDigitalAssetsReturns media assets (images, PDFs) for a product
MethodPurpose
getSAYTRecommendationsSearch-As-You-Type via Epicor's saytrecommendations Solr core
getSAYTByKeywordKeyword-based SAYT; delegates to EpicorSearchServices

C. Inventory & Availability

MethodPurpose
checkProductAvailabilityChecks qty available at a specific facility. Delegates to checkPartAvailability service (AES/WD layer)
checkSITMOptionAvailabilityChecks if Ship-It-To-Me is available for the product+store combo
getSITMInventoryAvailabilitySITM inventory count at nearest stores
checkSITMInventoryAtNearestStoresGeo-radius SITM store check
getPartAvailabilityAtInventoryLocationsMulti-location inventory sweep
updateWDProductInventoryPush updated inventory from WD feed
decrementWDProductInventoryDecrement inventory post-order
resetWDProductsInventoryReset WD inventory to zero (WD feed restart)

D. Saleability / Lifecycle Management (Admin APIs)

MethodPurpose
configureProductAsSaleableGates a product into the B2C store — sets it as visible/buyable
configureProductAsNonSaleableRemoves a product from B2C store
autoConfigureProductsAsNonSaleableBulk job to retire stale products
validateProductPre-flight check before saleability config
cleanProductsFromB2CStoreRemoves specific product associations
cleanB2CStoreFull B2C store purge (admin reset)

E. Order Fulfillment Config

MethodPurpose
placeAESOrderV2Places an AES (Automotive Exchange System) order
postStoreDeliveryConfig / getStoreDeliveryConfig / deleteStoreDeliveryConfigDelivery config per store
postStoreDeliverySchedule / deleteStoreDeliveryScheduleDelivery schedule management
getProductAdditionalFee / setAdditionalFeeProductGeoEco/core fees geo-mapping
getNearestStoreGeo-lookup for nearest store with inventory

F. Selling Location & Price Region Management

MethodPurpose
storeSellingLocationGroup / getSellingLocationGroupsManage logical groups of store locations
getPriceRegionGroups / addSellingLocationToPriceRegionGroupPrice region assignment
getDefaultPriceRegionGroup / storeDefaultPriceRegionGroupDefault pricing tier
B2C Data Plane OverviewUse mouse wheel to zoom, drag to pan • Pull bottom edge to resize

2. What Does "Party" Mean in B2C Context?

Not the end consumer. In AutoCore's B2C context, "Party" = a physical store location or warehouse in the alliance supply chain.

The AutoCoreB2CPartyServices hierarchy resolves like this:

ProductStore (storeId)
└── payToPartyId → MEMBER (e.g., "Bumper-to-Bumper" franchise)
└── DOMAIN_PARTY (franchise territory parent)
├── PART_STORE (individual retail location with physical inventory)
└── DISTRIBUTOR (warehouse / distribution center)

LiferayId = the external CMS identifier for a store party. The B2C storefront sends liferayId instead of internal partyIdAutoCoreB2CPartyServices translates this on every request.

What AutoCoreB2CPartyServices exposes:

Method GroupFunctions
Store DiscoverygetMemberStoreOrDistributionCenter, getMemberActiveStores, getSITMActiveStores
Location DetailgetFacilityLocation — the core resolver: returns address, hours, SITM/pickup flags, price region, tax config
Transfer LogisticsstoreTransferSchedule, getTransferSchedule, storeTransferLocation, getTransferLocations, getTransferLocationsInvAndSchedule
AES ConfigpostAESConfig, getAESConfig — WD ordering credentials per store
Tax ConfigaddTaxConfigForCores, addTaxConfigForDeliveryFee, addTaxConfigForEnvironmentalFee, checkTaxOn*, storeCustomTaxConfig
WD BlacklistgetWDBlacklist — stores that are banned from ordering via WD
AvailabilitybulkCheckTransferAvailabilityForProducts
ShippinggetAvailableShippingOptions

3. Sequence Diagrams

Flow A: Product Detail Page (getProductDetails)

Flow A: Product Detail — Pure RDBMS ReadUse mouse wheel to zoom, drag to pan • Pull bottom edge to resize

Flow B: Inventory Check (checkProductAvailability)

Flow B: Inventory Check — DB + External WD LayerUse mouse wheel to zoom, drag to pan • Pull bottom edge to resize

Flow C: Store Locator (getMemberStoreOrDistributionCenter)

Flow C: Store Locator — Recursive Party Graph ResolutionUse mouse wheel to zoom, drag to pan • Pull bottom edge to resize

Flow D: SAYT Typeahead (getSAYTByKeyword)

Flow D: SAYT Typeahead — Direct Solr ClientUse mouse wheel to zoom, drag to pan • Pull bottom edge to resize

4. Key Insight: Two Planes of Truth

PlaneSource of TruthUsed by
Product catalog (what is it?)RDBMS entity layergetProductDetails, getWDProductDetail
Product availability (can I buy it?)External WD/AES API via checkPartAvailabilitycheckProductAvailability
Search (find it)Solr (globalproducts, saytrecommendations)B2C search, SAYT
Store network (where from?)RDBMS party/facility graphAll AutoCoreB2CPartyServices methods
Fitment (fits my car?)External Opticat APIAutoCoreB2CVehicleServices

The B2C layer never does a full-join across all five planes simultaneously. Each API call touches only one or two planes — the storefront UI assembles the complete picture on the client side by making multiple parallel API calls.