Primeiros passos com a integração da Apigee e um gatilho do Salesforce

Saiba como criar uma integração de amostra na integração da Apigee usando o acionador do Salesforce. As etapas a seguir descrevem como configurar o acionador, as tarefas, os conectores e os mapeamentos de dados necessários para executar uma integração completa.

Neste guia de início rápido, você usará o acionador do Salesforce para invocar uma integração da Apigee para um evento de captura de dados de alteração (CDC, na sigla em inglês) do Salesforce, conforme mostrado na figura a seguir.

Exemplo de diagrama de sequência Exemplo de diagrama de sequência

Um acionador do Salesforce está inscrito no canal de oportunidade do Salesforce. As alterações de dados para a oportunidade do Salesforce invocam uma integração da Apigee que extrai o status da oportunidade do Salesforce. Se o status for fechado, a integração extrairá os detalhes da oportunidade e gravará os dados em uma instância do Cloud SQL usando um conector. Se houver uma mudança de dados, mas o status permanecer aberto, a integração enviará uma mensagem para um tópico do Pub/Sub usando um conector.

As etapas abaixo descrevem como configurar o gatilho, as tarefas, os perfis de autenticação, as bordas, as variáveis e o mapeamento de dados necessários para executar uma integração bem-sucedida.

Antes de começar

  • Confirme se sua conta de desenvolvedor do Salesforce está com a captura de dados da alteração (CDC) ativada. Neste tutorial, presumimos que você tenha uma conta de desenvolvedor do Salesforce com a configuração de usuário e a permissão definidas. Para mais informações sobre a configuração do usuário do Salesforce e a definição da permissão, consulte Configurar um acionador do Salesforce.
  • Atribua os papéis do IAM ao Agente de serviço da Apigee (service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com) no seu projeto do Google Cloud.
    • Editor do Pub/Sub
    • Administrador de conectores
    • Invocador de integração da Apigee
    Para mais informações sobre como atribuir papéis do IAM, consulte Papéis e permissões do IAM.
  • Crie a tabela Cloud SQL para armazenar os dados do CDC do Salesforce.
    1. No Console do Google Cloud, acesse a página Instâncias do Cloud SQL e conecte-se à instância do MySQL. Acesse Conectar-se ao Cloud SQL para MySQL pelo Cloud Shell.

      Acesse "Instâncias do Cloud SQL"

    2. Crie o seguinte banco de dados MySQL na instância do 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. Verifique se a tabela foi criada executando o comando a seguir.
      SELECT * FROM OPPORTUNITIES;
  • Crie uma conexão do Cloud SQL para MySQL no Connectors. Para mais informações, consulte Criar uma conexão do Cloud SQL para MySQL .
  • Crie uma conexão do Cloud Pub/Sub no Connectors. Consulte Criar uma conexão do Cloud Pub/Sub para informações detalhadas.

Criar uma nova integração

Para criar uma nova integração, execute as seguintes etapas:

  1. Na IU da Apigee, selecione sua organização da Apigee.
  2. Clique em Desenvolver > Integrações.
  3. Clique em CRIAR INTEGRAÇÃO.
  4. Digite um nome e uma descrição na caixa de diálogo Criar integração. Por exemplo, Demo-CDC-Opportunities.
  5. Selecione uma região para a integração.
  6. Clique em Criar para abrir o designer de integração.

Adicionar e configurar o gatilho do Salesforce

Para adicionar e configurar um gatilho do Salesforce à integração, siga estas etapas:

  1. No designer de integração, selecione Adicionar uma tarefa/gatilho > Gatilhos para exibir uma lista de gatilhos disponíveis.
  2. Clique e posicione o elemento Gatilho do Salesforce no designer de integração.
  3. Clique no elemento gatilho do Salesforce CDC na tela para abrir o painel de configuração do acionador.
  4. Configure os campos a seguir em Trigger Input:
    • Tipo de evento: selecione Alterar captura de dados (CDC) na lista suspensa.
    • Configuração da instância do Salesforce: clique na opção + Add new Salesforce instance configuration na lista suspensa.

      A caixa de diálogo Adicionar configuração de instância do Salesforce é exibida.

      • Nome da conexão da instância do Salesforce: insira um nome de conexão para a instância do Salesforce. Por exemplo, CDC-PlatformUser.
      • Domínio do Salesforce: digite seu nome de domínio do Salesforce. Você encontra essas informações na página Conta do Salesforce > Ver perfil.
      • Perfil de autenticação: selecione um perfil de autenticação. Se você não tiver um perfil de autenticação, crie um novo. Para mais informações, consulte Criar um novo perfil de autenticação.
      • Clique em Add (Adicionar).
    • Configuração de canal do Salesforce: clique na opção + Adicionar nova configuração de canal do Salesforce na lista suspensa.

      A caixa de diálogo Adicionar canal do Salesforce é exibida.

      • Nome do objeto do Salesforce: digite Opportunity.
      • Clique em Add (Adicionar).
    • Operação: selecione Atualizar na lista suspensa.

    As alterações nas propriedades são salvas automaticamente.

Adicionar e configurar tarefas

Este tutorial usa as tarefas Conectores e Mapeamento de dados. Os detalhes de configuração de cada uma dessas tarefas são descritos da seguinte forma.

Configurar uma tarefa do Connectors com uma conexão do Cloud SQL para MySQL

Siga estas etapas para configurar uma tarefa do Connectors e inserir registros em uma tabela do Cloud SQL com a conexão do Cloud SQL para MySQL:

  1. Selecione Adicionar uma tarefa/gatilho > Tarefas no designer de integração para exibir a lista de tarefas disponíveis.
  2. Clique e coloque o elemento Conectores no designer de integração.
  3. Clique no elemento de tarefa dos Conectores no designer para ver o painel de configuração da tarefa dos Conectores.
  4. Clique em e altere o nome dos Conectores como Insert row to Cloud SQL.
  5. Clique em Configurar tarefa.

    A caixa de diálogo Configurar conector será exibida.

  6. Faça o seguinte na caixa de diálogo Configurar a tarefa do conector:
    1. Selecione a região de conexão.
    2. Depois que uma região for escolhida, a coluna Conexão será exibida. Selecione sua conexão do Cloud SQL para MySQL na lista de conexões disponíveis.
    3. Depois que uma conexão é escolhida, a coluna Tipo é exibida. Selecione Entities e depois OPPORTUNITIES na lista de entidades disponíveis.
    4. Depois que um tipo é escolhido, a coluna Operação é exibida. Selecione Criar.
    5. Clique em Concluído para concluir a configuração da conexão e feche o painel.

Criar uma tarefa dos Conectores com uma conexão do Cloud Pub/Sub

Siga estas etapas para configurar uma tarefa do Connectors e publicar uma mensagem do Pub/Sub usando a conexão do Cloud Pub/Sub:

  1. Selecione Adicionar uma tarefa/gatilho > Tarefas no designer de integração para exibir a lista de tarefas disponíveis.
  2. Clique e coloque o elemento Conectores no designer de integração.
  3. Clique no elemento de tarefa dos Conectores no designer para ver o painel de configuração da tarefa dos Conectores.
  4. Clique em e altere o nome dos Conectores como Publish to cloud pub/sub.
  5. Clique em Configurar tarefa.

    A caixa de diálogo Configurar conector será exibida.

  6. Faça o seguinte na caixa de diálogo Configurar a tarefa do conector:
    1. Selecione a região de conexão.
    2. Depois que uma região for escolhida, a coluna Conexão será exibida. Selecione sua conexão do Pub/Sub na lista de conexões disponíveis.
    3. Depois que uma conexão é escolhida, a coluna Tipo é exibida. Selecione Ações e, em seguida, publishMessage na lista de ações disponíveis.
    4. Clique em Concluído para concluir a configuração da conexão e feche o painel.

Configurar a tarefa "Mapeamento de dados"

Faça o seguinte para configurar uma tarefa de Mapeamento de dados:

  1. Selecione Adicionar uma tarefa/gatilho > Tarefas para exibir uma lista de tarefas disponíveis.
  2. Clique e posicione o elemento Mapeamento de dados no designer de integração.
  3. Clique no elemento Mapeamento de dados no designer para abrir o painel de configuração da tarefa.
  4. Clique em Abrir editor de mapeamento de dados.

    O Editor de mapeamento de dados permite mapear variáveis de entrada para as variáveis de saída desejadas, usando as funções de transformação disponíveis. A saída é disponibilizada como uma variável para qualquer outra tarefa ou gatilho de integração. Para mais detalhes sobre como transmitir dados como variáveis, consulte Como usar variáveis na integração da Apigee.

  5. Clique em + Adicionar nova variável e crie as seguintes variáveis de saída:
    Nome da variável de saída Data type
    OpportunityIsClosed Boolean
    OpportunityId String
    PubSubMessage String
  6. Crie o mapeamento a seguir entre as variáveis SalesforceTriggerCdcPayload e Payload de entrada do conector, conforme mostrado na tabela a seguir:
    Entrada Saída
    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. Quando o mapeamento for concluído, feche o painel. Todas as alterações serão salvas automaticamente.

Adicionar conexão de borda

Uma borda é uma conexão entre dois elementos em uma integração e uma condição de borda permite que você especifique as condições que precisam ser atendidas para que o controle de uma integração seja transmitido para a tarefa conectada pela borda. Para mais informações sobre as bordas e as condições das bordas, consulte Arestas.

  1. Adicione uma conexão de borda do elemento Gatilho do Salesforce ao elemento Mapeamento de dados.
  2. Adicione uma conexão de borda do elemento Data Mapping ao elemento Insert row to Cloud SQL Connector com a seguinte condição de borda:
      $OpportunityIsClosed$ = TRUE
  3. Adicione outra conexão de borda do elemento Data Mapping ao Cloud Pub/Sub Connector com a seguinte condição de borda:
      $OpportunityIsClosed$ = FALSE
Imagem de exemplo mostrando as conexões de borda Imagem de exemplo mostrando as conexões de borda

Testar a integração

Para testar a nova integração:

  1. Clique em Testar na barra de ferramentas do designer de integração e selecione o Gatilho do Salesforce.

    A caixa de diálogo Testar integração é exibida.

  2. Clique em Testar integração.

Faça login na instância do Salesforce e altere o status de uma oportunidade para "fechada" para testar a tarefa do Cloud SQL.

Para testar a tarefa do Pub/Sub, faça login na instância do Salesforce e altere outro detalhe sobre uma oportunidade, mas deixe o status da oportunidade "aberto".

Para mais informações sobre testes, consulte Testar e publicar integrações.

Para verificar o sucesso da sua integração:

  • Acessar a página Cloud SQL.

    Acessar o Cloud SQL

    Verifique o banco de dados e os registros do Cloud SQL para confirmar a inserção da nova linha.
  • Acesse a página Pub/Sub.

    Ir para o Pub/Sub

    Selecione seu tópico do Pub/Sub e clique em Visualizar mensagens para confirmar o recebimento da mensagem enviada pela integração.
  • Inspecione os registros de integração do Apigee para ver o status de uma determinada integração. Para ver os registros:
    1. Clique em Registros na barra de ferramentas do designer de integração.
    2. Na página Execution Logs, você pode ver detalhes sobre cada tentativa de executar uma integração. Cada entrada inclui detalhes para a tentativa de execução, incluindo:
      • Nome da integração
      • ID da execução
      • Status
      • Horário de início
      • Duração
      • Versão da integração
      • ID de acionamento
    3. Clique na seta de expansão (>) ao lado da integração executada para conferir uma lista expandida de tarefas e variáveis na integração, além do status da tarefa e payloads de variável.