CMS + CRM: Integrando Plone y Salesforce

41
corporate training menttes Pellegrini, Franco [email protected] CMS + CRM: Integrando Plone y Salesforce

description

Por Franco Pellegrini. Un paseo que expone las posibilidades de integracion entre Plone y Salesforce.

Transcript of CMS + CRM: Integrando Plone y Salesforce

Page 1: CMS + CRM: Integrando Plone y Salesforce

corporate training menttes

● Pellegrini, Franco● [email protected]

CMS + CRM:Integrando Plone y Salesforce

Page 2: CMS + CRM: Integrando Plone y Salesforce

menttes

Introducción

CRM

(Customer relationship management)

· Administracion de las relaciones con el cliente

· SugarCRM

· ZohoCRM

· Microsoft Dynamics CRM

· Vtiger CRM

Page 3: CMS + CRM: Integrando Plone y Salesforce

menttes

Salesforce

Page 4: CMS + CRM: Integrando Plone y Salesforce

menttes

¿Que podemos hacer?

· Autenticación

· Interactuar con eventos (RSVP)

· Cargar datos desde Plone hacia Salesforce

· Leer datos desde Plone, almacenados en Salesforce

Page 5: CMS + CRM: Integrando Plone y Salesforce

menttes

Productos

· Products.salesforcepfgadapter

· collective.salesforce.authplugin

· collective.salesforce.rsvp

· Products.salesforcebaseconnector

· Products.PloneFormGenRealiza la comunicación con SalesforceSe ocupa de la autenticación

Producto adicional para realizar formularios

Adaptador para utilizar PloneFormGen con Salesforce

Interacción con eventos en Salesforce

Page 6: CMS + CRM: Integrando Plone y Salesforce

menttes

Instalación

Page 7: CMS + CRM: Integrando Plone y Salesforce

menttes

Instalación

Page 8: CMS + CRM: Integrando Plone y Salesforce

menttes

Instalación

Page 9: CMS + CRM: Integrando Plone y Salesforce

menttes

Instalación

Page 10: CMS + CRM: Integrando Plone y Salesforce

menttes

Instalación

Page 11: CMS + CRM: Integrando Plone y Salesforce

menttes

Instalación

Page 12: CMS + CRM: Integrando Plone y Salesforce

menttes

Instalación

Page 13: CMS + CRM: Integrando Plone y Salesforce

menttes

Salesforce

Sin trabajo extra

Page 14: CMS + CRM: Integrando Plone y Salesforce

menttes

Salesforce

Autenticación

Page 15: CMS + CRM: Integrando Plone y Salesforce

menttes

Autenticación

Page 16: CMS + CRM: Integrando Plone y Salesforce

menttes

Autenticación

Page 17: CMS + CRM: Integrando Plone y Salesforce

menttes

Autenticación

Page 18: CMS + CRM: Integrando Plone y Salesforce

menttes

Salesforce

Interacción con eventos(RSVP)

Page 19: CMS + CRM: Integrando Plone y Salesforce

menttes

RSVP

Page 20: CMS + CRM: Integrando Plone y Salesforce

menttes

RSVP

Page 21: CMS + CRM: Integrando Plone y Salesforce

menttes

RSVP

Page 22: CMS + CRM: Integrando Plone y Salesforce

menttes

RSVP

Page 23: CMS + CRM: Integrando Plone y Salesforce

menttes

RSVP

Page 24: CMS + CRM: Integrando Plone y Salesforce

menttes

Salesforce

Formularios

Page 25: CMS + CRM: Integrando Plone y Salesforce

menttes

Formularios

Page 26: CMS + CRM: Integrando Plone y Salesforce

menttes

Formularios

Page 27: CMS + CRM: Integrando Plone y Salesforce

menttes

Formularios

Page 28: CMS + CRM: Integrando Plone y Salesforce

menttes

Formularios

Page 29: CMS + CRM: Integrando Plone y Salesforce

menttes

Formularios

Page 30: CMS + CRM: Integrando Plone y Salesforce

menttes

Formularios

Page 31: CMS + CRM: Integrando Plone y Salesforce

menttes

Formularios

Page 32: CMS + CRM: Integrando Plone y Salesforce

menttes

Formularios

Page 33: CMS + CRM: Integrando Plone y Salesforce

menttes

Salesforce

Usando la API

Page 34: CMS + CRM: Integrando Plone y Salesforce

menttes

Hablando con Salesforce

>>> sf = app.www.portal_salesforcebaseconnector

>>> sf.describeGlobal()['types']['Account', ........ 'Contact', ....... 'Event', .................]

>>> sf.describeSObjects(['Contact'])[0].fields.keys()[....'FirstName', 'Title', 'LastName', ....... , 'Email', 'Phone', .........]

Page 35: CMS + CRM: Integrando Plone y Salesforce

menttes

Creando contenido

>>> sf.create({'type':'Contact', 'FirstName':'Plone',

'LastName':'Symposium', 'Email':'[email protected]'})

[{'errors': [], 'id': '003A000000SM0jKIAT', 'success': True}]

>>> sf.create({'type':'Contact', 'FirstName':'Plone2',

'LastName':'Symposium', 'Email':'[email protected]'})

[{'errors': [], 'id': '003A000000SM0vgIAD', 'success': True}]

>>> sf.create({'type':'Contact', 'FirstName':'Plone3',

'LastName':'Symposium', 'Email':'[email protected]'})

[{'errors': [], 'id': '003A000000SM0vhIAD', 'success': True}]

Page 36: CMS + CRM: Integrando Plone y Salesforce

menttes

Consultando a Salesforce

Salesforce.com Object Query Language (SOQL)

>>> sf.query("SELECT FirstName, LastName, Email FROM Contact

WHERE LastName='Symposium'")

[{'LastName': 'Symposium', 'type': 'Contact', 'Id': '', 'FirstName': 'Plone', 'Email': '[email protected]'}, {'LastName': 'Symposium', 'type': 'Contact', 'Id': '', 'FirstName': 'Plone2', 'Email': '[email protected]'}, {'LastName': 'Symposium', 'type': 'Contact', 'Id': '', 'FirstName': 'Plone3', 'Email': '[email protected]'}]

Page 37: CMS + CRM: Integrando Plone y Salesforce

menttes

Consultando a Salesforce

Salesforce.com Object Search Language (SOSL)

>>> sf.search("FIND {Plone*}")[{'type': 'Contact', 'Id': '003A000000SM0jKIAT'}]

>>> sf.retrieve(['FirstName', 'LastName', 'Email'], 'Contact', '003A000000SM0jKIAT')[{'LastName': 'Symposium', 'Email': '[email protected]', 'FirstName': 'Plone'}]

Page 38: CMS + CRM: Integrando Plone y Salesforce

menttes

Actualizando Salesforce

>>> sf.update({'type':'Contact', 'Id': '003A000000SM0jKIAT',

'FirstName':'Plone5', 'LastName':'Symposium5',

'Email':'[email protected]'})

[{'errors': [], 'id': '003A000000SM0jKIAT', 'success': True}]

>>> sf.retrieve(['FirstName', 'LastName', 'Email'], 'Contact', '003A000000SM0jKIAT')

[{'LastName': 'Symposium5', 'Email': '[email protected]', 'FirstName': 'Plone5'}]

Page 39: CMS + CRM: Integrando Plone y Salesforce

menttes

Eliminando elementos de Salesforce

>>> sf.delete(['003A000000SM0jKIAT', '003A000000SM0vgIAD', '003A000000SM0vhIAD'])

[{'errors': [], 'id': '003A000000SM0jKIAT', 'success': True}, {'errors': [], 'id': '003A000000SM0vgIAD', 'success': True}, {'errors': [], 'id': '003A000000SM0vhIAD', 'success': True}]

Page 40: CMS + CRM: Integrando Plone y Salesforce

menttes

Salesforce + Plone

Preguntas ?

Page 41: CMS + CRM: Integrando Plone y Salesforce

corporate training menttes

Muchas gracias

● Pellegrini, Franco● [email protected]