Às vezes pode ser útil enviar dados diretamente do endpoint de um formulário nativo.
Isso permite que um formulário seja submetido à SharpSpring sem a necessidade de utilizar o código incorporado do formulário nativo.
Em vez disso, um desenvolvedor precisará somente criar um código para criar um URL contendo os dados do formulário, e postar esse URL na SharpSpring.
Este artigo detalha como submeter diretamente para formulário nativos.
Usuários com acesso:
- Administradores
Entendendo a Submissão Direta
O envio direto para endpoints de formulários nativos permite que o seu desenvolvedor tenha controle total sobre quando os dados de um formulário forem submetidos à SharpSpring. Isso também lhe permite manipular ainda mais os dados com o seu próprio código antes de postar.
Para alguns formulários, devido ao jeito que são construídos e seus métodos de envios, este método pode ser o único disponível. Ao utilizar esse método, os dados não precisam nem vir de um formulário real, mas pode ser puxado de qualquer fonte que seu desenvolvedor tenha acesso.
O endpoint de um formulário possuirá a seguinte estrutura:
https://app-XXXXXXXX.marketingautomation.services/webforms/receivePostback/YYYYYYYYYYYY/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/jsonp/
Com dados de exemplo anexados, o endpoint se assemelharia com o seguinte:
https://app-XXXXXXXX.marketingautomation.services/webforms/receivePostback/YYYYYYYYYYYY/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/jsonp/?firstName=Jon&lastName=Walker&email=jon.walker@sharpspring.com
Para encontrar o endpoint de seu formulário, crie um formulário nativo na SharpSpring e visualize o seu código incorporado.
<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>
O endpoint de seu formulário será o URL da linha que contém ‘baseURI’
, mais o valor acompanhando o ‘endpoint’
. Ele então terminará com /jsonp/
. Considere os seguintes valores no código de exemplo:
Os nomes dos campos podem ser o que você quiser, contanto que sejam únicos e consistentes em cada envio. Você mapeia esses campos da mesma maneira que você mapeia campos em qualquer formulário nativo. Assim, os nomes dos campos a serem inseridos devem ser descritivos o suficiente para tornar o mapeamento mais fácil. Evite utilizar pontuação nos nomes dos campos, pois isso pode causar um erro no envio.
Nota: a SharpSpring oferece Serviços Profissionais para auxílio em códigos personalizados. No entanto, como essa integração não é padrão, e nem um recurso oficial da plataforma SharpSpring, o Suporte da SharpSpring não pode ajudar a solucionar códigos com falhas.
Estabelecendo Rastreamento
Considere o seguinte exemplo de código para uma submissão a um endpoint com o nome de Jon, o sobrenome de Walker, e o endereço de e-mail Jon.Walker@sharpspring.com. Ao passo em que este código coletaria dados de formulários e criaria leads, ele não estabeleceria rastreamento no lead como uma submissão de formulário normalmente faria.
https://app-XXXXXXXXXX.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/30e3bbfe-a5e7-4207-9237-e9f9e2ff80e9/jsonp/?firstName=Jon&LastName=Walker&Email=Jon.Walker@sharpspring.com
Para estabelecer rastreamento, você deve pegar o cookie e passá-lo a um campo denominado trackingid__sb
. Esse campo possui dois "underlines", não aparecerá na página de mapeamento de campos, e deve sempre estar com esse nome.
Você pode recuperar o cookie denominado __ss_tk
e passá-lo como o valor do ID de rastreamento. Caso faça isso, o formulário estabelecerá rastreamento no lead da mesma maneira que qualquer formulário nativo faria. O cookie também pode ser obtido utilizando conteúdo dinâmico da web, mas na maioria das vezes um desenvolvedor capturará o cookie com seu próprio código. Cookies de rastreamento devem possuir um formato semelhante ao seguinte:
201611|581a09d2ba899bcc078b477a
https://app-3Q7ZHNRIA0.marketingautomation.services/webforms/receivePostback/MzYwN7EwMzcyAgA/30e3bbfe-a5e7-4207-9237-e9f9e2ff80e9/jsonp/?firstName=Jon&LastName=Walker&Email=Jon.Walker@sharpspring.com&trackingid__sb=201611|581a09d2ba899bcc078b477a
Com a adição deste cookie, o código de exemplo se assemelha com o código de rastreamento fornecido. Isso pode ser realizado em qualquer linguagem em que você possa construir um URL e submetê-lo como uma solicitação GET. Assim, o URL pode ser digitado diretamente na barra de URL do navegador para teste, e a submissão deve seguir com êxito.
Considere o exemplo de código de rastreamento em PHP utilizando o cURL. Por mais que este seja o método mais comum, a mesma lógica se aplica em qualquer linguagem.
$baseURL = "https://app-XXXXXXXX.sharpspring.com/webforms/receivePostback/XXXXXXXXXXXX/";
$endPoint = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
// Prepare parameters
$params = "";
if (!empty($first_name)) {
$params = $params . "FirstName=" . urlencode($first_name) . "&";
}
if (!empty($last_name)) {
$params = $params . "LastName=" . urlencode($last_name) . "&";
}
if (!empty($email)) {
$params = $params . "emailAddress=" . urlencode($email) . "&";
}
if (!empty($company)) {
$params = $params . "Company=" . urlencode($company) . "&";
}
if (!empty($keep_me_updated)) {
$params = $params . "Subscribe=" . urlencode($keep_me_updated) . "&";
}
if (isset($_COOKIE['__ss_tk'])) {
$trackingid__sb = $_COOKIE['__ss_tk'];
$params = $params . "trackingid__sb=" . urlencode($trackingid__sb);
}
// Prepare URL
$ssRequest = $baseURL . $endPoint . "/jsonp/?" . $params;
// Send request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ssRequest);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
Comentários
0 comentário
Artigo fechado para comentários.