Configurar Mensajes Salientes con una API de API Manager
Introducción
Este patrón de diseño de integración configura un Salesforce regla de flujo de trabajo que envía un mensaje saliente a un API Manager API cuando un objeto cambia (en este ejemplo, el objeto Cuenta). Un proyecto de Design Studio procesa el mensaje saliente de Salesforce, asigna los datos del objeto y los guarda en una base de datos.
Nota
Enviar registros de objetos de Salesforce modificados a una base de datos a través de API Manager es un patrón de diseño de integración similar que utiliza Cloud Studio.
Para configurar este patrón, siga estas secciones en orden:
- Parte 1: En Salesforce, configure una regla de flujo de trabajo para enviar un mensaje saliente cuando cambie un objeto y descargue el archivo WSDL que define el mensaje.
- Parte 2: En Design Studio, configure una cadena de operación para recibir el mensaje saliente de Salesforce y almacene los valores asignados en una base de datos.
- Parte 3: En API Manager, configure una API como extremo para Salesforce.
- Parte 4: Regrese a Salesforce para actualizar la URL del extremo del mensaje saliente, active el mensaje saliente y luego pruebe el patrón de diseño de integración completo.
Parte 1: Configurar una Regla de Flujo de Trabajo de Salesforce y Descargar el Archivo WSDL
- En Salesforce, seleccione Configuración > Herramientas de plataforma > Automatización de procesos > Reglas de Flujo de Trabajo.
-
En la página Reglas de Flujo de Trabajo, haga clic en el botón Nueva regla (resaltado en la imagen a continuación). Si se abre un cuadro de diálogo Pruébelo en Flow Builder, haga clic en Continuar con las reglas de Flujo de Trabajo.
-
En la página Nueva regla de Flujo de Trabajo, haga clic en el menú Objeto, seleccione Cuenta y luego haga clic en Siguiente.
-
En la página Cuenta, ingrese los valores para lo siguiente y luego haga clic en Guardar y siguiente:
- Nombre de la regla: Su 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 regla: Haga clic en Ejecutar esta regla si y luego seleccione La fórmula se evalúa como verdadera.
- En el campo de fórmula, ingrese verdadero.
-
En la página Editar regla, haga clic en Agregar acción de Flujo de Trabajo y luego seleccione Nuevo mensaje saliente (resaltado en la imagen a continuación).
-
En la página Nuevo mensaje saliente, ingrese los valores para lo siguiente y luego haga clic en Guardar:
- Nombre: Tu elección de nombre.
- Nombre único: Este nombre se genera automáticamente en función del valor de Nombre y las reglas de nomenclatura del campo.
- Descripción: (Opcional) Una descripción para este mensaje saliente.
- URL del Extremo: example.com. Esta URL temporal se actualiza más tarde.
- Usuario para enviar como: Ingrese el usuario que envía el mensaje saliente. El valor predeterminado es su nombre de usuario de Salesforce.
- Componente protegido: No seleccionado.
- Enviar ID de sesión: No seleccionado.
- Campos de cuenta para enviar: Seleccione los campos de objeto para 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 Editar regla, haga clic en Listo.
-
En la página Regla de Flujo de Trabajo, en la sección Acciones inmediatas de Flujo de Trabajo, haga clic en el enlace de descripción del mensaje saliente (resaltado en la imagen a continuación).
-
En la página Detalle del mensaje saliente del Flujo de Trabajo del mensaje, haga clic en el enlace Haga clic para WSDL en la fila etiquetada Extremo WSDL (resaltado en la imagen a continuación).
-
Se abre un archivo XML en una nueva ventana del navegador. Guarde el archivo con un
.wsdl
extensión. Dependiendo de su sistema operativo, es posible que deba configurar la extensión del archivo después de la descarga.
Parte 2: Operaciones del Design Studio
Definir la Operación 'Mensaje Saliente de Salesforce'
-
Cree un nuevo proyecto de Design Studio.
-
En la lista de elementos del proyecto a la izquierda, haga clic derecho en Operaciones, luego seleccione Nueva operación.
- En el cuadro de diálogo Seleccionar tipo, seleccione Secuencia de Comandos y luego haga clic en Continuar.
-
En la ventana Operaciones, establezca el nombre de la operación en Mensaje saliente de Salesforce.
-
Haga doble clic en la actividad Secuencia de Comandos de la operación y luego haga clic en Crear nuevo Jitterbit Script.
-
En la ventana Nuevo Secuencia de Comandos, establezca los valores para lo siguiente, haga clic en Guardar y luego cierre la ventana del secuencia de comandos:
- Nombre: Recibir mensaje saliente de Salesforce
-
Edite el secuencia de comandos para que coincida con lo siguiente:
<trans> $org.api.salesforce.request=$jitterbit.api.request.body; </trans>
Esto crea una variable global y lo establece en el valor de la variable global predefinida
jitterbit.api.request.body
. -
En la ventana de operación Mensaje saliente de Salesforce, haga clic en Guardar.
-
En la lista de elementos del proyecto a la izquierda, haga clic derecho en Fuentes, luego seleccione Nueva fuente.
- En el cuadro de diálogo Seleccionar tipo, seleccione Variable global y luego haga clic en Continuar.
-
En la ventana Nueva fuente, establezca los valores para lo siguiente, haga clic en Guardar y luego cierre la ventana de fuente:
- Nombre: Solicitud de API de Salesforce
- Tipo: Variable global
- Nombre de variable global: org.api.salesforce.request
Defina la Operación 'Enviar Respuesta API'
-
Cree una nueva operación de tipo Transformación. Establezca el nombre de la operación en Enviar respuesta API.
-
Haga doble clic en Transformación. En el cuadro de diálogo Seleccionar Transformación, haga clic en Crear nueva Transformación.
-
En el paso NOMBRE de la ventana Nueva Transformación, ingrese los valores para lo siguiente y luego haga clic en Siguiente >:
- Nombre: Enviar respuesta API.
- Fuente: (Ninguno).
- Objetivo: Respuesta SOAP/WSDL.
-
En el paso OBJETIVO, seleccione Seleccionar un archivo WSDL local, haga clic en Examinar..., seleccione el archivo WSDL descargado previamente, luego haga clic en Siguiente > y espere validación de archivos.
-
En el paso OBJETIVO, haga clic en Siguiente >.
-
En la página Opciones, haga clic en Finalizar.
-
En la ventana de transformación Enviar respuesta API, expanda todos los nodos hasta que el elemento
[EV?] Ack (Boolean)
es visible, luego haga doble clic en él. -
En Creador de fórmulas, edite el secuencia de comandos para que coincida con lo siguiente, luego haga clic en Aceptar para cerrar el editor de secuencia de comandos:
<trans> true </trans>
Esta es la respuesta a la solicitud SOAP de Salesforce.
-
En la ventana de transformaciones Enviar respuesta API, haga clic en Guardar y luego cierre la ventana.
-
En la ventana de operación Enviar respuesta API, haga clic derecho en el elemento Destino, seleccione Usar respuesta API y luego haga clic en Guardar:
La operación Mensaje saliente de Salesforce:
-
Abra la operación Mensaje saliente de Salesforce, seleccione la flecha hacia abajo junto al nombre de la operación y luego seleccione En caso de éxito > Operación > Seleccionar existente....
-
En el cuadro de diálogo Seleccionar operación exitosa, seleccione Enviar respuesta API y luego haga clic en Aceptar.
-
En la ventana de operación Mensaje saliente de Salesforce, haga clic en Guardar.
Definir la Operación 'Upsert Database'
-
Cree una nueva operación de tipo Transformación. Establezca el nombre de la operación en Upsert Database.
-
Haga doble clic en la actividad Fuente.
-
En el cuadro de diálogo Seleccionar fuente, seleccione Solicitud de API de Salesforce y luego haga clic en Aceptar.
-
Haga doble clic en el elemento Destino.
-
En el cuadro de diálogo Seleccionar destino, haga clic en Crear nuevo destino.
-
En la ventana Nuevo destino, establezca los valores para lo siguiente, haga clic en Probar conexión y luego cierre la ventana Base de datos:
- Nombre: Punto final de la base de datos.
- Tipo: Base de datos.
- Parámetros de conexión: Configure los parámetros para su base de datos. (En este ejemplo se muestra una conexión a un servidor PostgreSQL).
-
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 los valores para lo siguiente y luego haga clic en Siguiente >:
- Nombre: Upsert Database.
- Fuente: Solicitud SOAP/WSDL.
-
En el paso FUENTE, seleccione Seleccionar un archivo WSDL existente, luego seleccione el archivo WSDL cargado previamente, luego haga clic en Siguiente > y espere la validación del archivo.
-
Cuando el archivo esté validado, haga clic en Siguiente >.
-
En la página de opciones, haga clic en Siguiente >.
-
En el paso OBJETIVO, haga clic en Descargar lista de tablas. Seleccione la tabla de la base de datos de destino, haga clic en la flecha derecha para moverla a la lista Tablas seleccionadas y luego haga clic en Siguiente >.
-
En el paso OBJETIVO, asegúrese de que esté seleccionado Insertar/Actualizar y luego haga clic en Finalizar.
-
En la ventana de transformación Upsert Database, expanda los árboles de origen y destino, asigne campos arrastrando y soltando, luego haga clic en Guardar y cierre la ventana de transformación.
-
En la ventana de operación Upsert Database, haga clic en Guardar y cierre la ventana.
- En la operación Mensaje saliente de Salesforce, haga doble clic en la actividad Recibir mensaje saliente de Salesforce.
-
En la ventana del secuencia de comandos, edite el secuencia de comandos para que coincida con lo siguiente, luego haga clic en Guardar y cierre la ventana:
<trans> $org.api.salesforce.request=$jitterbit.api.request.body; RunOperation("<TAG>Operations/Upsert Database</TAG>") </trans>
-
En la ventana de operación Mensaje saliente de Salesforce, haga clic en Guardar.
-
Seleccione Acciones > Desplegar. En el cuadro de diálogo Desplegar, en Seleccione un tipo de despliegue, seleccione Todo y luego haga clic en Desplegar.
Parte 3: API Manager de API
- En API Manager, seleccione Mis APIs y luego haga clic en Nueva API.
-
En el paso 1 de la página Publicar nueva API, ingrese los valores para lo siguiente y luego haga clic en Siguiente:
- Nombre de API: Ingrese un nombre para la API.
- Ambiente: Seleccione el ambiente donde se implementó el proyecto de Design Studio.
- Raíz del servicio: Deje el valor inicial derivado del nombre de la API.
- Número de versión: (Opcional) Ingrese un número de versión de API.
- Descripción: (Opcional) Ingrese una descripción para esta API.
-
En el paso 2, seleccione API Personalizada como Tipo de servicio y luego haga clic en Agregar servicio API. Para el nuevo servicio API, ingrese estos valores para los siguientes campos, haga clic en Guardar y luego haga clic en Siguiente:
-
Método de solicitud: Utilice el menú para seleccionar el método de solicitud POST para el servicio API. De forma predeterminada, el método de solicitud está configurado en GET.
-
Nombre del servicio: Ingrese un nombre de servicio.
-
En la pestaña Operación, seleccione estos valores:
-
Asignar proyecto: En el menú, seleccione su proyecto de Cloud Studio.
-
Asignar operación(es):
-
Operación: Seleccione la operación Mensaje saliente de Salesforce.
-
Tipo de respuesta: Seleccione Objetivo final como tipo de respuesta.
-
-
-
-
En el paso 3, haga clic en Omitir este paso.
-
En el paso 4, haga clic en Guardar y publicar.
-
En el cuadro de diálogo titulado ¡Todo listo, su API está activa!, haga clic en Copiar URL y luego haga clic en Descartar.
Parte 4: Actualizar la URL del Extremo de Salesforce y Activar
- En Salesforce, seleccione Configuración > Herramientas de plataforma > Automatización de procesos > Acciones de Flujo de Trabajo > Mensajes salientes.
- En la página Mensajes salientes, haga clic en Editar para su mensaje saliente.
-
Reemplace el contenido del campo URL del Extremo (resaltado en la imagen a continuación) con la URL copiada al final de la sección anterior, luego haga clic en Guardar.
-
En la sección Reglas de Flujo de Trabajo que utilizan este mensaje saliente, haga clic en Activar para la regla (resaltada en la imagen a continuación).
Pruebe la Integración
Para probar este patrón de diseño de integración, siga estos pasos:
- En Salesforce, abra la aplicación Servicio y seleccione la pestaña Cuentas.
- Edite un contacto de la cuenta y luego guárdelo.
- Inicie sesión en su base de datos y consultar la tabla de destino.