Buenas, acabé de crear un nuevo formulario en el master data para el registro de Clientes, alguien me podría decir cómo hago para llamar ese formulario en el frontend de mi página. Gracias!

Screenshot_1

Segue a documentação: http://help.vtex.com/pt/faq/criar-formulario-de-fale-conosco-usando-master-data

Yo seguí estos pasos, ya el formulario está creado

http://help.vtex.com/es/tutorial/creando-formulario-en-master-data

Pero no sé cómo mostrarlo

Na documentação que enviei existe um link para baixar um exemplo de html/javascript.

Mira como lo tengo

<h6>COMPÁRTENOS TUS DATOS</h6>

<script type="text/javascript">

$(document).ready(function(){

var storeName = "{Bienvenida}"; //Indica o nome da conta utilizada na API do MasterData

var dataEntity = "BN"; //Indica a sigla da entidade de dados utilizada na API do MasterData

var htmlElementId = "contactForm"; //Indica o ID do elemento HTML que receberá o formulário

var messageLoading = "Cargando..."; //Mensagem de carregamento do formulário (ao salvar)

var messageValidation = "* CAMPO REQUERIDO"; //Mensagem de validação de formulário

var messageSuccess = "REALIZADO CON ÉXITO. REVISE SU CORREO"; //Mensagem de sucesso

var messageError = "Algún error ocurrió. Inténtelo de nuevo más tarde."; //Mensagem de erro

FormCreate(storeName, dataEntity, htmlElementId, messageLoading, messageValidation, messageSuccess, messageError);

});

</script>

<div id="contactForm"></div>

</div>

Este es el JS

function ContactCreate(storeName, dataEntity, co_client)

{

var co_description = $("#co_description").val();

var co_type = $("#co_type").val();

var jsonCO = {

"client": co_client.replace("CL-","")

};

var urlCO = "/api/dataentities/" + dataEntity + "/documents/";

$.ajax({

headers: {

"Accept": "application/vnd.vtex.ds.v10+json",

"Content-Type": "application/json"

},

data: JSON.stringify(jsonCO),

type: 'PATCH',

url: urlCO,

success: function (data) {

console.log(data);

ResetMessages()

$("#co_message_success").show();

$("#BN_nombre").val("");

$("#BN_email").val("");

},

error: function (data) {

console.log(data);

ResetMessages()

$("#co_message_error").show();

}

});

}

function ContactCreateByEmail(storeName, dataEntity, BN_email)

{

var cl_url = "/api/dataentities/CL/search/?email=" + BN_email + "&_fields=id";

$.ajax({

headers: {

"Accept": "application/vnd.vtex.ds.v10+json",

"Content-Type": "application/json"

},

type: 'GET',

url: cl_url,

success: function(data, textStatus, xhr){

console.log(data);

if(xhr.status == "200" || xhr.status == "201"){

ContactCreate(storeName, dataEntity, data[0].id);

}else{

ResetMessages()

$("#co_message_error").show();

}

},

error: function(data){

console.log(data);

ResetMessages()

$("#co_message_error").show();

}

});

}

function ClientCreate()

{

var storeName = $("#master_data_store_name").val();

var dataEntity = $("#master_data_data_entity").val();

var BN_nombre = $("#BN_nombre").val();

var BN_email = $("#BN_email").val();

var cl_json = {

"firstName": BN_nombre,

"email": BN_email,

};

var cl_url = "/api/dataentities/CL/documents/";

$.ajax({

headers: {

"Accept": "application/vnd.vtex.ds.v10+json",

"Content-Type": "application/json"

},

data: JSON.stringify(cl_json),

type: 'PATCH',

url: cl_url,

success: function(data, textStatus, xhr){

console.log(data);

if(xhr.status == "200" || xhr.status == "201"){

ContactCreate(storeName, dataEntity, data.Id);

}else if(xhr.status == "304"){

ContactCreateByEmail(storeName, dataEntity, BN_email);

}else{

ResetMessages()

$("#co_message_error").show();

}

},

error: function(data){

console.log(data);

ResetMessages()

$("#co_message_error").show();

}

});

}

function ResetMessages()

{

$("#co_message_loading").hide();

$("#co_message_validate").hide();

$("#co_message_success").hide();

$("#co_message_error").hide();

}

function IsEmail(email) {

var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;

return regex.test(email);

}

function FormValidate()

{

var isFormValidate = true;

if($("#BN_nombre").val() == ""){

isFormValidate = false;

$("#BN_nombre").focus();

}

if((isFormValidate) && ($("#BN_email").val() == "")){

isFormValidate = false;

$("#BN_email").focus();

}

if(isFormValidate){

ResetMessages()

$("#co_message_loading").show();

ClientCreate();

}else{

ResetMessages()

$("#co_message_validate").show();

}

return false;

}

function FormCreate(storeName, dataEntity, htmlElementId, messageLoading, messageValidation, messageSuccess, messageError){

var htmlContent = '';

htmlContent += '<form id="co_form" action="javascript:FormValidate();" method="post">';

htmlContent += '<input type="hidden" id="master_data_store_name" name="master_data_store_name" value="' + storeName + '" />';

htmlContent += '<input type="hidden" id="master_data_data_entity" name="master_data_data_entity" value="' + dataEntity + '" />';

htmlContent += '<div class="input-field required BN_nombre">';

htmlContent += '<label for="BN_nombre"> </label>';

htmlContent += '<input placeholder="Tu nombre completo" id="BN_nombre" maxlength="100" name="BN_nombre" type="text" class="validate" />';

htmlContent += '</div>';

htmlContent += '<div class="input-fieldstring required BN_email">';

htmlContent += '<label for="BN_email"> </label>';

htmlContent += '<input placeholder="Ingresa tu correo" id="BN_email" maxlength="100" name="BN_email" type="text" class="validate" />';

htmlContent += '</div>';

htmlContent += '<div id="co_message_loading" class="alert alert-info" style="display:none;">' + messageLoading + '</div>';

htmlContent += '<div id="co_message_validate" class="alert alert-warning" style="display:none;">' + messageValidation + '</div>';

htmlContent += '<div id="co_message_success" class="alert alert-success" style="display:none;">' + messageSuccess + '</div>';

htmlContent += '<div id="co_message_error" class="alert alert-danger" style="display:none;">' + messageError + '</div>';

htmlContent += '<div class="input-field submit waves-effect waves-light btn"><input id="commit" name="commit" type="submit" value="LO QUIERO"></div>';

htmlContent += '</form>';

$("#"+htmlElementId).html(htmlContent);

}

Pero los datos no me guardan, registra un nuevo cliente pero vacío

O primeiro erro que vejo é a variável storeName:

var storeName = "{Bienvenida}";

Deveria ser:

var storeName = "bienvenida";

Buenas tardes con todos, quisiera saber si lograron publicar de esta manera el formulario ya que estoy intentando lo mismo y tengo problema con asignación del CORS del js y con las demás cosas estoy tenido dificultad