Configurar mensajes salientes con una API de API Manager en Jitterbit Design Studio
Introducción
Este patrón de diseño de integración configura una regla de flujo de trabajo de Salesforce que envía un mensaje saliente a una API de API Manager cuando un objeto cambia (en este ejemplo, el objeto Cuenta). Un proyecto de Design Studio procesa el mensaje saliente de Salesforce, mapea los datos del objeto y los guarda en una base de datos.
Nota
Enviar registros de objetos de Salesforce cambiados a una base de datos a través de API Manager es un patrón de diseño de integración similar que utiliza Studio.
Para configurar este patrón, sigue estas secciones en orden:
- Parte 1: En Salesforce, configura una regla de flujo de trabajo para enviar un mensaje saliente cuando un objeto cambia y descarga el archivo WSDL que define el mensaje.
- Parte 2: En Design Studio, configura una cadena de operación para recibir el mensaje saliente de Salesforce y almacenar los valores mapeados en una base de datos.
- Parte 3: En API Manager, configura una API como un punto final para Salesforce.
- Parte 4: Regresa a Salesforce para actualizar la URL del punto final del mensaje saliente, activa el mensaje saliente y luego prueba el patrón de diseño de integración completado.
Parte 1: Configurar una regla de flujo de trabajo de Salesforce y descargar el archivo WSDL
- En Salesforce, selecciona Configuración > Herramientas de Plataforma > Automatización de Procesos > Reglas de Flujo de Trabajo.
-
En la página de Reglas de Flujo de Trabajo, haz clic en el botón Nueva Regla (resaltado en la imagen a continuación). Si se abre un cuadro de diálogo Probar en Flow Builder, haz clic en Continuar con Reglas de Flujo de Trabajo.

-
En la página de Nueva Regla de Flujo de Trabajo, haz clic en el menú Objeto, selecciona Cuenta, y luego haz clic en Siguiente.

-
En la página de Cuenta, ingresa valores para lo siguiente, luego haz clic en Guardar y Siguiente:
- Nombre de la Regla: Tu elección de nombre.
- Descripción: (Opcional) Una descripción para esta regla.
- Criterios de Evaluación: Creado, y Cada Vez que se Edita.
- Criterios de la Regla: Haz clic en Ejecutar Esta Regla Si, luego selecciona La Fórmula Evalúa a Verdadero.
- En el campo de fórmula, ingresa true.

-
En la página de Editar Regla, haz clic en Agregar Acción de Flujo de Trabajo, luego selecciona Nuevo Mensaje Saliente (destacado en la imagen a continuación).

-
En la página de Nuevo Mensaje Saliente, ingresa valores para lo siguiente, luego haz clic en Guardar:
- Nombre: Tu elección de nombre.
- Nombre Único: Este nombre se genera automáticamente basado en el valor de Nombre y las reglas de nomenclatura del campo.
- Descripción: (Opcional) Una descripción para este mensaje saliente.
- URL de Endpoint: example.com. Esta URL temporal se actualiza más tarde.
- Usuario para Enviar Como: Ingresa el usuario que envía el mensaje saliente. El valor predeterminado es tu nombre de usuario de Salesforce.
- Componente Protegido: No seleccionado.
- Enviar ID de Sesión: No seleccionado.
- Campos de Cuenta a Enviar: Selecciona los campos del objeto a enviar. En este ejemplo, solo se seleccionan Nombre y Teléfono. El campo Id se selecciona automáticamente, porque es el campo clave para el objeto.

-
En la página de Editar Regla, haz clic en Listo.

-
En la página de Regla de Flujo de Trabajo, en la sección de Acciones Inmediatas de Flujo de Trabajo, haz clic en el enlace de descripción para el mensaje saliente (destacado en la imagen a continuación).

-
En la página de Detalles del Mensaje Saliente de Flujo de Trabajo, haz clic en el enlace Haz clic para WSDL en la fila etiquetada como Endpoint WSDL (resaltada en la imagen a continuación).

-
Se abre un archivo XML en una nueva ventana del navegador. Guarda el archivo con una extensión
.wsdl. Dependiendo de tu sistema operativo, es posible que debas establecer la extensión del archivo después de descargarlo.
Parte 2: Operaciones de Design Studio
Definir la operación 'Mensaje Saliente de Salesforce'
-
Crea un nuevo proyecto de Design Studio.
-
En la lista de elementos del proyecto a la izquierda, haz clic derecho en Operaciones, luego selecciona Nueva Operación.
- En el cuadro de diálogo Seleccionar Tipo, selecciona Script, luego haz clic en Continuar.
-
En la ventana de Operaciones, establece el nombre de la operación como Mensaje Saliente de Salesforce.

-
Haz doble clic en la actividad Script de la operación, luego haz clic en Crear Nuevo Script de Jitterbit.
-
En la ventana Nuevo Script, establece valores para lo siguiente, haz clic en Guardar, y luego cierra la ventana del script:
- Nombre: Recibir Mensaje Saliente de Salesforce
-
Edita el script para que coincida con lo siguiente:
<trans> $org.api.salesforce.request=$jitterbit.api.request.body; </trans>

Esto crea una variable global y la establece al valor de la variable global predefinida
jitterbit.api.request.body. -
En la ventana de operación Mensaje Saliente de Salesforce, haz clic en Guardar.
-
En la lista de elementos del proyecto a la izquierda, haz clic derecho en Sources, luego selecciona New Source.
- En el diálogo de Select Type, selecciona Global Variable, luego haz clic en Continue.
-
En la ventana de New Source, establece valores para lo siguiente, haz clic en Save, y luego cierra la ventana de la fuente:
- Name: Salesforce API Request
- Type: Global Variable
- Global Variable Name: org.api.salesforce.request

Define la operación 'Send API response'
-
Crea una nueva operación de tipo Transformation. Establece el nombre de la operación como Send API Response.

-
Haz doble clic en Transformation. En el diálogo de Select Transformation, haz clic en Create New Transformation.
-
En el paso NAME de la ventana de New Transformation, ingresa valores para lo siguiente, luego haz clic en Next >:
- Name: Send API Response.
- Source: (None).
- Target: SOAP/WSDL Response.

-
En el paso TARGET, selecciona Select a Local WSDL File, haz clic en Browse..., selecciona el archivo WSDL que descargaste previamente, luego haz clic en Next > y espera la validación del archivo.

-
En el paso TARGET, haz clic en Next >.

-
En la página de Options, haz clic en Finish.

-
En la ventana de transformación Send API Response, expande todos los nodos hasta que el elemento
[EV?] Ack (Boolean)sea visible, luego haz doble clic en él.
-
En el Constructor de Fórmulas, edita el script para que coincida con lo siguiente, luego haz clic en OK para cerrar el editor de scripts:
<trans> true </trans>
Esta es la respuesta a la solicitud SOAP de Salesforce.
-
En la ventana de transformaciones Enviar Respuesta API, haz clic en Guardar, luego cierra la ventana.
-
En la ventana de operación Enviar Respuesta API, haz clic derecho en el elemento Destino, selecciona Usar Respuesta API, luego haz clic en Guardar:

La operación Mensaje Saliente de Salesforce:

-
Abre la operación Mensaje Saliente de Salesforce, selecciona la flecha hacia abajo junto al nombre de la operación, luego selecciona En Éxito > Operación > Seleccionar Existente....

-
En el diálogo Seleccionar Operación de Éxito, selecciona Enviar Respuesta API, luego haz clic en OK.

-
En la ventana de operación Mensaje Saliente de Salesforce, haz clic en Guardar.
Definir la operación 'Upsert Database'
-
Crea una nueva operación de tipo Transformación. Establece el nombre de la operación en Upsert Database.

-
Haz doble clic en la actividad Fuente.
-
En el diálogo Seleccionar Fuente, selecciona Solicitud API de Salesforce, luego haz clic en OK.

-
Haz doble clic en el elemento Destino.

-
En el diálogo Seleccionar Destino, haz clic en Crear Nuevo Destino.
-
En la ventana Nuevo Destino, establece valores para lo siguiente, haz clic en Probar Conexión, luego cierra la ventana Base de Datos:
- Nombre: Punto de conexión de base de datos.
- Tipo: Base de datos.
- Parámetros de conexión: Establezca los parámetros para su base de datos. (Una conexión a un servidor PostgreSQL se muestra en este ejemplo.)

-
Haga doble clic en el elemento Transformación.

-
En el cuadro de diálogo Seleccionar Transformación, haga clic en Crear Nueva Transformación.
-
En la ventana Nueva Transformación, ingrese valores para lo siguiente, luego haga clic en Siguiente >:
- Nombre: Upsert Base de Datos.
- Fuente: Solicitud SOAP/WSDL.

-
En el paso FUENTE, seleccione Seleccionar un Archivo WSDL Existente, luego seleccione el archivo WSDL previamente cargado, luego haga clic en Siguiente > y espere la validación del archivo.

-
Cuando el archivo sea validado, haga clic en Siguiente >.

-
En la página de opciones, haga clic en Siguiente >.

-
En el paso DESTINO, haga clic en Descargar Lista de Tablas. Seleccione la tabla de base de datos de destino, haga clic en la flecha derecha para moverla a la lista de Tablas Seleccionadas, luego haga clic en Siguiente >.

-
En el paso DESTINO, asegúrese de que Insertar/Actualizar esté seleccionado, luego haga clic en Finalizar.

-
En la ventana de transformación Upsert Base de Datos, expanda los árboles de origen y destino, mapee los campos arrastrando y soltando, luego haga clic en Guardar y cierre la ventana de transformación.

-
En la ventana de operación Upsert Database, haz clic en Guardar y cierra la ventana.
- En la operación Salesforce Outbound Message, haz doble clic en la actividad Receive Salesforce Outbound Message.
-
En la ventana del script, edita el script para que coincida con lo siguiente, luego haz clic en Guardar y cierra la ventana:
<trans> $org.api.salesforce.request=$jitterbit.api.request.body; RunOperation("<TAG>Operations/Upsert Database</TAG>") </trans>
-
En la ventana de operación Salesforce Outbound Message, haz clic en Guardar.

-
Selecciona Acciones > Desplegar. En el diálogo de Desplegar, bajo Seleccionar un Tipo de Despliegue, selecciona Todo, luego haz clic en Desplegar.

Parte 3: API Manager API
- En API Manager, selecciona APIs, luego haz clic en Nueva API.
-
En el paso 1 de la página Publicar Nueva API, ingresa valores para lo siguiente, luego haz clic en Siguiente:
- Nombre de la API: Ingresa un nombre para la API.
- Entorno: Selecciona el entorno donde se desplegó el proyecto de Design Studio.
- Raíz del Servicio: Deja el valor inicial derivado del nombre de la API.
- Número de Versión: (Opcional) Ingresa un número de versión de la API.
- Descripción: (Opcional) Ingresa una descripción para esta API.

-
En el paso 2, selecciona API Personalizada como el Tipo de Servicio y luego haz clic en Agregar Servicio API. Para el nuevo servicio API, ingresa estos valores para los siguientes campos, haz clic en Guardar, y luego haz clic en Siguiente:
-
Método de Solicitud: Usa el menú para seleccionar el método de solicitud POST para el servicio API. Por defecto, el método de solicitud está configurado en GET.
-
Nombre del Servicio: Ingresa un nombre de servicio.
-
En la pestaña Operación, selecciona estos valores:
-
Asignar Proyecto: Desde el menú, selecciona tu proyecto de Studio.
-
Asignar Operación(es):
-
Operación: Selecciona la operación Mensaje Saliente de Salesforce.
-
Tipo de Respuesta: Selecciona Destino Final como el tipo de respuesta.
-
-

-
-
En el paso 3, haz clic en Saltar Este Paso.
-
En el paso 4, haz clic en Guardar y Publicar.

-
En el cuadro de diálogo titulado ¡Todo Listo, Tu API está Activa!, haz clic en Copiar URL, luego haz clic en Descartar.
Parte 4: Actualizar la URL del endpoint de Salesforce y activar
- En Salesforce, selecciona Configuración > Herramientas de Plataforma > Automatización de Procesos > Acciones de Flujo de Trabajo > Mensajes Salientes.
- En la página de Mensajes Salientes, haz clic en Editar para tu mensaje saliente.
-
Reemplaza el contenido del campo URL del Endpoint (resaltado en la imagen a continuación) con la URL copiada al final de la sección anterior, luego haz clic en Guardar.

-
En la sección Reglas de Flujo de Trabajo que Usan Este Mensaje Saliente, haz clic en Activar para la regla (resaltada en la imagen a continuación).

Probar la integración
Para probar este patrón de diseño de integración, sigue estos pasos:
- En Salesforce, abre la aplicación Servicio y selecciona la pestaña Cuentas.
- Edita un contacto de cuenta y luego guárdalo.
- Inicia sesión en tu base de datos y consulta la tabla de destino.