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.

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$]]

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$)]]]

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

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

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]