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