Architecture

alt tag

Client-Side (Consumer App)

The consumer app is a multi-platform hybrid application. It runs on iOS, Android, Windows Phone, etc.

Client-Side (Employee-Facing)

Users can manage the ecommerce data (customers, products & orders) in Salesforce in the browser or in the Magento.

Server-Side

The server-side of the consumer app runs on Heroku and is built with Magento. The server-side application exposes its own SOAP endpoints. The client application gets its data by invoking these SOAP services. These are API calls to your own application, and they count towards Salesforce API limits.

Magento Integration with Salesforce

The application data is maintained in Magento. It synchronizes the Magento data with a Salesforce running in Heroku.

Salesforce API synchronizes the following Salesforce objects using SOAP:

  • Account (Bidirectional sync)
  • Contact (Bidirectional sync)
  • Product (Bidirectional sync)
  • Opportunity (Bidirectional sync)
  • Opportunity Contact Roles (Bidirectional sync)
  • Opportunity Line Item (Bidirectional sync)
  • Lead (Magento to Salesforce sync)
  • Case (Magento to Salesforce sync)
  • Newsletter (Magento to Salesforce sync)
  • Visitor Log Info (Magento to Salesforce sync)

User Management

  • User can sign up and create an account in the website.
  • Users are stored as Contacts in Salesforce.
  • User passwords are hashed with bcrypt using a per-user salt.