We are B2C Platform having about 2 millions of requests a day. The User can login and we want to show them products coming from Salesforce which applies to him. Depending on which products he already bought and products he actively has, we want to dynamically show him additional products he can buy. The list of products which should be shown, must be implemented similar to car configurator: meaning he can buy one product if he bought another or he can buy one if he spent already amount x of money. Also the prices may vary depending on choice he makes. So it requires implementation of custom logic. The question is, what would be the best place to locate the service implementing this logic and providing the product list with prices for the user. We see following options:

  1. Implementation in APEX and use of APEX Controller (REST Endpoint). Our web application would call the endpoint as normal web service. Here we are considered if the performance will be stable and whether it REST Controllers are designed for that.
  2. Implementation of webservice on Heroku using Heroku Connect. Here we are considered, if it really works easily as described
  3. Implementation of the service on our infrastructure and syncing products and prices via REST API or Notifications API or Streaming API. Disadvantage of this solution is that we have to take care about synchronisation of products and prices.

What way would you prefer and why?

1 Answer 1


For B2C Implementation the best practice suggest them to leverage Heroku for all transactions which are consumer facing and use salesforce for backend activity.

Product Configuration should be done in Salesforce. It should be synced to heroku via heroku connect. this will get your products prices and also the recommendation about which products are sold in bundle combination.

Customer experience details such as their page navigation should be stored in google analytics including their shopping cart and checkout experience.

Heroku should be your central processing unit to get the complete insight from Business, Customer, Products and should be pushed to Salesforce for Analytics purpose.

Caveat: You would spend heavy on heroku instance licenses. though they are not tied up with per user per month.

Notification Center: Leverage Heroku for notification center which will help you reach mobile platform, email, text world which will be expensive in salesforce world.

Storage will be expensive in Salesforce instead to offset by using heroku.

Let me know if you need further information

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .