SlideShare a Scribd company logo
CloudGentoAn Enterprise Level Mash-up of Magento and Salesforce.com
Jon JessupFounder & CEOCloud Conversion
Agenda Cloud Conversion BackgroundCloudGento -- What, Why and How We Do ItMagento API Best PracticesCommon Pitfalls to AvoidMagentoGoOpportunities for Cloud DevelopersLive Demos!Q & A
Cloud Conversion BackgroundAbout Cloud ConversionWe know eCommerceFounded February 2009 in Park City, UTFocus: Build innovative eCommerce applicationsMission: Solve real-world business challengesPrimary Products:  eCommSource & CloudGentoSelf-fundedTeam consists of cloud evangelists with over 25 years experience in eCommerce, CRM and ERP.
Successful Customers
Key Partners
CloudGento - What, Why and How We Do ItOverviewIntegrating B2B and B2C OperationsStreamlining Customer Service and SupportManaging RMAs and ReplacementsManaging Inventory across Multiple ChannelsReporting & AnalyticsWorkflow, Visual Flow and SecurityMarketing Initiatives (VerticalResponse, MailChimp, etc)
CloudGentoFlowCustomersOrdersProductsShipping
The Eclipse/Force.com IDE“More than 20,000 apps exist for the Android.”Google
Getting StartedMake sure API Endpoint is accessible i.e. – http://www.samplesite.com/api/v2_soapDefine API User and Appropriate RolesSystem -> Web ServicesWSDL can be found at http://www.samplesite.com/api/v2_soap?wsdl=1
Defining API Role
Defining API Users
Basic Magento API FlowMake login request with username/API key -> SessionIDStore SessionID to make subsequent API callsCall endSession (optional)
Basic Magento API CallsloginstartSessionendSessionresourcesglobalFaultsresourceFaults
Available Customer and Order API CallsdirectoryCountryListdirectoryRegionListcustomerCustomerListcustomerCustomerCreatecustomerCustomerInfocustomerCustomerUpdatecustomerCustomerDeletecustomerGroupListcustomerAddressListcustomerAddressCreatecustomerAddressInfocustomerAddressUpdatecustomerAddressDeletesalesOrderListsalesOrderInfosalesOrderAddCommentsalesOrderHoldsalesOrderUnholdsalesOrderCancelsalesOrderShipmentListsalesOrderShipmentInfosalesOrderShipmentCreatesalesOrderShipmentAddCommentsalesOrderShipmentAddTracksalesOrderShipmentRemoveTracksalesOrderShipmentGetCarrierssalesOrderInvoiceListsalesOrderInvoiceInfosalesOrderInvoiceCreatesalesOrderInvoiceAddCommentsalesOrderInvoiceCapturesalesOrderInvoiceVoidsalesOrderInvoiceCancel
Available Product and Category CallscatalogProductAttributeCurrentStorecatalogProductAttributeListcatalogProductAttributeOptionscatalogProductAttributeSetListcatalogProductTypeListcatalogProductAttributeTierPriceInfocatalogProductAttributeTierPriceUpdatecatalogCategoryAttributeCurrentStorecatalogCategoryAttributeListcatalogCategoryAttributeOptionscatalogProductAttributeMediaCurrentStorecatalogProductAttributeMediaListcatalogProductAttributeMediaInfocatalogProductAttributeMediaTypescatalogProductAttributeMediaCreatecatalogProductAttributeMediaUpdatecatalogProductAttributeMediaRemovecatalogProductLinkListcatalogProductLinkAssigncatalogProductLinkUpdatecatalogProductLinkRemovecatalogProductLinkTypescatalogProductLinkAttributescatalogCategoryCurrentStorecatalogCategoryTreecatalogCategoryLevelcatalogCategoryInfocatalogCategoryCreatecatalogCategoryUpdatecatalogCategoryMovecatalogCategoryDeletecatalogCategoryAssignedProductscatalogCategoryAssignProductcatalogCategoryUpdateProductcatalogCategoryRemoveProductcatalogProductCurrentStorecatalogProductListcatalogProductInfocatalogProductCreatecatalogProductUpdatecatalogProductSetSpecialPricecatalogProductGetSpecialPricecatalogProductDelete
Coming in 1.5.0.0 APINew Shopping Cart APISupport for multiple ComplexFilters
Best Practices & Common Pitfalls to AvoidKeep track of Increment Ids!Make Sure the API is properly setup & enabledMonitor API Calls and Don’t Overload the APIUnderstand Complex Filters and Associative EntitiesAlways use SSL and Encrypt API TokensDon’t Be Afraid to Mash-up Other ServicesBuild a Custom API in PHP
REST API via OpenSocial/Shindig!oAuth SupportGadgets and Widgets to extend the site and adminAbility to offer Free trialsEnd goal: “If you can do it in the UI, you can do it via a service”Future support for push notifications
oAuth OverviewOpen protocol (oAuth.net) for secure API authorization in a“simple” and standard method from applications.  AllowsMagentoGo accounts to be connected to 3rd partyapplications without the account owner having to share theirpassword and they can revoke access at any time.Notable oAuth Implementations:  Salesforce.com, LinkedIn, Twitter, Facebook, LivePerson, Magento, etc
The oAuth DanceAcquire key and consumer secretAsk for a request token and specify your callbackDirect the user to the Magento authorization screenReceive a callback to the URL your specifiedAsk for an access tokenMake API calls!
REST Request:	http://magento.local/shindig/gadgets/api/rest/product/93?view=preview
Open-SourceGACommunity/Professional/EnterpriseFull-Control Over InstallationResponsible for UpgradesCustomizations done in PHPSOAP APILarge Install BasePaaSBetaRuns on Magento EnterpriseMaintained/Hosted by MagentoAutomatic UpgradesCustomizations done in CSS and GadgetsREST API + oAuth +JSONRipe for Opportunity/Innovation!
eCommerce Opportunities for Cloud DevelopersFind a Pain Point and Help Solve It!
Build Gadgets/Integrations for MagentoGo
Mash-up eCommerce services (PayPal, Magento, etc)

More Related Content

Magento Imgine eCommerce Conference February 2011: Mashup of Magento and SalesForce.com

  • 2. Jon JessupFounder & CEOCloud Conversion
  • 3. Agenda Cloud Conversion BackgroundCloudGento -- What, Why and How We Do ItMagento API Best PracticesCommon Pitfalls to AvoidMagentoGoOpportunities for Cloud DevelopersLive Demos!Q & A
  • 4. Cloud Conversion BackgroundAbout Cloud ConversionWe know eCommerceFounded February 2009 in Park City, UTFocus: Build innovative eCommerce applicationsMission: Solve real-world business challengesPrimary Products: eCommSource & CloudGentoSelf-fundedTeam consists of cloud evangelists with over 25 years experience in eCommerce, CRM and ERP.
  • 7. CloudGento - What, Why and How We Do ItOverviewIntegrating B2B and B2C OperationsStreamlining Customer Service and SupportManaging RMAs and ReplacementsManaging Inventory across Multiple ChannelsReporting & AnalyticsWorkflow, Visual Flow and SecurityMarketing Initiatives (VerticalResponse, MailChimp, etc)
  • 9. The Eclipse/Force.com IDE“More than 20,000 apps exist for the Android.”Google
  • 10. Getting StartedMake sure API Endpoint is accessible i.e. – http://www.samplesite.com/api/v2_soapDefine API User and Appropriate RolesSystem -> Web ServicesWSDL can be found at http://www.samplesite.com/api/v2_soap?wsdl=1
  • 13. Basic Magento API FlowMake login request with username/API key -> SessionIDStore SessionID to make subsequent API callsCall endSession (optional)
  • 14. Basic Magento API CallsloginstartSessionendSessionresourcesglobalFaultsresourceFaults
  • 15. Available Customer and Order API CallsdirectoryCountryListdirectoryRegionListcustomerCustomerListcustomerCustomerCreatecustomerCustomerInfocustomerCustomerUpdatecustomerCustomerDeletecustomerGroupListcustomerAddressListcustomerAddressCreatecustomerAddressInfocustomerAddressUpdatecustomerAddressDeletesalesOrderListsalesOrderInfosalesOrderAddCommentsalesOrderHoldsalesOrderUnholdsalesOrderCancelsalesOrderShipmentListsalesOrderShipmentInfosalesOrderShipmentCreatesalesOrderShipmentAddCommentsalesOrderShipmentAddTracksalesOrderShipmentRemoveTracksalesOrderShipmentGetCarrierssalesOrderInvoiceListsalesOrderInvoiceInfosalesOrderInvoiceCreatesalesOrderInvoiceAddCommentsalesOrderInvoiceCapturesalesOrderInvoiceVoidsalesOrderInvoiceCancel
  • 16. Available Product and Category CallscatalogProductAttributeCurrentStorecatalogProductAttributeListcatalogProductAttributeOptionscatalogProductAttributeSetListcatalogProductTypeListcatalogProductAttributeTierPriceInfocatalogProductAttributeTierPriceUpdatecatalogCategoryAttributeCurrentStorecatalogCategoryAttributeListcatalogCategoryAttributeOptionscatalogProductAttributeMediaCurrentStorecatalogProductAttributeMediaListcatalogProductAttributeMediaInfocatalogProductAttributeMediaTypescatalogProductAttributeMediaCreatecatalogProductAttributeMediaUpdatecatalogProductAttributeMediaRemovecatalogProductLinkListcatalogProductLinkAssigncatalogProductLinkUpdatecatalogProductLinkRemovecatalogProductLinkTypescatalogProductLinkAttributescatalogCategoryCurrentStorecatalogCategoryTreecatalogCategoryLevelcatalogCategoryInfocatalogCategoryCreatecatalogCategoryUpdatecatalogCategoryMovecatalogCategoryDeletecatalogCategoryAssignedProductscatalogCategoryAssignProductcatalogCategoryUpdateProductcatalogCategoryRemoveProductcatalogProductCurrentStorecatalogProductListcatalogProductInfocatalogProductCreatecatalogProductUpdatecatalogProductSetSpecialPricecatalogProductGetSpecialPricecatalogProductDelete
  • 17. Coming in 1.5.0.0 APINew Shopping Cart APISupport for multiple ComplexFilters
  • 18. Best Practices & Common Pitfalls to AvoidKeep track of Increment Ids!Make Sure the API is properly setup & enabledMonitor API Calls and Don’t Overload the APIUnderstand Complex Filters and Associative EntitiesAlways use SSL and Encrypt API TokensDon’t Be Afraid to Mash-up Other ServicesBuild a Custom API in PHP
  • 19. REST API via OpenSocial/Shindig!oAuth SupportGadgets and Widgets to extend the site and adminAbility to offer Free trialsEnd goal: “If you can do it in the UI, you can do it via a service”Future support for push notifications
  • 20. oAuth OverviewOpen protocol (oAuth.net) for secure API authorization in a“simple” and standard method from applications. AllowsMagentoGo accounts to be connected to 3rd partyapplications without the account owner having to share theirpassword and they can revoke access at any time.Notable oAuth Implementations: Salesforce.com, LinkedIn, Twitter, Facebook, LivePerson, Magento, etc
  • 21. The oAuth DanceAcquire key and consumer secretAsk for a request token and specify your callbackDirect the user to the Magento authorization screenReceive a callback to the URL your specifiedAsk for an access tokenMake API calls!
  • 23. Open-SourceGACommunity/Professional/EnterpriseFull-Control Over InstallationResponsible for UpgradesCustomizations done in PHPSOAP APILarge Install BasePaaSBetaRuns on Magento EnterpriseMaintained/Hosted by MagentoAutomatic UpgradesCustomizations done in CSS and GadgetsREST API + oAuth +JSONRipe for Opportunity/Innovation!
  • 24. eCommerce Opportunities for Cloud DevelopersFind a Pain Point and Help Solve It!
  • 26. Mash-up eCommerce services (PayPal, Magento, etc)
  • 27. Build Social eCommerce Applications
  • 29. Question & AnswerQuestions, Thoughts, Ideas?

Editor's Notes

  1. So what does this all mean? There are 4 steps to building an app on the Force.com platform