Em um projeto precisávamos cadastrar um lead na Sales Force quando o usuário fazia o cadastro dele no site do cliente.
A melhor forma foi utilizar via curl no php, tivemos algumas dificuldades por conta da falta de documentação sobre essa situação especifica.
Segue o código que implementamos com sucesso.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
$parameters = array( 'submit' => 'Submit', 'oid' => '00D1a000000554d', 'first_name' => $first_name, 'last_name' => $last_name, 'phone' => $telefone, 'email' => $email, 'city' => $cidade, '00N1a0000075es8' => 'Agendado', 'lead_source' => 'Site - '.$marca, '00N1a00004sd4aL' => 'nome do projeto', 'Campaign_ID' => '7011P000asd444i', 'debug' => '1', 'debugEmail' => 'seuemaildeteste@seusite.com' ); foreach ($parameters as $key => $value) { $params[] = stripslashes($key)."=".stripslashes($value); } $query_string = join("&", $params); //$queryParam = http_build_query($parameters); // create a new cURL resource $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8'); curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string); //Set some settings that make it all work :) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); //Execute SalesForce web to lead PHP cURL $result = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); //close cURL connection curl_close($ch); // Envia um email sobre o sucesso ou não do cadastro do lead. As vezes o debug da salesforce falha. $headers = 'From: no-reply@seusite.com.br' . "\r\n" . 'Reply-To: no-reply@seusite.com.br' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); if ($status == 200){ mail("seuemaildeteste@seusite.com","Data Submitted Successfully",$query_string.'<br>Status: '.print_r($status,1),$headers); }else { mail("seuemaildeteste@seusite.com","Data Submitted Failure!!!!!!!!!!!",$query_string.'<br>Status: '.print_r($status,1),$headers); } |