fbpx

Como integrar um formulário do Contact Form 7 com o RD Station sem o plugin oficial?

O RD Station é um poderosa ferramenta de automação de marketing, e-mail marketing e CRM, muito utilizada por profissionais de marketing para se relacionar com visitantes e leads captados em seus sites. Oficialmente, há um plugin oficial do RD Station que permite a integração do WordPress com a plataforma deles. Eles também ensinam como configurar esse plugin.

Entretanto, nós observamos que em algumas situações o plugin oficial pode não funcionar como o esperado. Além disso, o plugin carece de atualizações (neste momento, a última versão foi publicada há 10 meses) e de suporte (inúmeros tópicos do fórum de suporte estão sem resposta há anos).

Por isso, se você não quiser depender desse plugin para fazer sua integração e estiver considerando uma alternativa, nós montamos um passo a passo que pode ser muito útil.

Para poder integrar o RD Station ao WordPress sem depender do plugin oficial, vamos usar um webhook. O próprio RD oferece uma API que permite uma integração direta.

Além disso, vamos usar o plugin CF7 to Webhook do brasileiro Mário Valney. A vantagem desse plugin é que ele nos dá mais controle sobre exatamente como nós vamos enviar os dados para o webhook. Além de poder enviar para diversos webhooks (ou sistemas) diferentes.

Por fim, também usaremos o plugin Code Snippets para adicionar um trecho de código personalizado que modifica as informações enviadas pelo CF7 to Webhook de forma que se adeque às necessidades do RD Station.

Então vamos ao passo a passo:

Etapa 1) Configurar o CF7 to Webhook

1. Instale e ative os plugins Contact Form 7 e CF7 to Webhook em seu site.

2. Crie um formulário de contato com o Contact Form 7 normalmente. Você vai notar que aparecerá uma nova aba nas configurações do formulário chamada “Webhook”.

3. Configure essa aba da seguinte forma:

  • Integrate (Send to Webhook): Ative esta opção para que o conteúdo do formulário seja enviado para o RD Station
  • Webhook URL: Você deve inserir o seguinte URL: https://api.rd.services/platform/conversions?api_key=[chave-de-api]. Substitua o trecho [chave-de-api] pela Chave de API do RD Station (veja etapa 2).
  • Send mail (Send CF7 mail as usually): Desative se você quiser que o CF7 não envie mais o e-mail, apenas o webhook. Recomendo deixar essa opção ativada.
  • Special Mail Tags: pode deixar em branco.
  • Custom Headers: você deve adicionar o seguinte conteúdo:
    • Content-Type: application/json
      accept: application/json
  • Clique em Salvar

Etapa 2) Obter a chave de API no RD Station

1. Acesse a RD Station App Store (https://appstore.rdstation.com/pt-BR/publisher) e escolha a conta do RD à qual você quer se conectar.

2. Clique em “Gerar chave de API”

3. Na página que abrir, clique em “Gerar chave de API” para criar uma nova chave. Você pode adicionar um nome para identificar a chave criada.

4. Copie o código da chave gerada e substitua na URL do Webhook.

Etapa 3) Configurar o trecho de código

Para que o CF7 to Webhook envie o conteúdo do jeito que o RD Station espera receber, precisamos fazer uma pequena alteração usando um trecho de código. Você pode instalar esse trecho de código no functions.php do seu tema, mas recomendamos usar um plugin como o Code Snippets.

1. Instale e ative o plugin Code Snippets em seu site.

2. No menu lateral do seu painel WordPress, vá em Trechos de código > Adicionar novo

3. Preencha da seguinte forma:

  • Título do trecho de código: CF7 to Webhook – RD Station
  • Código: veja abaixo como preparar o seu trecho de código
  • Selecione a opção Executar somente no front-end do site
  • Salvar alterações e ativar.

Preparando o código

Abaixo segue um modelo de trecho de código padrão:

add_filter( 'ctz_post_request_args', 'rd_ctz_post_request_args' );

function rd_ctz_post_request_args( $args ) {
  $body = json_decode( $args['body'], true );
  $rd_body = array(
    'event_type' => 'CONVERSION', // Obrigatório
    'event_family' => 'CDP', // Obrigatório
    'payload' => array( // Aqui será listado o conteúdo do lead
      'conversion_identifier' => 'Identificação da conversão', // Altere aqui para um identificador relevante para sua conversão
      'email' => $body['your-email'], // Vai substituir pelo conteúdo do campo "your-email" do CF7
      'name' => $body['your-name'], // Vai substituir pelo conteúdo do campo "your-name" do CF7
    ),
  );
  $args['body'] = json_encode( $rd_body );
  return $args;
}

Observe que o código adiciona dois itens que são obrigatórios: “event_type” e “event_family”. Não altere esses itens.

Além disso ele lista, dentro de “payload”, todas as informações do lead como nome, e-mail e o identificador da conversão. Esses itens você pode alterar para incluir mais campos, sempre seguindo essa lógica:

'identificador_do_campo_no_rd_station' => 'Valor do campo',

Para descobrir os identificadores dos campos no seu RD Station, eu recomendo acessar a sessão Campos Personalizados no seu RD Station.

Nesse exemplo acima, o seu site vai enviar para o campo o texto “Valor do campo”. Você pode configurar para que o valor seja substituído pelo conteúdo que o usuário preencheu no formulário de contato, da seguinte forma:

'identificador_do_campo_no_rd_station' => $body['id-do-campo-no-cf7'],

Nesse caso, você deve trocar ‘id-do-campo-no-cf7’ pelo ID do campo que você criou no formulário do Contact Form 7.

Algumas situações de uso interessantes

Usando esse método de integração, você tem algumas vantagens interessantes.

Um exemplo é usar o plugin Contact Form 7 – Dynamic Text Extension para criar campos dinâmicos ocultos no formulário. É possível criar um campo com o nome da página em que o formulário está e enviar o nome da página como identificação da conversão. Isso não é possível com o plugin oficial.

Outra possibilidade é criar campos pré-preenchidos por padrão que sempre serão enviados.

Limitações

Sem usar o plugin oficial, você não vai ter o código de monitoramento instalado e também não tem a integração do WooCommerce. Mas também existem meios alternativos para fazer essa conexão.

Ainda tem dúvidas?

Entre em contato para eu poder te ajudar!