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

Post on 07-Dec-2014

2,614 views 1 download

Tags:

description

Cloud Conversions CEO Jon Jessup presented how to integrate Magento's eCommerce platform with SalesForce.com during the Imagine eCommerce Conference's Day 2 technical breakout sessions.

transcript

CloudGentoAn Enterprise Level Mash-up of Magento and Salesforce.com

Jon Jessup

Founder & CEO

Cloud Conversion

Agenda

Cloud Conversion Background

CloudGento -- What, Why and How We Do It

Magento API Best Practices

Common Pitfalls to Avoid

MagentoGo

Opportunities for Cloud Developers

Live Demos!

Q & A

Cloud Conversion Background

Team consists of cloud evangelists with over 25 years experience in

eCommerce, CRM and ERP.

We know eCommerceAbout Cloud ConversionFounded February 2009 in Park City, UT

Focus: Build innovative eCommerce applications

Mission: Solve real-world business challenges

Primary Products: eCommSource & CloudGento

Self-funded

Successful Customers

Key Partners

CloudGento - What, Why and How We Do It

Overview

Integrating B2B and B2C Operations

Streamlining Customer Service and Support

Managing RMAs and Replacements

Managing Inventory across Multiple Channels

Reporting & Analytics

Workflow, Visual Flow and Security

Marketing Initiatives (VerticalResponse, MailChimp, etc)

CloudGento Flow

Customers

Orders

Products

Shipping

The Eclipse/Force.com IDE

Getting Started

Make sure API Endpoint is accessible

i.e. – http://www.samplesite.com/api/v2_soap

Define API User and Appropriate Roles

System -> Web Services

WSDL can be found at

http://www.samplesite.com/api/v2_soap?wsdl=1

Defining API Role

Defining API Users

Basic Magento API Flow

Make login request with username/API key -> SessionID

Store SessionID to make subsequent API calls

Call endSession (optional)

Basic Magento API Calls

login

startSession

endSession

resources

globalFaults

resourceFaults

Available Customer and Order API Calls

directoryCountryList

directoryRegionList

customerCustomerList

customerCustomerCreate

customerCustomerInfo

customerCustomerUpdate

customerCustomerDelete

customerGroupList

customerAddressList

customerAddressCreate

customerAddressInfo

customerAddressUpdate

customerAddressDelete

salesOrderListsalesOrderInfosalesOrderAddCommentsalesOrderHoldsalesOrderUnholdsalesOrderCancelsalesOrderShipmentListsalesOrderShipmentInfosalesOrderShipmentCreatesalesOrderShipmentAddCommentsalesOrderShipmentAddTracksalesOrderShipmentRemoveTracksalesOrderShipmentGetCarrierssalesOrderInvoiceListsalesOrderInvoiceInfosalesOrderInvoiceCreatesalesOrderInvoiceAddCommentsalesOrderInvoiceCapturesalesOrderInvoiceVoidsalesOrderInvoiceCancel

Available Product and Category Calls

catalogCategoryCurrentStorecatalogCategoryTreecatalogCategoryLevelcatalogCategoryInfocatalogCategoryCreatecatalogCategoryUpdatecatalogCategoryMovecatalogCategoryDeletecatalogCategoryAssignedProductscatalogCategoryAssignProductcatalogCategoryUpdateProductcatalogCategoryRemoveProductcatalogProductCurrentStorecatalogProductListcatalogProductInfocatalogProductCreatecatalogProductUpdatecatalogProductSetSpecialPricecatalogProductGetSpecialPricecatalogProductDelete

catalogProductAttributeCurrentStorecatalogProductAttributeListcatalogProductAttributeOptionscatalogProductAttributeSetListcatalogProductTypeListcatalogProductAttributeTierPriceInfocatalogProductAttributeTierPriceUpdatecatalogCategoryAttributeCurrentStorecatalogCategoryAttributeListcatalogCategoryAttributeOptionscatalogProductAttributeMediaCurrentStorecatalogProductAttributeMediaListcatalogProductAttributeMediaInfocatalogProductAttributeMediaTypescatalogProductAttributeMediaCreatecatalogProductAttributeMediaUpdatecatalogProductAttributeMediaRemovecatalogProductLinkListcatalogProductLinkAssigncatalogProductLinkUpdatecatalogProductLinkRemovecatalogProductLinkTypescatalogProductLinkAttributes

Coming in 1.5.0.0 API

New Shopping Cart API

Support for multiple ComplexFilters

Best Practices & Common Pitfalls to Avoid

Keep track of Increment Ids!

Make Sure the API is properly setup & enabled

Monitor API Calls and Don’t Overload the API

Understand Complex Filters and Associative Entities

Always use SSL and Encrypt API Tokens

Don’t Be Afraid to Mash-up Other Services

Build a Custom API in PHP

REST API via OpenSocial/Shindig!

oAuth Support

Gadgets and Widgets to extend the site and admin

Ability to offer Free trials

End goal: “If you can do it in the UI, you can do it via a

service”

Future support for push notifications

Open protocol (oAuth.net) for secure API authorization in a

“simple” and standard method from applications. Allows

MagentoGo accounts to be connected to 3rd party

applications without the account owner having to share

their

password and they can revoke access at any time.

oAuth Overview

Notable oAuth Implementations: Salesforce.com, LinkedIn, Twitter, Facebook, LivePerson, Magento, etc

1) Acquire key and consumer secret

2) Ask for a request token and specify your callback

3) Direct the user to the Magento authorization screen

4) Receive a callback to the URL your specified

5) Ask for an access token

6) Make API calls!

The oAuth Dance

REST Request:http://magento.local/shindig/gadgets/api/rest/product/93?view=preview

PaaS

Beta

Runs on Magento Enterprise

Maintained/Hosted by Magento

Automatic Upgrades

Customizations done in CSS and Gadgets

REST API + oAuth +JSON

Ripe for Opportunity/Innovation!

Open-Source

GA

Community/Professional/Enterprise

Full-Control Over Installation

Responsible for Upgrades

Customizations done in PHP

SOAP API

Large Install Base

eCommerce Opportunities for Cloud Developers

Find a Pain Point and Help Solve It!

Build Gadgets/Integrations for MagentoGo

Mash-up eCommerce services (PayPal, Magento, etc)

Build Social eCommerce Applications

Mobile Apps

Live Demos!

Question & Answer

Questions, Thoughts, Ideas?