Comienza con la integración de Apigee y un activador de Salesforce

Aprende a crear una integración de muestra en la integración de Apigee con el activador de Salesforce. En los siguientes pasos, se describe cómo configurar el activador de Salesforce, las tareas, los conectores y las asignaciones de datos necesarios para ejecutar una integración completa.

En este ejemplo, usarás el activador de Salesforce para invocar una integración de Apigee para la integración de un evento de captura de datos modificados (CDC) de Salesforce, como se muestra en la siguiente figura.

Diagrama de secuencia de muestra Diagrama de secuencia de muestra

Un activador de Salesforce está suscrito al canal de oportunidades de Salesforce. Los cambios de datos en la oportunidad de Salesforce invocan una integración de Apigee que extrae el estado de la oportunidad de Salesforce. Si el estado está cerrado, la integración extrae los detalles de la oportunidad y escribe los datos en una instancia de Cloud SQL con un conector. Si hay un cambio de datos, pero el estado permanece abierto, la integración envía un mensaje a un tema de Pub/Sub mediante un conector.

En los siguientes pasos, se describe cómo configurar el activador, las tareas, los perfiles de autenticación, los bordes, las variables y la asignación de datos necesarios para ejecutar una integración exitosa.

Antes de comenzar

  • Confirma que tu cuenta de desarrollador de Salesforce tenga habilitada la captura de datos modificados (CDC). En este instructivo, se supone que tienes una cuenta de desarrollador de Salesforce existente con la configuración del usuario y el conjunto de permisos necesarios. Para obtener información sobre la configuración de usuarios y el conjunto de permisos de Salesforce, consulta Configura un activador de Salesforce.
  • Asigna los siguientes roles de IAM al agente de servicio de Apigee (service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com) en tu proyecto de Google Cloud.
    • Editor de Pub/Sub
    • Administrador de conectores
    • Invocador de integraciones de Apigee
    Para obtener más información sobre cómo asignar funciones de IAM, consulta Funciones y permisos de IAM.
  • Crea la tabla Cloud SQL para almacenar los datos de los CDC de Salesforce.
    1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL y conéctate a tu instancia de MySQL. Consulta Conéctate a Cloud SQL para MySQL desde Cloud Shell

      Ir a Instancias de Cloud SQL

    2. Crea la siguiente base de datos de MySQL en tu instancia de Cloud SQL:
      CREATE DATABASE SALESFORCE_TRIGGER_DEMO;
      USE SALESFORCE_TRIGGER_DEMO;
      
      CREATE TABLE OPPORTUNITIES
      (
           ID              INT NOT NULL AUTO_INCREMENT,
           NAME            VARCHAR(150) NOT NULL,
           AMOUNT          DOUBLE NOT NULL,
           DT_CLOSE        VARCHAR(150) NOT NULL,
           PRIMARY KEY     (ID)
      );
      COMMIT;
      
    3. Verifica que se haya creado la tabla mediante la ejecución del siguiente comando.
      SELECT * FROM OPPORTUNITIES;
  • Crea una conexión de Cloud SQL para MySQL en los conectores. Consulta Crea una conexión de Cloud SQL para MySQL a fin de obtener información detallada.
  • Crea una conexión de Cloud Pub/Sub en Conectores. Consulta Crea una conexión de Cloud Pub/Sub para obtener información detallada.

Cómo crear una integración nueva

Para crear una integración nueva, sigue estos pasos:

  1. En la IU de Apigee, selecciona tu organización de Apigee.
  2. Haz clic en Desarrollar > Integraciones.
  3. Haz clic en CREAR INTEGRACIÓN.
  4. Ingresa un nombre y una descripción en el diálogo Crear integración. Por ejemplo, Demo-CDC-Opportunities
  5. Selecciona una región para la integración.
  6. Haz clic en Crear para abrir el diseñador de integración.

Agrega y configura el activador de Salesforce

Para agregar y configurar un activador de Salesforce en la integración, sigue estos pasos:

  1. En el diseñador de integración, selecciona Agregar una tarea/activador > Activadores para ver una lista de los activadores disponibles.
  2. Haz clic y coloca el elemento activador de Salesforce en el diseñador de integración.
  3. Haz clic en el elemento Activador de Salesforce en el recuadro para abrir el panel de configuración del activador.
  4. Configura los siguientes campos en Entrada de activador:
    • Tipo de evento: Selecciona Cambiar captura de datos (CDC) de la lista desplegable.
    • Configuración de instancia de Salesforce: Haz clic en la opción + Agregar nueva configuración de instancia de Salesforce de la lista desplegable.

      Aparecerá el cuadro de diálogo Agregar configuración de la instancia de Salesforce.

      • Nombre de conexión de la instancia de Salesforce: ingresa un nombre de conexión para la instancia de Salesforce. Por ejemplo, CDC-PlatformUser
      • Dominio de Salesforce: Ingresa el nombre de dominio de Salesforce. Puedes encontrar esta información en la página Cuenta de Salesforce > Ver perfil.
      • Perfil de autenticación: Selecciona un perfil de autenticación. Si no tienes un perfil de autenticación, crea uno nuevo. Para obtener más información, consulta Crea un perfil de autenticación nuevo.
      • Haga clic en Agregar.
    • Configuración del canal de Salesforce: Haz clic en la opción + Agregar nueva configuración del canal de Salesforce de la lista desplegable.

      Aparecerá el cuadro de diálogo Agregar canal de Salesforce.

      • Nombre del objeto de Salesforce: ingresa Opportunity.
      • Haga clic en Agregar.
    • Operación: Selecciona Actualizar en la lista desplegable

    Los cambios en las propiedades se guardan de forma automática.

Agrega y configura tareas

En este instructivo, se usan las tareas de conectores y asignación de datos. Los detalles de configuración para cada una de estas tareas se describen de la siguiente manera.

Configura una tarea de conectores con una conexión de Cloud SQL para MySQL

Realiza los siguientes pasos a fin de configurar una tarea de Conectores para insertar registros en una tabla de Cloud SQL existente con la conexión de Cloud SQL para MySQL:

  1. Selecciona Agregar una tarea/activador > Tareas en el diseñador de integración para ver la lista de tareas disponibles.
  2. Haz clic y coloca el elemento Conectores en el diseñador de integración.
  3. Haz clic en el elemento de tarea Conectores en el diseñador para ver el panel de configuración de tarea de Conectores.
  4. Haz clic en y cambia el nombre de los Conectores como Insert row to Cloud SQL.
  5. Haz clic en Configurar tarea.

    Aparecerá el cuadro de diálogo Configurar tarea de conector.

  6. Haz lo siguiente en el cuadro de diálogo Configurar tarea de conector:
    1. Selecciona la región de conexión.
    2. Una vez que eliges una región, aparece la columna Conexión. Selecciona tu conexión de Cloud SQL para MySQL de la lista de conexiones disponibles.
    3. Una vez que se elige una conexión, aparece la columna Tipo. Selecciona Entidades y, luego, OPERACIONES en la lista de entidades disponibles.
    4. Una vez que se elige un tipo, aparece la columna Operación. Selecciona Crear.
    5. Haz clic en Listo para completar la configuración de conexión y cerrar el panel.

Configura una tarea de Conectores con una conexión de Cloud Pub/Sub

Sigue los siguientes pasos para configurar una tarea de Conectores a fin de publicar un mensaje de Pub/Sub con la conexión de Cloud Pub/Sub:

  1. Selecciona Agregar una tarea/activador > Tareas en el diseñador de integración para ver la lista de tareas disponibles.
  2. Haz clic y coloca el elemento Conectores en el diseñador de integración.
  3. Haz clic en el elemento de tarea Conectores en el diseñador para ver el panel de configuración de tarea de Conectores.
  4. Haz clic en y cambia el nombre de los Conectores como Publish to cloud pub/sub.
  5. Haz clic en Configurar tarea.

    Aparecerá el cuadro de diálogo Configurar tarea de conector.

  6. Haz lo siguiente en el cuadro de diálogo Configurar tarea de conector:
    1. Selecciona la región de conexión.
    2. Una vez que eliges una región, aparece la columna Conexión. Selecciona tu conexión de Pub/Sub de la lista de conexiones disponibles.
    3. Una vez que se elige una conexión, aparece la columna Tipo. Selecciona Acciones y, luego, publicar mensaje de la lista de acciones disponibles.
    4. Haz clic en Listo para completar la configuración de conexión y cerrar el panel.

Configura la tarea Asignación de datos

Sigue estos pasos para configurar una tarea de asignación de datos:

  1. Selecciona Agregar una tarea/activador > Tareas para ver una lista de tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el diseñador de integración.
  3. Haz clic en el elemento Asignación de datos en el diseñador para abrir el panel de configuración de la tarea.
  4. Haz clic en Abrir editor de asignación de datos.

    El Editor de asignación de datos te permite asignar variables de entrada a las variables de salida deseadas con las funciones de transformación disponibles. Entonces, el resultado está disponible como una variable para cualquier otra tarea o activador de integración. Si deseas obtener más detalles para pasar datos como variables, consulta Usa variables en la integración de Apigee.

  5. Haz clic en + Add new variable y crea las siguientes variables de salida:
    Nombre de la variable de resultado Data type
    OpportunityIsClosed Boolean
    OpportunityId String
    PubSubMessage String
  6. Crea el siguiente mapeo entre la variable SalesforceTriggerCdcPayload y las variables de carga útil de entrada del conector, como se muestra en la siguiente tabla:
    Input Salida
    SalesforceTriggerCdcPayload.GET_PROPERTY("IsClosed").TO_BOOLEAN() OpportunityIsClosed
    SalesforceTriggerCdcPayload.GET_PROPERTY("Id").TO_STRING() OpportunityId
    OpportunityId.TO_DOUBLE() connectorInputPayload.ID(Insert row to Cloud SQL)
    SalesforceTriggerCdcPayload.GET_PROPERTY("Name").TO_STRING() connectorInputPayload.NAME(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("Amount").TO_DOUBLE() connectorInputPayload.AMOUNT(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("CloseDate").TO_STRING() connectorInputPayload.DT_CLOSE(Insert row to Cloud SQL)
    OpportunityId.CONCAT(" is still open") PubSubMessage
    PubSubMessage connectorInputPayload.message(Publish to cloud pub/sub)
  7. Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

Agregar conexión perimetral

Un perímetro es una conexión entre dos elementos de una integración y una condición perimetral te permite especificar las condiciones que se deben cumplir para que una integración pase a la tarea conectada por el perímetro. Para obtener más información sobre los perímetros y las condiciones perimetrales, consulta Perímetros.

  1. Agrega una conexión perimetral del elemento Activador de Salesforce al elemento Asignación de datos.
  2. Agrega una conexión perimetral desde el elemento Asignación de datos al elemento Insertar fila al conector de Cloud SQL con la siguiente condición perimetral:
      $OpportunityIsClosed$ = TRUE
  3. Agrega otra conexión perimetral desde el elemento Asignación de datos al elemento Conector de Cloud Pub/Sub con la siguiente condición perimetral:
      $OpportunityIsClosed$ = FALSE
Imagen de ejemplo que muestra las conexiones perimetrales Imagen de ejemplo que muestra las conexiones perimetrales

Prueba la integración

Para probar la nueva integración, sigue estos pasos:

  1. Haz clic en Probar en la barra de herramientas del diseñador de integración y, luego, selecciona Activador de Salesforce.

    Aparecerá el cuadro de diálogo Probar integración.

  2. Haz clic en Probar integración.

Acceda a la instancia de Salesforce y cambie el estado de la oportunidad a “cerrado” para probar la tarea de Cloud SQL.

Para probar la tarea de Pub/Sub, acceda a la instancia de Salesforce y cambie otros detalles sobre la oportunidad, pero deje el estado de la oportunidad “abierta”.

Para obtener más información sobre las pruebas, consulta Prueba y publica integraciones.

Para verificar el éxito de la integración, haz lo siguiente:

  • Ir a la página Cloud SQL

    Ir a Cloud SQL

    Verifica tu base de datos y registros de Cloud SQL para confirmar la inserción de la fila nueva.
  • Ir a la página de Pub/Sub

    Ir a Pub/Sub

    Selecciona tu tema de Pub/Sub y haz clic en Ver mensajes para confirmar la recepción del mensaje enviado por la integración.
  • Inspecciona los registros de integración de Apigee para ver el estado de una integración determinada. Para ver los registros, haz lo siguiente:
    1. Haz clic en Registros en la barra de herramientas del diseñador de integración.
    2. En la página Registros de ejecución, puedes ver los detalles de cada intento para ejecutar una integración. Cada entrada incluye detalles para el intento de ejecución, incluidos los siguientes:
      • Nombre de la integración
      • ID de ejecución
      • Estado
      • Hora de inicio
      • Duración
      • Versión de la integración
      • ID de activador
    3. Haz clic en la flecha desplegable (>) junto a la integración ejecutada para ver una lista expandida de tareas y variables en la integración, junto con el estado de la tarea y las cargas útiles de la variable.