Integrando Drupal y Salesforce

17 October 2019
0 Comentarios
Persona sobre el escritorio trabajando

Existe una variedad de estrategias para integrar Drupal y Salesforce, desde los formularios web-to-Lead de Salesforce, hasta el uso de proveedores de formularios de terceros, hasta la sincronización bidireccional a través de los módulos de la suite Salesforce de Drupal.

Salesforce Suite es un conjunto de módulos que ayudan a los administradores y desarrolladores a asignar tipos de contenido en Drupal con cualquier objeto en Salesforce (contactos, organización, oportunidades y campañas, por ejemplo). Este es el enfoque más sofisticado para pasar datos de ida y vuelta entre Drupal y Salesforce, pero es solo una de las opciones posibles.

Tipos de integración

  Costo Dirección Complejidad

 Formularios Web simples   (Proveidos por Salesforce)

 Gratuito Una dirección,   hacia el folesforce  Del tipo, hágalo      usted mismo
 Servicios de formularios   de terceros Bajo Una dirección   (ocacionalmente en   ambas direcciones)  Del tipo, hágalo      usted mismo o        con la asistencia      de un                      desarrollador
 Salesforce suite de Drupal Moderado a alto Bidireccional  Necesaria la            asistencia de          un desarrollador

Salesforce Suite de Drupal

¿Qué es?

Es un conjunto de módulos Drupal que le permite sincronizar datos en una o ambas direcciones entre Drupal y Salesforce. Aprovecha las API de Drupal y Salesforce para conectar los sistemas e intercambiar datos en tiempo real (sincrónicamente) o con un ligero retraso (asincrónicamente). Puede asignar entidades de Drupal (usuarios, tipos de contenido e incluso productos creados en Drupal Commerce) con objetos estándar o personalizados de Salesforce (contactos, organizaciones, oportunidades, campañas y más). La herramienta de asignación le permite asignar campos específicos en Drupal a campos en Salesforce. Los usuarios avanzados pueden incluso transformar los datos si los tipos de campo no coinciden entre las soluciones (por ejemplo, un campo de texto frente a un campo de opción múltiple).

Drupal

¿Cuando es útil?

Para explicar más claramente el valor de este enfoque, tomemos el ejemplo de la compra y renovación de una membresía. Las membresías son un buen caso de uso, ya que el estado de un miembro a menudo impulsa su experiencia en su sitio web, ya sea para ver avisos de renovación, acceder a contenido restringido solo para miembros o para que los descuentos para miembros se apliquen automáticamente a las compras en el sitio. 

A diferencia de las soluciones de terceros, esta integración hace que Drupal esté al tanto del estado de un usuario en Salesforce y le permite dirigir su experiencia de forma más estratégica en su sitio para guiarlo hacia contenido importante y llamadas a la acción o profundizar su compromiso en el punto de cada conversión.

Cuando la integración es bidireccional, su usuario puede iniciar una transacción como una compra de membresía en el sitio web. Esta compra puede abrir el acceso a todos los beneficios para miembros que brinda su organización. Sin embargo, si un miembro renueva sin conexión o paga un registro de evento en el evento en sí, y esa transacción se registra en Salesforce, una aplicación de integración unidireccional o de terceros no hace que Drupal esté al tanto de los datos. 

Por otro lado, la bidireccionalidad permite que la nueva información realice el viaje de ida y vuelta de Salesforce al sitio web. Este es solo un pequeño ejemplo de cuán poderosa puede ser la solución si se planifica y configura adecuadamente.

Drupal a Salesforce: Compra de membresía

Drupal

 

Salesforce a Drupal: Renovación offline de membresía

Salesforce a Drupal

En general este enfoque es ideal si:

  • Desea utilizar plenamente lo que ambas soluciones tienen para ofrecer, de modo que Drupal haga lo que mejor hace como sistema de gestión de contenido y Salesforce sigue siendo el lugar donde administra y extrae sus datos.

  • Desea controlar y personalizar la experiencia del visitante con Drupal y esa experiencia incluye cuentas de usuario e inicio de sesión.

  • Necesita datos para moverse en ambas direcciones.

  • Desea asignar objetos personalizados, no solo los estándar.

  • Desea reducir duplicados en Salesforce. (Drupal es bueno para conectar datos a un usuario/contacto existente).

  • No desea pagar licencias de usuario adicionales. El beneficio clave aquí es que puede hacer que tantos usuarios inicien sesión en Drupal como desee. No necesita comprar licencias de Salesforce para Force.com o los portales de la Comunidad para exponer los datos de Salesforce a sus usuarios autenticados.

Puede integrar Drupal y Salesforce utilizando la Suite en una dirección (solo Drupal a Salesforce) o en ambas. En algunos casos, puede usar ambos métodos en el mismo sitio, integrándose a lo largo de una sola dirección para algunos tipos de nodos y moviendo datos en ambas direcciones para otros.

Integración en una dirección

Para las integraciones en una dirección, los datos ingresados en los formularios de los nodos de Drupal se envían a Salesforce y se rellenan los objetos que se asignan en la Suite. Debido a que los datos se mueven en una sola dirección, este enfoque puede ser configurado y administrado por un administrador de Drupal más avanzado, asignando campos y objetos sin la necesidad de conocer el lenguaje de programación PHP. Todavía se necesita cuidado y paciencia, así como una comprensión del esquema de Salesforce, pero es posible realizar este enfoque por su cuenta.

¿Cuándo es útil?

  • Desea pasar datos de usuario, datos de transacciones y tipos de nodos específicos, como eventos.

  • Desea mantener al usuario en su sitio web para todas las transacciones y actividades.

  • Debe utilizar la sincronización unidireccional para mantener la integración simple.

  • No necesita actualizaciones en Salesforce para impactar la experiencia del usuario en Drupal.

¿Cuáles son los pro y los contra?

Pros:

  • Este enfoque limita la complejidad y por lo tanto la responsabilidad y los errores.

  • El soporte y hacer cambios con el tiempo es más sencillo.

  • Drupal aún es responsable de la actividad y las transacciones, por lo que puede continuar apuntando al usuario y personalizar la experiencia.

Contra:

  • El desarrollo avanzado y el conocimiento del esquema de Drupal y Salesforce son una necesidad.

  • Es posible que necesite la ayuda de un desarrollador para configurarlo correctamente.

  • La integración se interrumpirá si se realizan cambios en el esquema de Salesforce sin actualizar la asignación en la Suite.

Casos de uso

  • Formularios de donaciones

  • Registro en eventos

  • Aplicación a programas, voluntariados, becas, etc…

imagen auxiliar

¿Cómo hacerlo?

  • Defina sus puntos de integración (qué datos deben pasar).

  • Instale Salesforce suite.

  • Conecte Drupal a su instancia de Salesforce.

  • Habilitar los módulos SF Mapping y SF Push.

  • Mapear objetos y campos a través de ambas soluciones.

cuadro

Integración en dos direcciones

Para la sincronización bidireccional, los datos ingresados en Drupal por el usuario y en Salesforce por los administradores se mueven en ambas direcciones a través de las aplicaciones. 

Las actualizaciones síncronas o asíncronas mantienen la información alineada en ambos sistemas. Tenga en cuenta que este enfoque es muy avanzado y requiere un esquema y flujos de trabajo bien formados en Salesforce así como también un código, además de la Suite, para garantizar que su solución funcione bien.

Es útil usar este método cuando:

  • Los datos ingresados directamente en Salesforce deben impactar lo que un usuario ve, tiene acceso o experiencias en Drupal.

  • Necesita aprovechar la automatización del marketing y las experiencias web personalizadas.

  • Su sitio requiere autenticación de usuarios.

  • Sus usuarios necesitan una interacción sofisticada, como la capacidad de ver los datos fuera de línea que ingresó en Salesforce en su perfil de usuario en Drupal (por ejemplo, para ver las donaciones pagadas en el sitio web y las donaciones pagadas con cheque).

¿Cuales son los pro y los contra?

Pros: 

  • Elimina la necesidad de licencias de Salesforce adicionales.

  • La experiencia del usuario puede reflejar la lógica empresarial impulsada por Salesforce.

  • Se mitigan los problemas de rendimiento debidos a consultas en linea o conexiones caídas.

  • Se crean menos registros duplicados en Salesforce

Contras:

  • Por lo general, requiere la ayuda de un desarrollador.

  • La sincronización puede ser un problema difícil de resolver, por lo que debe ser consciente de las posibles condiciones de la carrera. Una condición de carrera es cuando ambos sistemas intentan realizar acciones en conflicto al mismo tiempo, como editar el mismo registro.

  • El enfoque casi siempre requiere la creación de código PHP personalizado y, potencialmente, módulos personalizados de Drupal.

  • Los desajustes de esquema entre Drupal y Salesforce se combinan cuando los datos se mueven en ambas direcciones.

Casos de uso

  • Membresías

  • Gestión de cuenta

  • Recaudación de fondos

  • Gestión de cursos, seguimiento de créditos de unidad de educación continua (CEU)

Conclusión

Drupal es una herramienta que ha sido muy bien pensada desde sus bases para integrarse dentro de un ecosistema de soluciones híbrido, las compañías tienen diversas soluciones inhouse o de terceros que funcionan todas en conjunto como un engranaje, de la misma forma debería comportarse cualquier nueva solución que se incluya en ese ecosistema, es por eso que Drupal se encuentra entre las opciones preferidas por grandes compañías, su amplia capa de integración permite realizar ese engranaje sin traumatismos.


 

Jairo Alberto Pinzón Garzón SeeD
Jairo Pinzón