Mapping of REST services to BOD services
The following sections detail how the REST resource method names relate to specific BOD services.
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. |
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
- 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$)]]] |
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$')]] |
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 |
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')]] |
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 |
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] |