SDK Browser ou Webview

Introdução

O SDK Browser ou Webview é um script escrito em JavaScript que realiza coletas e análise de informações públicas da máquina do usuário. Através desse recurso é possível identificar se uma máquina já é conhecida pela ClearSale e qual o seu histórico de ações.

Implementação do script

Monitoramento Bloqueio de Script

Em alguns casos, a execução do script pode ser bloqueada pelo cliente de forma intencional, para coletar esta informação é necessário a implementação do bloquei de script

Para incluir o monitoramento do bloqueio de script, inclua o seguinte trecho de código antes do fechamento da tag

<noscript>
    <img src="https://device.clearsale.com.br/p/fp.png?sid=SEU_SESSIONID&app=SEU_APPKEY&ns=1" />
</noscript>

Inclua o código abaixo no header ou rodapé da página que o Fingerprint está implementado

<script>
    function checkUrl(url){
        let request = new XMLHttpRequest();
        request.open( "GET", url, true );
        request.send(null);
        request.onerror = (event) => {
            request.open("GET", "https://web.fpcs-monitor.com.br/p/fp.png?sid=SEU_SESSIONID&app=SEU_APPKEY&bl=1", false);
            request.send(null);
        }
    }
    checkUrl("https://device.clearsale.com.br/p/fp.png");
</script>

No código acima o texto SEU_SESSIONID precisa ser substituido, pelo SessionID da transação e o texto SEU_APPKEY deve ser substituido pelo seu APPKEY.

Página de inclusão

É necessário que o script esteja em somente uma única página do website.

O tempo de execução do script dificilmente ultrapassa 3 segundos, contudo deve-se exigir um cuidado para que não ocorra evasão da página pelo usuário sem que este script termine sua função. Por isso recomendamos que seja uma página que represente interatividade com o usuário, tais como preenchimento de dados cadastrais ou informações de pagamento.

Local da página de inclusão

É expressamente obrigatório a inclusão das tags do script ao final da página html, antes do .

O cumprimento desta recomendação garante que o website não sofra nenhum prejuízo de performance na integração.

Código

O código que deverá ser incluído na página, antes da tag , conforme exemplo abaixo:

<script>
    (function (a, b, c, d, e, f, g) {
    a['CsdpObject'] = e; a[e] = a[e] || function () {
    (a[e].q = a[e].q || []).push(arguments)
    }, a[e].l = 1 * Date.now(); f = b.createElement(c),
    g = b.getElementsByTagName(c)[0]; f.async = 1; f.src = d; g.parentNode.insertBefore(f, g)
    })(window, document, 'script', '//device.clearsale.com.br/p/fp.js', 'csdp');
    csdp('app', 'seu_app');
    csdp('sessionid', 'seu_id_de_sessao');
</script>

A ClearSale deverá informar qual valor deve ser utilizado na palavra sinalizada em verde (seu_app). Ele serve para identificar o seu website em nosso sistema. Já o valor sinalizado em verde (seu_id_de_sessao) trata-se do id da sessão do usuário no website. O valor do id de sessão deve conter no mínimo 6 e no máximo 128 caracteres. Este parâmetro é extremamente relevante e o mesmo valor de SessionID passado no parâmetro da coleta do Behavior Analytics deverá ser enviado para a ClearSale no campo "SessionID" da API de envio da transação/pedido.

Definição do SessionID

**O SessionID deve possuir um valor único por sessão.

**Em determinadas situações, como o uso do Google Tag Manager, não é possível preencher o valor do sessionid no bloco de código de implantação. Se este for o seu caso, você pode usar uma tag input em seu html e informar o id da tag no código de implantação.

Coloque em algum lugar da sua página um input conforme a sugestão abaixo.

<input type="hidden" id="MeuCampoComValor" value="Valor_do_Meu_SessionID"/>

No código de implantação basta informar o id do input que o script irá buscar o valor preenchido, conforme exemplo abaixo.

<script>
    (function (a, b, c, d, e, f, g) {
    a['CsdpObject'] = e; a[e] = a[e] || function () {
    (a[e].q = a[e].q || []).push(arguments)
    }, a[e].l = 1 * new Date(); f = b.createElement(c),
    g = b.getElementsByTagName(c)[0]; f.async = 1; f.src = d; g.parentNode.insertBefore(f, g)
    })(window, document, 'script', '//device.clearsale.com.br/p/fp.js', 'csdp');
    csdp('app', 'seu_app');
    csdp('inputsessionid', 'MeuCampoComValor');
</script>

OBS: Nota-se que, para este caso, o parâmetro sessionid deve ser alterado para inputsessionid.

Se você não utiliza valor de sessionid em seu website, nós podemos criá-lo para você, lembre-se que este valor deverá ser enviado para a ClearSale posteriormente.

Coloque em algum lugar da sua página um input conforme sugestão abaixo.

<input type="hidden" id="MeuCampoQueReceberaValor" value=""/>

No código de implantação basta informar o id do input que o script irá gerar um valor para o sessionid e armazená-lo lá, conforme exemplo abaixo.

<script>
    (function (a, b, c, d, e, f, g) {
    a['CsdpObject'] = e; a[e] = a[e] || function () {
    (a[e].q = a[e].q || []).push(arguments)
    }, a[e].l = 1 * new Date(); f = b.createElement(c),
    g = b.getElementsByTagName(c)[0]; f.async = 1; f.src = d; g.parentNode.insertBefore(f, g)
    })(window, document, 'script', '//device.clearsale.com.br/p/fp.js', 'csdp');
    csdp('app', 'seu_app');
    csdp('outputsessionid', 'MeuCampoQueReceberaValor');
</script>

OBS: Nota-se que, para este caso, o parâmetro sessionid deve ser alterado para outputsessionid.

Detalhes de privacidade

Uso de dados

Todas as informações coletadas pelo SDK da ClearSale são com exclusiva finalidade de prevenção à fraude e proteção ao próprio usuário, aderente à política de segurança e privacidade das plataformas Google e Apple e à LGPD. Por isso, estas informações devem constar na política de privacidade do aplicativo.

Tipo de dados coletados

O SDK da ClearSale coleta as seguintes informações do dispositivo :

  • Localização precisa (quando habilitada permissão pelo usuário);
  • Identificadores de publicidade do dispositivo (quando habilitada permissão pelo usuário);
  • Características físicas do dispositivo/ hardware (Como tela, bateria, teclado, espaço livre em disco, modelo, nome do dispositivo);
  • Características de software (Como versão, idioma, build, controle parental);
  • Informações de rede (Como Conexões, IP);
  • Operadora do SimCard.

Política de privacidade da Google
Política de privacidade da Apple