Método recomendado por sua
velocidade e eficácia
Recomendado para pessoas sem nenhum
conhecimento de programação
Nome | é obtido da conta que envia o email, se possível | |
---|---|---|
Sobrenome | sobrenome do lead | |
Telefone | Telefone principal | |
Celular | Celular do lead | |
Tipo de contato: | é o meio pelo qual a pessoa é contatada e pode ser: 1- eletrônica | 2- telefone | 3- entrevista | |
Tipo de negócio: | Canal de vendas: (1) Convencional / 0km | (2) Seminovo/Usado | (3) Gerenciamento de capitalização | |
Origem: | é um agrupador do identificador de onde o Lead é obtido. É utilizado apenas na interface gráfica do Pilot® e seu uso é descontinuado nas interfaces automáticas. | |
Sub-origem: | identifica a origem primária do lead, a lista de sub-origens é obtida a partir da instância de cada cliente e pode ser vista no relatório das tabelas do sistema chamado "Origem dos dados". | |
Fornecedor atribuído: | indica o fornecedor ao qual atribuir o lead diretamente. No momento, este parâmetro é usado apenas na interface gráfica Pilot®. | |
Notas: | Comentários ou observações que o Lead deixa nas páginas em que está registrado. | |
parâmetros obrigatórios |
Nossa documentação explica os conceitos básicos do uso de chamadas Web / HTTP e da Pilot® em particular. Se você não conhece essas técnicas ou não trabalhou anteriormente com chamadas Web / HTTP, reserve um momento para fazê-lo antes de iniciar o trabalho.
https://api.pilotsolution.com.ar/webhooks/welcome.php
IMPORTANTE: qualquer resposta que não seja o status 200 HTTP é um erro.
action |
Valor fixo "create" | |
---|---|---|
parámetros obligatorios | ||
appkey |
É um valor alfanumérico ex: 9715fc4b-17a8-4e56-ac7a-6deb5fd46u71 que você pode pedir ao suporte da Pilot ou conseguir na configuração da plataforma. |
|
parámetros obligatorios | ||
debug |
Código numérico, flag, que permite testar o serviço sem inserir o Lead à Pilot®.
|
|
notification_email |
Conta de e-mail para receber uma cópia dos dados inseridos. | |
pilot_firstname |
Nome do Lead | |
pilot_lastname |
Sobrenome do Lead | |
pilot_phone |
Telefone do Lead | |
pilot_cellphone |
Telefone celular do Lead | |
pilot_email |
E-mail del Lead | |
pilot_contact_type_id |
código numérico do tipo de contacto do dado.
1: Eletrônico, 2: Telefônico, 3: Entrevista |
|
código numérico do tipo negócio do dado. |
1: 0km , 2: Usados, 3: Gerenciamento de capitalização | |
pilot_origin_id |
Descontinuado | |
pilot_suborigin_id |
Código numérico da sub-origem do Lead, que é obtido na lista de origens.
de dados no módulo de administração Ej: 1 (Landing) |
|
pilot_notes |
Notas do Lead | |
pilot_assigned_user |
Conta de usuário Pilot à qual você deseja atribuir os dados. Nesse caso, a atribuição manual dos dados tem precedência sobre os grupos de captura de dados, por exemplo: cuentausuario@dominio.com |
|
pilot_car_brand |
Marca do veículo de interesse, ex: Ford | |
pilot_car_model |
Modelo do veículo de interesse Ex: Fiesta | |
pilot_city |
Cidade onde se localiza o dado Ex: São Paulo | |
pilot_province |
Estado onde se localiza o dado Ex: São Paulo | |
pilot_country |
País onde se encontra o dato Ex: Brasil | |
pilot_vendor_name |
Nome do fornecedor do dado | |
pilot_vendor_email |
E-mail do fornecedor do dado | |
pilot_vendor_phone |
Telefone do fornecedor do dado | |
pilot_product_code |
Código do produto de acordo com a lista de preços do piloto. Isso faz com que o sistema gere automaticamente uma oferta de interesse para o lead. A lista de produtos pode ser obtida em endpoint masters/read.php Os produtos e códigos podem variar de mês para mês, dependendo do registro ou cancelamento das marcas e da agência. |
|
pilot_provider_service |
Nome do serviço que fornece os dados. É um descritivo da origem. | |
pilot_provider_url |
URL do serviço que coletou os dados. | |
pilot_client_identity_document |
Documento de Identidade do Lead | |
pilot_tracking_id |
Código de seguimento | |
pilot_client_ip |
Ip do cliente | |
pilot_best_contact_time |
Horário de contato preferido do Lead | |
OBRIGATÓRIO |
Cada chamada de API bem-sucedida retorna uma mensagem no formato JSON com informações
sobre a execução do serviço ou de erros.
Exemplo de retorno em caso de erro:
{
"success":valor boolean - true o false,
"message"::mensagem do resultado,
"data":detalhe do erro
}
Exemplo:
{
"success":false,
"message":"Error",
"data":"O parâmetro requerido appkey não foi configurado"
}
Exemplo de retorno em caso de execução correta:
{
"success":valor boolean - true o false,
"message":mensagem do resultado,
"data":{
"message": resultado,
"assigned_user_id": ID do usuário piloto designado. Se a tag não estiver atribuída, ela não será enviada,
"success": valor booleano - verdadeiro ou falso indica que foi inserido corretamente no banco de dados,
"id": identificador dos dados registrados. É um valor numérico
}
}
Ejemplo:
{
"success":true,
"message":"Success",
"data":{
"message":"(3.2) O serviço de carregamento de dados foi executado com sucesso. ",
"assigned_user_id":80,
"success":true,
"id":8855
}
}
Copie e cole o seguinte código em um arquivo com extensão .PHP
Modifique os parâmetros de configuração e tente um formulário que tenha esta página como ação.
Você também pode fazer o download de um código de formulário de exemplo para adicionar o criativo aqui
<?php //VARIABLES DE CONFIGURACION $serviceURL = "https://api.pilotsolution.com.ar/webhooks/welcome.php"; $appKey = "aqui la key de la instancia correspondiente"; $tipoNegocio = "1"; $origendeldato = "7A2E4184"; $landing_link = "Landing Promo Mes"; //CAPTURA DE parâmetros que podem vir de um formulário $encoded = ""; $encoded .= urlencode('action').'=create&'; $encoded .= urlencode('appkey').'='.urlencode($appKey).'&'; $encoded .= urlencode('pilot_firstname').'='.urlencode(request("nombre",false,"n/a")).'&'; $encoded .= urlencode('pilot_lastname').'='.urlencode(request("apellido",false,"")).'&';$encoded .= urlencode('pilot_phone').'='.urlencode(request("telefono",false,"n/a")).'&'; $encoded .= urlencode('pilot_cellphone').'='.urlencode(request("celular",false,"")).'&'; $encoded .= urlencode('pilot_email').'='.urlencode(request("email",false,"")).'&'; $encoded .= urlencode('pilot_contact_type_id').'='.urlencode('1').'&'; //electronico $encoded .= urlencode('pilot_business_type_id').'='.urlencode($tipoNegocio).'&'; $encoded .= urlencode('pilot_notes').'='.urlencode(request("comentarios",false,"Sin comentarios");).'&'; $encoded .= urlencode('pilot_suborigin_id').'='.urlencode($origendeldato).'&'; $encoded .= urlencode('pilot_provider_url').'='.urlencode($landing_link).'&'; $ch = curl_init($serviceURL); curl_setopt($ch, CURLOPT_FAILONERROR, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); echo $output; die() ; // Obtém os parâmetros por post o get function request($param, $required=true, $default="") { $result = $default; //veo si esta seteado el parametro POST if (isset($_POST[$param])) { if($_POST[$param]!="") { $result = $_POST[$param]; } else { if ($required) { throw new Exception("El parametro requerido ".$param." no fue seteado"); } } } else if(isset($_GET[$param])) { if($_GET[$param]!="") { $result = $_GET[$param]; } else { if ($required) { throw new Exception("El parametro requerido ".$param." no fue seteado"); } } } else { if ($required) { throw new Exception("El parametro requerido ".$param." no fue seteado"); } } return $result; } ?>
O formato de e-mail é um ADF (xml de informações) com o seguinte conteúdo. Nesse caso, as informações que podem ser enviadas pelo correio são mais extensas e com mais informações.
Formato de e-mail: preferencialmente texto sem formatação.
<?xml version="1.0" encoding="UTF-8"?> <?adf version="1.0"?> <adf> <prospect> <requestdate>2013-06-27 11:26:24</requestdate> <vehicle> <brand>PEUGEOT</brand> <model>207</model> </vehicle> <customer> <contact> <name part="full">nombre complete del prospecto</name> <name part="first">nombre</name> <name part="last">apellido</name> <email>mail@domionio.com</email> <phone>1147899000</phone> <cellphone>1160403456</cellphone> <address> <city>Cuidad Autónoma de Buenos Aires</city> <province>Buenos Aires</province> <country>Argentina</country> </address> </contact> <comments> <![CDATA["Estou interessado em comprar um Ford Fiesta"]]> </comments> </customer> <vendor> <contact> <name part="full"></name> <email></email> <phone></phone> </contact> </vendor> <provider> <name>fornecedor de dados</name> <service>Landing Venda Ford Fiesta</service> <notification_email></notification_email > <debug>0</debug> </provider> </prospect> <format> <formtype>pilot</formtype> <formversion>1</formversion> <key></key> </format> </adf>
Os parâmetros relatados em azul são constantes e não devem ser alterados.
Os parâmetros relatados em verde são opcionais e servem para expandir as informações do vendedor
Os parâmetros relatados em rojo são básicos da mensagem e são obrigatórios.
Se algum dado não for enviado, a tag deverá ser reportada em branco. Em outras palavras, a mensagem deve estar completa
Ej:
<?php enviar_a_Pilot(); die(); function enviar_a_Pilot() { $REQUERIDO = true; $NO_REQUERIDO = false; $nombre = request("nombre",$REQUERIDO); $apellido = request("apellido", $NO_REQUERIDO); $telefono = request("telefono", $NO_REQUERIDO); $celular = request("celular", $NO_REQUERIDO); $email = request("email",$REQUERIDO); $modeloAuto = request("modelo",$NO_REQUERIDO); $comentarios = "Comentario:".request("comentarios", $NO_REQUERIDO); $provider = "Nombre del proveedor de datos"; $landing = "Formulario de Contacto Tipo"; $linkLanding = "www.misitio.com/landing.php"; $provincia = request("region",$NO_REQUERIDO); $to = "..."; //esta cuenta se configura en PILOT CRM $subject = "Nuevo conctacto de ".$nombre; $cuerpoDelMail = armarCuerpoDelMail($nombre, $apellido, $telefono, $celular, $email, $modeloAuto, $comentarios, $landing, $linkLanding, $provincia, $provider); //aqui se puede usar if (enviarElMail("mi_cuenta@mail.com", $to, $subject, $cuerpoDelMail)){ echo "Su consulta fue enviada satisfactoriamente."; }else{ echo "No hemos podido enviar su consulta. Intente más tarde por favor."; } return true; } // Levanta los parámetros por post o get function request($param, $required=true, $default="") { $result = $default; //veo si esta seteado el parametro POST if (isset($_POST[$param])) { if($_POST[$param]!="") { $result = $_POST[$param]; } else { if ($required) { throw new Exception("El parametro requerido ".$param." no fue seteado"); } } } else if(isset($_GET[$param])) { if($_GET[$param]!="") { $result = $_GET[$param]; } else { if ($required) { throw new Exception("El parametro requerido ".$param." no fue seteado"); } } } else { if ($required) { throw new Exception("El parametro requerido ".$param." no fue seteado"); } } return $result; } //Funcion para el envio de mails function enviarElMail($de, $para, $asunto, $cuerpodelmail) { //aqui implementar la funcion de envio de mail que se disponga en el servidor. } //Esta funcion retorna el contenido del cuerpo del mail con los valores ya reemplazados function armarCuerpoDelMail($nombre, $apellido, $telefono, $celular, $email, $modeloAuto, $comentarios, $landing, $linkLanding, $provincia, $provider) { $result = ' <?xml version="1.0" encoding="UTF-8"?> <?adf version="1.0"?> <adf> <prospect> <requestdate>'.date("Y-d-m H:i:s").'</requestdate> <vehicle> <id></id> <year></year> <make>RENAULT</make> <model>'.$modeloAuto.'</model> <vin></vin> <stock></stock> <trim></trim> <price type="asking"></price> </vehicle> <customer> <contact> <name part="full"></name> <name part="first">'.$nombre.'</name> <name part="last">'.$apellido.'</name> <email>'.$email.'</email> <phone>'.$telefono.'</phone> <cellphone>'.$celular.'</cellphone> <international_phone></international_phone> <address> <street></street> <city>'.$provincia.'</city> <regioncode></regioncode> <postalcode></postalcode> <country>Argentina</country> </address> </contact> <comments> <![CDATA["'.$comentarios.'"]]> </comments> </customer> <vendor> <vendorname></vendorname> <contact> <name part="full"></name> <email></email> <phone></phone> </contact> </vendor> <provider> <name>'.$provider.'</name> <service>'.$landing.'</service> <notification_email></notification_email > <debug>0</debug > <url><![CDATA["'.$linkLanding.']]></url> </provider> </prospect> <format> <formtype>pilot</formtype> <formversion>1</formversion> <key></key> </format> </adf>'; return $result; } ?>