Mapping of REST services to BOD services

The following sections detail how the REST resource method names relate to specific BOD services.

AssignedCouponHandler

Resource Method Name BOD Service Mapping
getAssignedCouponInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem
applyCoupon BOD: ProcessOrderAction Code: ApplyCouponAction Expression: /Order

BOD:ProcessOrderAction Code: CalculateInternallyAction Expression: /Order

removeCoupon BOD: ProcessOrderAction Code: RemoveCouponAction Expression: /Order

BOD: ProcessOrderAction Code: CalculateInternallyAction Expression: /Order

AssignedPromotionCodeHandler

Resource Method Name BOD Service Mapping
getAssignedPromotioncodeInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem
applyPromotioncode BOD: ProcessOrderAction Code: ApplyPromotionCodeAction Expression: /Order

BOD: ProcessOrderAction Code: CalculateInternallyAction Expression: /Order

removePromotionCode BOD: ProcessOrderAction Code: RemovePromotionCodeAction Expression: /Order

BOD: ProcessOrderAction Code: CalculateInternallyAction Expression: /Order

AssociatedPromotionHandler

Resource Method Name BOD Service Mapping
findPromotionList Not applicable. Calls the CalculationCodeListDataBean data bean.

CartHandler

Resource Method Name BOD Service Mapping
getCart BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem
getUsableShippingInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem

BOD: GetOrderAccess Profile: IBM_UsableShippingInfo /Order[OrderIdentifier[(UniqueID='$OrderID$')]]

getUsablePaymentInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem

BOD: GetOrderAccess Profile: IBM_UsablePaymentInfoAction Expression: /Order[OrderIdentifier[(UniqueID='$OrderID$')]]

applyCheckoutProfile BOD: GetOrderAccess Profile: IBM_SummaryAction Expression: /Order[OrderStatus[(Status='Q')]]

BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem

BOD: ProcessOrderAction Code: CheckoutAction Expression: {_ord.usingProfile='true'}/Order

addOrderItem BOD: ChangeOrder Action Code: CreateAction Expression: /Order/OrderItem
udpateOrderItem BOD: ChangeOrder Action Code: UpdateAction Expression: /Order/OrderItem
cancelOrderInCart BOD: ProcessOrder Action Code: CancelAction Expression: /Order
preCheckout BOD: ProcessOrder Action Code: PrepareAction Expression: /Order
checkOut BOD: ProcessOrder Action Code: SubmitAction Expression: /Order
lockCart BOD: ProcessOrder Action Code: LockAction Expression: /Order
unlockCart BOD: ProcessOrder Action Code: UnlockAction Expression: /Order
getAllowableShippingModes Not applicable. Calls an AccessBean to get the allowable shipping modes.

CategoryViewHandler

Resource Method Name BOD Service Mapping
findCategoryByUniqueId BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_Details, IBM_findCatalogGroupDetailsAction Expression: /CatalogNavigationView[CatalogGroupView[(UniqueID=$uniqueId$)]]
findCategoryByIdentifier BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_Details, IBM_findCatalogGroupDetailsAction Expression: /CatalogNavigationView[CatalogGroupView[(Identifier=$identifier$)]]
findTopCategories BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_Summary, IBM_findCatalogGroupSummaryAction Expression: /CatalogNavigationView/CatalogGroupView
findSubCategories BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_Summary, IBM_findCatalogGroupSummaryAction Expression: /CatalogNavigationView[CatalogGroupView[(ParentCatalogGroupID=$parentCatalogGroupId$)]]

CategoryViewHandler (Search)

Resource Method Name Search Server Mapping (default search profile)
findCategoryByUniqueId IBM_findCategoryByUniqueIds
findCategoryByUniqueIds IBM_findCategoryByUniqueIds
findCategoryByIdentifier IBM_findCategoryByIdentifier
findTopCategories IBM_findSubCategories
findSubCategories IBM_findSubCategories

CouponHandler

Resource Method Name BOD Service Mapping
getCoupon BOD: GetWalletItemAccess Profile: IBM_Store_DetailsAction Expression: /WalletItem[Data[Status='0'] and Type='Coupon' and WalletItemIdentifier/ExternalIdentifier/WalletIdentifier[UniqueID='$uniqueId$']]
deleteCouponById BOD: ProcessWalletItemAction Code: DeleteAction Expression:/WalletItem

ESpotDataHandler

Resource Method Name BOD Service Mapping
findByName BOD: GetMarketingSpotDataAccess Profile: IBM_Store_AllAction Expression: {_wcf.ap=$accessProfile$
findByNameWithCategory BOD: GetMarketingSpotDataAccess Profile: IBM_Store_AllAction Expression: {_wcf.ap=$accessProfile$
findByNameWithProduct BOD: GetMarketingSpotDataAccess Profile: IBM_Store_AllAction Expression: {_wcf.ap=$accessProfile$

EventHandler

Resource Method Name BOD Service Mapping
triggerMarketing BOD: ProcessMarketingTriggerAction Code: EvaluateAction Expression: {_mkt.triggerParameters='DM_ReqCmd=$commandName$&nvp1=value1&nvp1=value2_mkt.endTriggerParameters'}/MarketingTrigger

GeoNodeHandler

Resource Method Name BOD Service Mapping
findTopGeoNodes (site level search) BOD: GetGeoNodeAccess Profile: IBM_Store_AllAction Expression: /GeoNode[@topGeoNode='true']
findTopGeoNodes (store level search) BOD: GetGeoNode Access Profile: IBM_Store_AllAction Expression: /GeoNode[@topGeoNode='true' and StoreIdentifier[UniqueID=$storeId$]]
findGeoByParentGeoId BOD: GetGeoNode Access Profile: IBM_Store_AllAction Expression: /GeoNode[ParentGeoNodeIdentifier[UniqueID=$parentUniqueId$]]

GuestIdentityHandler

Resource Method Name BOD Service Mapping
login BOD: ProcessPersonAction Code: CreateGuest

Command Interface: com.ibm.commerce.member.server.commands.LoginServiceCmd

logout BOD: ProcessPersonAction Code: Logout

InventoryHandler

Resource Method Name BOD Service Mapping
getInventoryAvailabilityByProductId BOD: GetInventoryAvailabilityAccess Profile: IBM_Store_DetailsAction expression: 1. /InventoryAvailability[InventoryAvailabilityIdentifier/ExternalIdentifier[CatalogEntryIdentifier[(UniqueID=$uniqueId$)] and OnlineStoreIdentifier[(UniqueID=$uniqueId$)]]]

LoginIdentityHandler

Resource Method Name BOD Service Mapping
login BOD: ProcessPersonAction Code: AuthenticatePassword
logout BOD: ProcessPersonAction Code: Logout

LTPAIdentityHandler

Resource Method Name BOD Service Mapping
authenticate BOD: ProcessPersonAction Code: AuthenticateLTPA
logout BOD: ProcessPersonAction Code: Logout

OrderHandler

Resource Method Name BOD Service Mapping
findOrderHistory BOD: GetOrderAccess Profile: IBM_SummaryAction Expression: /Order[OrderStatus[(status='$OrderStatus$')]]
findByOrderId BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: /Order[OrderIdentifier[(UniqueID='$orderID$')]]
findByStatus BOD: GetOrderAccess Profile: IBM_SummaryAction Expression: /Order[OrderStatus[(status='$OrderStatus$')]]

PaymentInstructionHandler

Resource Method Name BOD Service Mapping
getPaymentInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem
addPaymentInstruction BOD: ChangeOrderAction Code: CreateActionExpression: /Order/OrderPaymentInfo/PaymentInstruction
updatePaymentInstruction BOD: ChangeOrderAction Code: UpdateActionExpression: /Order/OrderPaymentInfo/PaymentInstruction
deletePaymentInstruction BOD: ChangeOrderAction Code: DeleteActionExpression: /Order/OrderPaymentInfo/PaymentInstruction
deleteAllPaymentInstructions BOD: ChangeOrderAction Code: DeleteActionExpression: /Order/OrderPaymentInfo/PaymentInstruction

PersonHandler

Resource Method Name BOD Service Mapping
findPersonBySelf BOD: GetPersonAccess Profile: IBM_AllActionExpression: {self=true}/Person
registerPerson BOD: ProcessPersonAction Code: RegisterActionExpression: /Person

BOD: ProcessPersonAction Code: AuthenticatePassword

updatePerson BOD: ChangePersonAction Code: UpdateActionExpression: /Person
deleteContextAttributeForPerson BOD: ChangePersonAction Code: DeleteActionExpression: /Person/ContextAttribute

PersonCheckoutProfileHandler

Resource Method Name BOD Service Mapping
getCheckoutProfile BOD: GetPersonAccess Profile: IBM_CheckoutProfileAction Expression: {self=true}/Person
updateCheckoutProfile BOD: ChangePersonAction Code: UpdateAction Expression: /Person/CheckoutProfile

PersonContactHandler

Resource Method Name BOD Service Mapping
getAllPersonContact BOD: GetPersonAccess Profile: IBM_ALLAction Expression: {self=true}/Person
findPersonContactById BOD: GetPersonAccess Profile: IBM_ALLAction Expression: {self=true}/Person
findPersonContactByNickName BOD: GetPersonAccess Profile: IBM_ALLAction Expression: {self=true}/Person
addPersonContact BOD: ChangePersonAction Code: CreateAction Expression: /Person/AddressBook/Contact
updatePersonContact BOD: ChangePersonAction Code: UpdateAction Expression: /Person/AddressBook/Contact
deletePersonContact BOD: ChangePersonAction Code: DeleteAction Expression: /Person/AddressBook/Contact

PreviewTokenHandler

Resource Method Name BOD Service Mapping
genPreviewToken BOD: ProcessPersonAction Code:CreatePreviewTokenAction Expression: /Person

PriceHandler

Resource Method Name BOD Service Mapping
findPricesByQuery BOD: GetEntitledPriceAccess Profile: IBM_Store_EntitledPrice_All, IBM_Store_EntitledPrice_RangePrice_AllAction Expression: /EntitledPrice

ProductViewHandler

Resource Method Name BOD Service Mapping
findProductsBySearchTerm BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryByNameAndShortDescriptionAction Expression: /CatalogNavigationView
findProductById BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAllAction Expression: /CatalogNavigationView[CatalogEntryView[(UniqueID=$uniqueId$)]]
findProductsByIds BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAllAction Expression: /CatalogNavigationView[CatalogEntryView[(UniqueID=$uniqueId1$ or UniqueID=$uniqueId2$)]]
findProductByPartNumber BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAllAction Expression: /CatalogNavigationView[CatalogEntryView[(PartNumber=$partNumber$)]]
findProductsByCategory BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_Details, IBM_findCatalogEntryByNameAndShortDescriptionAction Expression: /CatalogNavigationView[CatalogEntryView[ParentCatalogGroupID=$parentCatalogGroupId$ and (catalogEntryTypeCode='ProductBean' or catalogEntryTypeCode='BundleBean' or catalogEntryTypeCode='PackageBean')]]

ProductViewHandler (Search)

Resource Method Name Search Server Mapping (default search profile)
findProductsBySearchTerm IBM_findProductsBySearchTerm
findProductById IBM_findProductByIds_Details
findProductsByIds IBM_findProductByIds_Details
findProductByPartNumber IBM_findProductByPartNumber_Details
findProductsByCategory IBM_findProductsByCategory

PromotionHandler

Resource Method Name BOD Service Mapping
getPromotionsByQuery BOD: GetPromotionAccess Profile: IBM_Admin_DetailsAction Expression: /Promotion
getPromotionsByQuery?q=byName BOD: GetPromotionAccess Profile: IBM_Admin_DetailsAction Expression: /Promotion[search(contains(AdministrativeName, $qName$))]
getPromotionByID BOD: GetPromotionAccess Profile: IBM_Admin_DetailsAction Expression: /Promotion[PromotionIdentifier[(UniqueID='$promotionId$')]]

SegmentHandler

Resource Method Name BOD Service Mapping
checkIsInSegmentByUserId BOD: GetMemberGroupAccess Profile: IBM_Admin_DetailsAction Expression: /MemberGroup[MemberGroupIdentifier[UniqueID='$memberGroupID$'] and IncludedPerson[UniqueID='$personID$']]
getCustomerSegment BOD: GetMemberGroupAccess Profile: IBM_Admin_DetailsAction Expression:ByName: /MemberGroup[search(contains(MemberGroupIdentifier[ExternalIdentifier[Name="$name$" and Usage="GeneralPurpose"]]ByUserId: /MemberGroup[IncludedPerson[UniqueID="$UserID$"] and Usage="-1"]ByPersonalizationId: /MemberGroup[IncludedPerson[UniqueID="$personID$"] and Usage="-1"]ByStore: /MemberGroup[Usage='GeneralPurpose']
getCustomerSegmentById BOD: GetMemberGroupAccess Profile: IBM_Admin_DetailsAction Expression: /MemberGroup[MemberGroupIdentifier[(UniqueID='$memberGroupID$')]]

ShippingInfoHandler

Resource Method Name BOD Service Mapping
getShippingInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression:{ibmord.isCurrentShoppingCart='true'}/Order/OrderItem
updateOrderShippingInfo BOD: ChangeOrderAction Code: UpdateAction Expression: /Order/OrderItem/OrderItemShippingInfo

SiteContentHandler (Search)

Resource Method Name Search Server Mapping (default search profile)
findWebContentsBySearchTerm IBM_findWebContentsBySearchTerm
findKeywordSuggestionsByTerm Not applicable.
findAllCategorySuggestions IBM_findNavigationSuggestion_Categories
findAllBrandSuggestions IBM_findNavigationSuggestion_Brands
findAllWebContentSuggestions Not applicable.

SpotHandler

Resource Method Name BOD Service Mapping
findSpotsByQuery?q=byType BOD: GetMarketingSpotAccess Profile: IBM_Admin_DetailsAction Expression: /MarketingSpot[Usage='$qType$']
findSpotsByQuery?q=byTypeAndName BOD: GetMarketingSpotAccess Profile: IBM_Admin_DetailsAction Expression: /MarketingSpot[Usage='$qType$' and search(contains(MarketingSpotIdentifier/ExternalIdentifier/Name, '$qName$') or contains(Description, '$qName$'))]
findSpotByID BOD: GetMarketingSpotAccess Profile: IBM_Admin_DetailsAction Expression: /MarketingSpot[MarketingSpotIdentifier[(UniqueID='$spotId$')]]

StoreLocatorHandler

Resource Method Name BOD Service Mapping
findGeoNodeByGeoLocation (site level search) BOD: GetGeoNodeAccess Profile: IBM_Store_AllAction Expression: /GeoNode[@type=$type$ and search(contains(Description/Name,$Name$))]

BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]

findGeoNodeByGeoLocation (store level search) BOD: GetGeoNodeAccess Profile: IBM_Store_AllAction Expression: /GeoNode[@type=$type$ and StoreIdentifier[UniqueID=$storeId$] and search(contains(Description/Name,$Name$))]

BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]

findGeoNodeByGeoId BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]
findByStoreUniqueId BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: /PhysicalStore[PhysicalStoreIdentifier[(UniqueID=$uniqueId$)]]
findStores BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: {_sto.radiusValue=$value$;_sto.radiusUom=$uom$;_sto.maxStores=$maxStores$}/PhysicalStore[LocationInfo[GeoCode[Latitude=$latitude$ and Longitude=$longitude$]] and StoreIdentifier[UniqueID=$storeId$]]

WishlistHandler

Resource Method Name BOD Service Mapping
findWishlist BOD: GetPerson Access Profile: IBM_AllAction Expression: {self=true}/Person

BOD: GetGiftListAccess Profile: IBM_Store_GiftListSummaryAndItemsAction Expression: /GiftList[Registrant[PersonIdentifier[UniqueID=]] and Registry=]

findWishlistByUserId_default BOD: GetPersonAccess Profile: IBM_AllAction Expression: {self=true}/Person

BOD: GetGiftListAccess Profile: IBM_Store_GiftListSummaryAndItemsAction Expression: /GiftList[Registrant[PersonIdentifier[UniqueID=]] and Registry= and (State=)]

findWishlistByExternalId BOD: GetGiftListAccess Profile: IBM_Store_GiftListSummaryAndItemsAction Expression: GiftList[GiftListIdentifier[GiftListExternalIdentifier[(ExternalIdentifier=)]]]

BOD: GetGiftListAccess Profile: IBM_Store_GiftListSummaryAndItemsAction Expression: /GiftList[AccessSpecifier[GuestAccessKey= or RegistryAccessKey=] and GiftListIdentifier[GiftListExternalIdentifier[ExternalIdentifier=]]]

createWishlist BOD: ProcessGiftListAction Code: CreateAction Expression: /GiftList[1]
updateWishlist (when addItem=true) BOD: ChangeGiftListAction Code: AddAction Expression: /GiftList[] /GiftList[]/Item[]
updateWishlist BOD: ChangeGiftListAction Code: ChangeAction Expression: /GiftList[] /GiftList[]/Item[] /GiftList[]/Description
deleteWishlist BOD: ProcessGiftListAction Code: DeleteAction Expression: /GiftList[1]