Cómo Llamar a un Servicio WebAPI de .Net desde Salesforce

En un artículo anterior, Llamada a un Servicio Web WCF de .Net desde Salesforce, expliqué cómo realizar llamadas externas desde un desencadenador (trigger) en Salesforce para obtener datos de un servicio WCF creado en .Net. Esta solución estaba basada en SOAP como el protocolo de mensajes entre Salesforce y nuestro servicio web. Todos conocemos las ventajas y desventajas de SOAP comparado con REST, y lo que si es cierto es que REST es la opción preferida a la hora de crear servicios web. Así que en este artículo voy a modificar el ejemplo presentado en el artículo anterior y voy a usar REST en vez de SOAP.

Permitidme refrescar el problema que estamos tratando de resolver: nuestro cliente quiere crear presupuestos de ventas en Salesforce, pero quiere que el precio de los productos venga del ERP. Nuestra solución fue la de crear un servicio web de WCF (basado en SOAP) con .Net el cual, dado un identificador de producto, retornaba el precio de dicho producto. Luego hacíamos una llamada externa a éste servicio desde un desencadenador definido en el objeto QuoteLineItem en Salesforce. Mantendremos la misma arquitectura para la solución (el desencadenador y el servicio web) pero esta vez usaremos REST. Sugiero que leáis el artículo anterior para tener una mejor comprensión de lo que queremos hacer.

Read more…

Uso de servicios WCF en .Net para procesar los mensajes de los flujos de trabajo de Salesforce (incluye llamadas a Salesforce utilizando API SOAP)

En una publicación previa Mensajes Salientes de Flujo de Trabajo en Salesforce Procesados en .Net con WCF explique cómo crear un servicio WCF en .Net para procesar mensajes salientes de flujo de trabajo de Salesforce.

En esta nueva publicación voy a profundizar el desarrollo haciendo que el servicio web haga una llamada a Salesforce para obtener datos adicionales.

Read more…

Llamada a un Servicio Web WCF de .Net desde Salesforce

En internet se puede conseguir información de cómo llamar un servicio web desde Salesforce, pero hay poca información de cómo llamar un servicio web creado en .Net. Los ejemplos que se consiguen están basados mayoritariamente en servicios web asmx. En esta publicación explicaré como llamar a servicios web WCF de .Net creados con Visual Studio 2013 Community.

Para hacer el ejercicio más completo realizaré la llamada a un servicio web desde un desencadenador (trigger) y explicaré cómo debe configurarse Salesforce para hacerlo posible.

Read more…

Creación de External Data Source en Salesforce mediante un servicio OData en .Net

Salesforce permite acceder a fuentes de datos externas (external data sources) usando el protocolo OData. Esta característica es una de las más útiles a la hora de diseñar una estrategia de integración con sistemas terceros. En cambio de usar servicios web o el DataLoader para meter datos en Salesforce, es posible obtener información actualizada directamente desde sistemas terceros mediante el uso de fuentes de datos externos. Mediante el uso de estas fuentes de datos externos, y los objetos externos que se crean, podemos obtener información localizada fuera de Salesforce como si ésta estuviera dentro de Salesforce. La única desventaja, por el momento, es que una fuente de datos externos es de solo lectura, no podemos usarlo para actualizar datos en sistemas terceros. Pero de todas maneras, esto abre un gran abanico de posibilidades de integración.

Veamos un ejemplo donde esto puede resultar de utilidad. Recientemente trabajé en un proyecto donde se requería una integración entre Salesforce y el ERP. Los ejecutivos de ventas necesitaban tener acceso a alertas administrativas (por ejemplo “el cliente tiene facturas pendientes”, o “el cliente tiene un reclamo en su última factura”, etc.) en Salesforce. Estas alertas eran generadas en el ERP por los usuarios administrativos. Claramente necesitábamos poner estas alertas en Salesforce.

Read more…

Mensajes Salientes del Flujo de Trabajo en Salesforce Procesados en .Net con WCF

Un alto porcentaje de los proyectos de Salesforce requieren de integración con sistemas terceros, como ERPs, bases de datos, o incluso otros CRMs.

Salesforce ofrece muchas opciones para que estas integraciones sean posibles: mensajes salientes de flujo de trabajo (workflow outbound messages), llamadas SOAP/REST, integración mediante cargas masivas con el DataLoader, etc. Por supuesto existe mucha documentación sobre este tema, pero la mayoría está basada en Java y hay poca documentación enfocada en .Net.

Yo soy un desarrollador de .Net, por lo que voy a dar algunos ejemplos de cómo realizar integraciones con Salesforce usando Visual Studio y C#. No puedo cubrir todos los posibles escenarios de integración en esta publicación, por lo que voy a concentrarme en un escenario que considero como mi primera opción al diseñar la arquitectura de una solución que requiere integración: mensajes salientes de flujo de trabajo.

Read more…