Skip to content

Instantly share code, notes, and snippets.

@codingleo
Last active March 8, 2017 20:38
Show Gist options
  • Save codingleo/51dd0f63cecc6ff15a5fc038149c6305 to your computer and use it in GitHub Desktop.
Save codingleo/51dd0f63cecc6ff15a5fc038149c6305 to your computer and use it in GitHub Desktop.
Resultados Digitais - Integração de Formulários com JQuery

#RD Station - Resultados Digitais ##Integração de formulários com JQuery


Abaixo, função simples para integração de qualquer formulário com resultados digitais.

/**
* @attr identificador - É o identificador do formulário. Deve ser uma STRING
* @attr form_id - É o ID do formulário. Deve ser uma STRING. Ex.: <form id="form1".../> - use: "#form1" na/o função / método.
* @attr token - É o token de integração do RD Station. Deve ser uma STRING
**/
function Rd_integration(identificador, form_id, token) {

    this.url = "https://www.rdstation.com.br/api/1.3/conversions";

    var the_data = $(this).serializeArray();

    this.data = the_data.reduce(function(prev, current, index){
        
        var new_current = new Array();
                
        new_current[current.name] = current.value;
        
        return Object.assign(prev, new_current);

    }, {});

    this.data = Object.assign({}, formated_data, {token_rdstation: token, identificador: identificador});

}

Rd_integration.prototype.integrate = function() {
    $(form_id).submit(function(){
        $.ajax({
            url: this.url,
            data: this.data,
            contentType: "application/json"
        })
        .always(function(response){
            console.log("Sucesso: \n\n" + response);
        })
        .fail(function(response){
            alert("Erro: \n\n" + response);
        });
    });
}

Rd_integration.prototype.get_data_from_form = function() {
    return this.data;
}

Como usar:

Para usar, basta chamar a/o função / método

//declara nova integração com formulário
var integration = new Rd_integration("Formulário - contato", "#form1", "00d0fa0sd0fasfasdf0as0fd0as");

// Envia os dados do formulário para o RD Station criando um novo lead
integration.integrate();

// Atribui os valores do formulário e dados do RD como json a uma variável
var data_json = integration.get_data_from_form();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment