Mapping of REST services to BOD services
The following sections detail how the REST resource method names relate to specific BOD services.
AssignedCouponHandler
- REST API: assigned_coupon
- BOD noun: Order
Resource Method Name BOD Service Mapping getAssignedCouponInfo BOD: GetOrder
Access Profile: IBM_Details
Action Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItemapplyCoupon BOD: ProcessOrder
Action Code: ApplyCoupon
Action Expression: /OrderBOD:ProcessOrder
Action Code: CalculateInternally
Action Expression: /OrderremoveCoupon BOD: ProcessOrder
Action Code: RemoveCoupon
Action Expression: /OrderBOD: ProcessOrder
Action Code: CalculateInternally
Action Expression: /Order
AssignedPromotionCodeHandler
- REST API: assigned_promotion_code
- BOD noun: Order
Resource Method Name BOD Service Mapping getAssignedPromotioncodeInfo BOD: GetOrder
Access Profile: IBM_Details
Action Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItemapplyPromotioncode BOD: ProcessOrder
Action Code: ApplyPromotionCode
Action Expression: /OrderBOD: ProcessOrder
Action Code: CalculateInternally
Action Expression: /OrderremovePromotionCode BOD: ProcessOrder
Action Code: RemovePromotionCode
Action Expression: /OrderBOD: ProcessOrder
Action Code: CalculateInternally
Action Expression: /Order
AssociatedPromotionHandler
- REST API: associated_promotion
- Data bean: CalculationCodeListDataBean
Resource Method Name BOD Service Mapping findPromotionList Not applicable. Calls the CalculationCodeListDataBean data bean.
CartHandler
Resource Method Name BOD Service Mapping getCart BOD: GetOrder
Access Profile: IBM_Details
Action Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItemgetUsableShippingInfo BOD: GetOrder
Access Profile: IBM_Details
Action Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItemBOD: GetOrder
Access Profile: IBM_UsableShippingInfo /Order[OrderIdentifier[(UniqueID='$OrderID$')]]getUsablePaymentInfo BOD: GetOrder
Access Profile: IBM_Details
Action Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItemBOD: GetOrder
Access Profile: IBM_UsablePaymentInfo
Action Expression: /Order[OrderIdentifier[(UniqueID='$OrderID$')]]applyCheckoutProfile BOD: GetOrder
Access Profile: IBM_Summary
Action Expression: /Order[OrderStatus[(Status='Q')]]BOD: GetOrder
Access Profile: IBM_Details
Action Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItemBOD: ProcessOrder
Action Code: Checkout
Action Expression: {_ord.usingProfile='true'}/OrderaddOrderItem BOD: ChangeOrder
Action Code: Create
Action Expression: /Order/OrderItemudpateOrderItem BOD: ChangeOrder
Action Code: Update
Action Expression: /Order/OrderItemcancelOrderInCart BOD: ProcessOrder
Action Code: Cancel
Action Expression: /OrderpreCheckout BOD: ProcessOrder
Action Code: Prepare
Action Expression: /OrdercheckOut BOD: ProcessOrder
Action Code: Submit
Action Expression: /OrderlockCart BOD: ProcessOrder
Action Code: Lock
Action Expression: /OrderunlockCart BOD: ProcessOrder
Action Code: Unlock
Action Expression: /OrdergetAllowableShippingModes Not applicable. Calls an AccessBean to get the allowable shipping modes.
CategoryViewHandler
- REST API: category
- BOD noun: CatalogNavigationView
Resource Method Name BOD Service Mapping findCategoryByUniqueId BOD: GetCatalogNavigationView
Access Profile: IBM_Store_Details, IBM_findCatalogGroupDetails
Action Expression: /CatalogNavigationView[CatalogGroupView[(UniqueID=$uniqueId$)]]findCategoryByIdentifier BOD: GetCatalogNavigationView
Access Profile: IBM_Store_Details, IBM_findCatalogGroupDetails
Action Expression: /CatalogNavigationView[CatalogGroupView[(Identifier=$identifier$)]]findTopCategories BOD: GetCatalogNavigationView
Access Profile: IBM_Store_Summary, IBM_findCatalogGroupSummary
Action Expression: /CatalogNavigationView/CatalogGroupViewfindSubCategories BOD: GetCatalogNavigationView
Access Profile: IBM_Store_Summary, IBM_findCatalogGroupSummary
Action Expression: /CatalogNavigationView[CatalogGroupView[(ParentCatalogGroupID=$parentCatalogGroupId$)]]
CategoryViewHandler (Search)
- REST API: search_category
- Search profiles: WebSphere Commerce Search profiles
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
- REST API: coupon
- BOD noun: WalletItem
Resource Method Name BOD Service Mapping getCoupon BOD: GetWalletItem
Access Profile: IBM_Store_Details
Action Expression: /WalletItem[Data[Status='0'] and Type='Coupon' and WalletItemIdentifier/ExternalIdentifier/WalletIdentifier[UniqueID='$uniqueId$']]deleteCouponById BOD: ProcessWalletItem
Action Code: Delete
Action Expression:/WalletItem
ESpotDataHandler
- REST API: espot
- BOD noun: MarketingSpotData
Resource Method Name BOD Service Mapping findByName BOD: GetMarketingSpotData
Access Profile: IBM_Store_All
Action Expression: {_wcf.ap=$accessProfile$findByNameWithCategory BOD: GetMarketingSpotData
Access Profile: IBM_Store_All
Action Expression: {_wcf.ap=$accessProfile$findByNameWithProduct BOD: GetMarketingSpotData
Access Profile: IBM_Store_All
Action Expression: {_wcf.ap=$accessProfile$
EventHandler
- REST API: event
- BOD noun: MarketingTrigger
Resource Method Name BOD Service Mapping triggerMarketing BOD: ProcessMarketingTrigger
Action Code: Evaluate
Action 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: GetGeoNode
Access Profile: IBM_Store_All
Action Expression: /GeoNode[@topGeoNode='true']findTopGeoNodes (store level search) BOD: GetGeoNode
Access Profile: IBM_Store_All
Action Expression: /GeoNode[@topGeoNode='true' and StoreIdentifier[UniqueID=$storeId$]]findGeoByParentGeoId BOD: GetGeoNode
Access Profile: IBM_Store_All
Action Expression: /GeoNode[ParentGeoNodeIdentifier[UniqueID=$parentUniqueId$]]
GuestIdentityHandler
- REST API: guest_identity
- BOD noun: Person
Resource Method Name BOD Service Mapping login BOD: ProcessPerson
Action Code: CreateGuestCommand Interface: com.ibm.commerce.member.server.commands.LoginServiceCmd
logout BOD: ProcessPerson
Action Code: Logout
InventoryHandler
- REST API: inventoryavailability
- BOD noun: InventoryAvailability
Resource Method Name BOD Service Mapping getInventoryAvailabilityByProductId BOD: GetInventoryAvailability
Access Profile: IBM_Store_Details
Action expression: 1. /InventoryAvailability[InventoryAvailabilityIdentifier/ExternalIdentifier[CatalogEntryIdentifier[(UniqueID=$uniqueId$)] and OnlineStoreIdentifier[(UniqueID=$uniqueId$)]]]
LoginIdentityHandler
- REST API: login_identity
- BOD noun: Person
Resource Method Name BOD Service Mapping login BOD: ProcessPerson
Action Code: AuthenticatePasswordlogout BOD: ProcessPerson
Action Code: Logout
LTPAIdentityHandler
- REST API: ltpa_identity
- BOD noun: Person
Resource Method Name BOD Service Mapping authenticate BOD: ProcessPerson
Action Code: AuthenticateLTPAlogout BOD: ProcessPerson
Action Code: Logout
OrderHandler
Resource Method Name BOD Service Mapping findOrderHistory BOD: GetOrder
Access Profile: IBM_Summary
Action Expression: /Order[OrderStatus[(status='$OrderStatus$')]]findByOrderId BOD: GetOrder
Access Profile: IBM_Details
Action Expression: /Order[OrderIdentifier[(UniqueID='$orderID$')]]findByStatus BOD: GetOrder
Access Profile: IBM_Summary
Action Expression: /Order[OrderStatus[(status='$OrderStatus$')]]
PaymentInstructionHandler
- REST API: payment_instruction
- BOD noun: Order
Resource Method Name BOD Service Mapping getPaymentInfo BOD: GetOrder
Access Profile: IBM_Details
Action Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItemaddPaymentInstruction BOD: ChangeOrder
Action Code: Create
ActionExpression: /Order/OrderPaymentInfo/PaymentInstructionupdatePaymentInstruction BOD: ChangeOrder
Action Code: Update
ActionExpression: /Order/OrderPaymentInfo/PaymentInstructiondeletePaymentInstruction BOD: ChangeOrder
Action Code: Delete
ActionExpression: /Order/OrderPaymentInfo/PaymentInstructiondeleteAllPaymentInstructions BOD: ChangeOrder
Action Code: Delete
ActionExpression: /Order/OrderPaymentInfo/PaymentInstruction
PersonHandler
Resource Method Name BOD Service Mapping findPersonBySelf BOD: GetPerson
Access Profile: IBM_All
ActionExpression: {self=true}/PersonregisterPerson BOD: ProcessPerson
Action Code: Register
ActionExpression: /PersonBOD: ProcessPerson
Action Code: AuthenticatePasswordupdatePerson BOD: ChangePerson
Action Code: Update
ActionExpression: /PersondeleteContextAttributeForPerson BOD: ChangePerson
Action Code: Delete
ActionExpression: /Person/ContextAttribute
PersonCheckoutProfileHandler
- REST API: checkout_profile
- BOD noun: Person
Resource Method Name BOD Service Mapping getCheckoutProfile BOD: GetPerson
Access Profile: IBM_CheckoutProfile
Action Expression: {self=true}/PersonupdateCheckoutProfile BOD: ChangePerson
Action Code: Update
Action Expression: /Person/CheckoutProfile
PersonContactHandler
- REST API: person_contact
- BOD noun: Person
Resource Method Name BOD Service Mapping getAllPersonContact BOD: GetPerson
Access Profile: IBM_ALL
Action Expression: {self=true}/PersonfindPersonContactById BOD: GetPerson
Access Profile: IBM_ALL
Action Expression: {self=true}/PersonfindPersonContactByNickName BOD: GetPerson
Access Profile: IBM_ALL
Action Expression: {self=true}/PersonaddPersonContact BOD: ChangePerson
Action Code: Create
Action Expression: /Person/AddressBook/ContactupdatePersonContact BOD: ChangePerson
Action Code: Update
Action Expression: /Person/AddressBook/ContactdeletePersonContact BOD: ChangePerson
Action Code: Delete
Action Expression: /Person/AddressBook/Contact
PreviewTokenHandler
- REST API: previewToken
- BOD noun: Person
Resource Method Name BOD Service Mapping genPreviewToken BOD: ProcessPerson
Action Code:CreatePreviewToken
Action Expression: /Person
PriceHandler
- REST API: price
- BOD noun: EntitledPrice
Resource Method Name BOD Service Mapping findPricesByQuery BOD: GetEntitledPrice
Access Profile: IBM_Store_EntitledPrice_All, IBM_Store_EntitledPrice_RangePrice_All
Action Expression: /EntitledPrice
ProductViewHandler
- REST API: product
- BOD noun: CatalogNavigationView
Resource Method Name BOD Service Mapping findProductsBySearchTerm BOD: GetCatalogNavigationView
Access Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryByNameAndShortDescription
Action Expression: /CatalogNavigationViewfindProductById BOD: GetCatalogNavigationView
Access Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAll
Action Expression: /CatalogNavigationView[CatalogEntryView[(UniqueID=$uniqueId$)]]findProductsByIds BOD: GetCatalogNavigationView
Access Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAll
Action Expression: /CatalogNavigationView[CatalogEntryView[(UniqueID=$uniqueId1$ or UniqueID=$uniqueId2$)]]findProductByPartNumber BOD: GetCatalogNavigationView
Access Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAll
Action Expression: /CatalogNavigationView[CatalogEntryView[(PartNumber=$partNumber$)]]findProductsByCategory BOD: GetCatalogNavigationView
Access Profile: IBM_Store_Details, IBM_findCatalogEntryByNameAndShortDescription
Action Expression: /CatalogNavigationView[CatalogEntryView[ParentCatalogGroupID=$parentCatalogGroupId$ and (catalogEntryTypeCode='ProductBean' or catalogEntryTypeCode='BundleBean' or catalogEntryTypeCode='PackageBean')]]
ProductViewHandler (Search)
- REST API: search_product
- Search profiles: WebSphere Commerce Search profiles
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: GetPromotion
Access Profile: IBM_Admin_Details
Action Expression: /PromotiongetPromotionsByQuery?q=byName BOD: GetPromotion
Access Profile: IBM_Admin_Details
Action Expression: /Promotion[search(contains(AdministrativeName, $qName$))]getPromotionByID BOD: GetPromotion
Access Profile: IBM_Admin_Details
Action Expression: /Promotion[PromotionIdentifier[(UniqueID='$promotionId$')]]
SegmentHandler
- REST API: segment
- BOD noun: MemberGroup
Resource Method Name BOD Service Mapping checkIsInSegmentByUserId BOD: GetMemberGroup
Access Profile: IBM_Admin_Details
Action Expression: /MemberGroup[MemberGroupIdentifier[UniqueID='$memberGroupID$'] and IncludedPerson[UniqueID='$personID$']]getCustomerSegment BOD: GetMemberGroup
Access Profile: IBM_Admin_Details
Action 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: GetMemberGroup
Access Profile: IBM_Admin_Details
Action Expression: /MemberGroup[MemberGroupIdentifier[(UniqueID='$memberGroupID$')]]
ShippingInfoHandler
- REST API: shipping_info
- BOD noun: Order
Resource Method Name BOD Service Mapping getShippingInfo BOD: GetOrder
Access Profile: IBM_Details
Action Expression:{ibmord.isCurrentShoppingCart='true'}/Order/OrderItemupdateOrderShippingInfo BOD: ChangeOrder
Action Code: Update
Action Expression: /Order/OrderItem/OrderItemShippingInfo
SiteContentHandler (Search)
- REST API: search_site_content
- Search profiles: WebSphere Commerce Search profiles
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
- REST API: spot
- BOD noun: MarketingSpot
Resource Method Name BOD Service Mapping findSpotsByQuery?q=byType BOD: GetMarketingSpot
Access Profile: IBM_Admin_Details
Action Expression: /MarketingSpot[Usage='$qType$']findSpotsByQuery?q=byTypeAndName BOD: GetMarketingSpot
Access Profile: IBM_Admin_Details
Action Expression: /MarketingSpot[Usage='$qType$' and search(contains(MarketingSpotIdentifier/ExternalIdentifier/Name, '$qName$') or contains(Description, '$qName$'))]findSpotByID BOD: GetMarketingSpot
Access Profile: IBM_Admin_Details
Action Expression: /MarketingSpot[MarketingSpotIdentifier[(UniqueID='$spotId$')]]
StoreLocatorHandler
- REST API: storelocator
- BOD nouns: GeoNode, PhysicalStore
Resource Method Name BOD Service Mapping findGeoNodeByGeoLocation (site level search) BOD: GetGeoNode
Access Profile: IBM_Store_All
Action Expression: /GeoNode[@type=$type$ and search(contains(Description/Name,$Name$))]BOD: GetPhysicalStore
Access Profile: IBM_Store_Details
Action Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]findGeoNodeByGeoLocation (store level search) BOD: GetGeoNode
Access Profile: IBM_Store_All
Action Expression: /GeoNode[@type=$type$ and StoreIdentifier[UniqueID=$storeId$] and search(contains(Description/Name,$Name$))]BOD: GetPhysicalStore
Access Profile: IBM_Store_Details
Action Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]findGeoNodeByGeoId BOD: GetPhysicalStore
Access Profile: IBM_Store_Details
Action Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]findByStoreUniqueId BOD: GetPhysicalStore
Access Profile: IBM_Store_Details
Action Expression: /PhysicalStore[PhysicalStoreIdentifier[(UniqueID=$uniqueId$)]]findStores BOD: GetPhysicalStore
Access Profile: IBM_Store_Details
Action 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_All
Action Expression: {self=true}/PersonBOD: GetGiftList
Access Profile: IBM_Store_GiftListSummaryAndItems
Action Expression: /GiftList[Registrant[PersonIdentifier[UniqueID=]] and Registry=]findWishlistByUserId_default BOD: GetPerson
Access Profile: IBM_All
Action Expression: {self=true}/PersonBOD: GetGiftList
Access Profile: IBM_Store_GiftListSummaryAndItems
Action Expression: /GiftList[Registrant[PersonIdentifier[UniqueID=]] and Registry= and (State=)]findWishlistByExternalId BOD: GetGiftList
Access Profile: IBM_Store_GiftListSummaryAndItems
Action Expression: GiftList[GiftListIdentifier[GiftListExternalIdentifier[(ExternalIdentifier=)]]]BOD: GetGiftList
Access Profile: IBM_Store_GiftListSummaryAndItems
Action Expression: /GiftList[AccessSpecifier[GuestAccessKey= or RegistryAccessKey=] and GiftListIdentifier[GiftListExternalIdentifier[ExternalIdentifier=]]]createWishlist BOD: ProcessGiftList
Action Code: Create
Action Expression: /GiftList[1]updateWishlist (when addItem=true) BOD: ChangeGiftList
Action Code: Add
Action Expression: /GiftList[] /GiftList[]/Item[]updateWishlist BOD: ChangeGiftList
Action Code: Change
Action Expression: /GiftList[] /GiftList[]/Item[] /GiftList[]/DescriptiondeleteWishlist BOD: ProcessGiftList
Action Code: Delete
Action Expression: /GiftList[1]