Integrando Lead Gen & CRM com o Contact Form 7 Usando .PHP


O Contact Form 7 é um dos plugins de formulário mais populares para WordPress. O Lead Gen & CRM só pode se integrar com o Contact Form 7 versão 4.8 ou superior.

Se você estiver usando uma versão anterior, atualize para a versão mais recente do Contact Form 7 antes de integrar com o Lead Gen & CRM.

Este artigo detalha como integrar um formulário do Contact Form 7 ao Lead Gen & CRM com .PHP.


Conteúdo do Artigo

Disponível com:
Teste
Essencial
Avançado
Ultimate
Barra de ferramentas:
FormuláriosFormulários
Usuários:
Administradores
Gerentes de Empresa
Gerentes de Marketing
Gerentes de Vendas
Vendedores
Vendedores Jr.

Usando Esta Informação

Nota: Antes de seguir os procedimentos deste artigo, tente integrar o Contact Form 7 por meio de JavaScript. Use este método de integração se aquele método não funcionar para você.

Este artigo detalhará um método para conectar formulários do Contact Form 7 usando código .PHP. Ao usar este método, o código do Formulário Nativo não deve estar na página com o formulário, pois tudo será feito a partir do código .PHP.

Se o código de incorporação do Formulário Nativo foi colocado anteriormente para o formulário, ele deve ser removido.

O .PHP detalhado aqui pode ser adicionado ao seu arquivo functions.php no WordPress. Alguns temas podem pedir que você coloque seu código personalizado em outro arquivo .PHP.

Embora você possa colocá-lo lá, certifique-se de testá-lo diretamente do functions.php se houver algum problema, pois a compatibilidade em outros arquivos pode variar com base no seu tema do WordPress ou outros plugins.

Nota: O Constant Contact oferece Serviços Profissionais para auxiliar com codificação personalizada.

Antes de Começar a Integrar

Alguns temas do WordPress podem ocultar o acesso ao functions.php arquivo. O functions.php também pode ser acessado usando FTP. Entre em contato com o administrador do seu site se você não ver o arquivo functions.php .

Além disso, o acesso via FTP é recomendado caso o arquivo functions.php precise ser revertido, pois um código incorreto aqui pode tornar o site inacessível, exceto por FTP.  Preste atenção ao código que você adiciona ao functions.php. Se você adicionar um código incorreto, pode ser bloqueado da sua conta do WordPress.

Crie um backup do seu atual functions.php antes de fazer essas alterações e esteja preparado para substituí-lo via FTP se necessário.


Obtendo Informações do Formulário Nativo

Antes de começar a integrar o Contact Form 7 com o Lead Gen & CRM, você precisará obter certas informações do formulário.

Para obter as informações necessárias do formulário, crie ou edite um formulário nativo.

Revise o código de incorporação JavaScript gerado na janela que aparece.

Código de Incorporação do Formulário Nativo
Mantenha esta aba do navegador aberta.

Importante: Não feche nem a janela modal do código de incorporação nem a aba do navegador. Você precisará dessas informações.

Exemplo de Código de Incorporação do Formulário Nativo

Uma vez que o Formulário Nativo é criado, ele exibirá um bloco de código. O código é diferente para cada Formulário Nativo criado. O código exibido é semelhante ao seguinte exemplo:

<script type="text/javascript">
var __ss_noform = __ss_noform || [];
__ss_noform.push(['baseURI', 'https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/']);
__ss_noform.push(['endpoint', '30e3bbfe-a5e7-4207-9237-e9f9e2ff80e9'])
</script>
<script type="text/javascript" src="https://koi-XXXXXXXXXX.marketingautomation.services/client/noform.js?ver=1.24" ></script>

Preparando o Arquivo .PHP

Antes de fazer qualquer coisa específica para o seu formulário, você precisará fazer modificações no seu arquivo functions.php no WordPress.

Para modificar o arquivo functions.php, faça o seguinte:

  1. Abra uma nova aba no seu navegador.
  2. Faça login no WordPress nessa aba do navegador.
  3. Clique em Editor, localizado sob Aparência no menu à esquerda.
  4. Abra o arquivo functions.php no menu à direita.
  5. Adicione o seguinte código ao final do arquivo:
    function submitToSharpSpring($data, $baseURI, $endPoint) {
      $params = '';
      foreach($data as $key => $value) {
        if(!is_array($value)) {
          $params = $params . $key . '=' . urlencode($value) . "&";
      }
        else {
        $params = $params . $key . '=' . urlencode(implode(',',$value)) . "&";    
      }
      }
    
      if (isset($_COOKIE['__ss_tk'])) {
        $trackingid__sb = $_COOKIE['__ss_tk'];
        $params = $params . "trackingid__sb=" . urlencode($trackingid__sb);
      }
      // Preparar URL
      $ssRequest = $baseURI . $endPoint . "/jsonp/?" . $params;
      // Enviar solicitação
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $ssRequest); 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $result = curl_exec($ch);
      ob_start();
      var_dump($data);
      $data_dump = ob_get_clean();
      curl_close($ch);
    }
  6. Coloque o seguinte código diretamente abaixo do bloco de código acima:
    add_action( 'wpcf7_before_send_mail', function ($cf7) {
    // Seu código único para cada formulário vai aqui
    });
  7. Cole o seguinte código abaixo da linha que contém Seu código único para cada formulário vai aqui e acima da linha de fechamento });:
    if ($_POST['_wpcf7'] == Seu ID do Formulário){
     $baseURI = 'sua baseURI';
     $endpoint = 'seu endpoint';
     submitToSharpSpring($_POST, $baseURI, $endpoint);
     }
     // Se conectar outro formulário, coloque seu código abaixo deste

Adicionando Formulários Adicionais

Para adicionar formulários adicionais, repita o Passo 6 acima. Ao fazer isso, adicione cada bloco de código abaixo do final do código acima antes dele. O código deve ser adicionado logo abaixo do comentário que diz:

// Se conectar outro formulário, coloque seu código abaixo deste

Esteja ciente de que sua baseURI geralmente será a mesma para todos os formulários dentro de uma instância do Lead Gen & CRM.


Adicionando Código Único aos Formulários

Uma vez que o arquivo functions.php tenha sido modificado, você pode começar a adicionar código único aos formulários individuais.

Isso só precisa ser feito uma vez para cada formulário único do Contact Form 7, independentemente de quantas páginas ele exista.

Para adicionar código único aos formulários, faça o seguinte:

  1. Volte para a aba do navegador do Lead Gen & CRM com o código de incorporação do Formulário Nativo.
  2. Localize a linha contendo um endereço da web que segue baseURI.
    No exemplo acima, o endereço da web é:

    https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/
  3. Copie o endereço da web, incluindo a barra final.
  4. Volte para a aba do navegador do WordPress functions.php.
  5. Substitua sua baseURI pelo endereço da web baseURI copiado. Ele deve permanecer entre aspas simples.
  6. Volte para a aba do navegador do Lead Gen & CRM com o código de incorporação do Formulário Nativo.
  7. Localize a linha contendo um valor alfanumérico que segue endpoint.
    No exemplo acima, o valor alfanumérico é:

    30e3bbfe-a5e7-4207-9237-e9f9e2ff80e9
  8. Copie o valor.
  9. Volte para a aba do navegador do WordPress functions.php.
  10. Substitua seu valor endpoint pelo valor endpoint copiado. Ele deve permanecer entre aspas simples.
  11. Volte para a aba do navegador do WordPress functions.php.
  12. Localize o valor ID do Formulário dentro do Short Code do Contact Form 7.
    No exemplo a seguir, o valor ID do Formulário é 533:

    [contact-form-7 id="533" title="teste cf7 php"]
  13. Substitua Seu ID do Formulário pelo número ID do Formulário dentro do Short Code do Contact Form 7 na if ($_POST linha. Ele não deve estar entre aspas.
  14. Salve o arquivo functions.php do WordPress.
  15. Adicione o Short Code do Contact Form 7 à sua página do WordPress.

Exemplo de Código Completo

Abaixo está um exemplo de código completo que conecta dois formulários do Contact Form 7. A primeira parte do código é baseada no exemplo de código de rastreamento mostrado acima. A segunda parte do código conectaria um formulário com um ID do Formulário de 789 no Contact Form 7 enquanto usa valores de um código diferente.

function submitToSharpSpring($data, $baseURI, $endPoint, $track = true) {
  unset($data['_wpcf7']);
  unset($data['_wpcf7_version']);
  unset($data['_wpcf7_locale']);
  unset($data['_wpcf7_unit_tag']);
  unset($data['_wpcf7_container_post']);

   $params = '';
  foreach($data as $key => $value) {
    if(!is_array($value)) {
      $params = $params . $key . '=' . urlencode($value) . "&";
  }
    else {
    $params = $params . $key . '=' . urlencode(implode(',',$value)) . "&";    
  }
  }

  if (isset($_COOKIE['__ss_tk'])) {
    $trackingid__sb = $_COOKIE['__ss_tk'];
    $params = $params . "trackingid__sb=" . urlencode($trackingid__sb);
  }
  $sharpReq = $baseURI . $endPoint . "/jsonp/?" . $params;
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $sharpReq); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $result = curl_exec($ch);
  ob_start();
  var_dump($data);
  $data_dump = ob_get_clean();
  curl_close($ch);
}


add_action( 'wpcf7_before_send_mail', function ($cf7) {
 $baseURI = 'https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/';
  if ($_POST['_wpcf7'] == 533) {
            $baseURI = 'sua base URI';
            $endpoint = '30e3bbfe-a5e7-4207-9237-e9f9e2ff80e9';
  submitToSharpSpring($_POST, $baseURI, $endpoint);
 }
 // Se conectar outro formulário, coloque seu código abaixo deste

if ($_POST['_wpcf7'] == 789) {
            $baseURI = 'https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/';
            $endpoint = '1234567-a5e7-bfe3-abcd-a956ae605b';
  submitToSharpSpring($_POST, $baseURI, $endpoint);
 }
  // Se conectar outro formulário, coloque seu código abaixo deste

});