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: 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
- REST API: assigned_promotion_code
- BOD noun: Order
| 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
- 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: 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
- REST API: category
- BOD noun: CatalogNavigationView
| 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)
- REST API: search_category
- Search profiles: HCL 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: 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
- REST API: espot
- BOD noun: MarketingSpotData
| 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
- REST API: event
- BOD noun: MarketingTrigger
| 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
- REST API:
guest_identity - BOD noun: Person
| Resource Method Name | BOD Service Mapping |
|---|---|
| login | BOD: ProcessPersonAction Code:
CreateGuest Command Interface:
|
| logout | BOD: ProcessPersonAction Code: Logout |
InventoryHandler
- REST API:
inventoryavailability - BOD noun: InventoryAvailability
| 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
- REST API:
login_identity - BOD noun: Person
| Resource Method Name | BOD Service Mapping |
|---|---|
| login | BOD: ProcessPersonAction Code: AuthenticatePassword |
| logout | BOD: ProcessPersonAction Code: Logout |
LTPAIdentityHandler
- REST API:
ltpa_identity - BOD noun: Person
| 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
- REST API: payment_instruction
- BOD noun: Order
| 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
- REST API:
checkout_profile - BOD noun: Person
| 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
- REST API:
person_contact - BOD noun: Person
| 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
- REST API: previewToken
- BOD noun: Person
| Resource Method Name | BOD Service Mapping |
|---|---|
| genPreviewToken | BOD: ProcessPersonAction Code:CreatePreviewTokenAction Expression: /Person |
PriceHandler
- REST API: price
- BOD noun: EntitledPrice
| Resource Method Name | BOD Service Mapping |
|---|---|
| findPricesByQuery | BOD: GetEntitledPriceAccess Profile: IBM_Store_EntitledPrice_All, IBM_Store_EntitledPrice_RangePrice_AllAction Expression: /EntitledPrice |
ProductViewHandler
- REST API: product
- BOD noun: CatalogNavigationView
| 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)
- REST API: search_product
- Search profiles: HCL 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: 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
- REST API: segment
- BOD noun: MemberGroup
| 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
- REST API:
shipping_info - BOD noun: Order
| 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)
- REST API: search_site_content
- Search profiles: HCL 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: 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
- REST API:
storelocator - BOD nouns: GeoNode, PhysicalStore
| 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] |