Formulário de contato Multiloja

Olá Vtex Community

Estou tentando fazer um formulário na minha segunda loja, porém ao clicar no botão enviar ele retornar o seguinte erro.

Caso alguém puder me indicar o que fazer, ficarei grato.

Segue parte do .js para melhor compreendimento

$(".form-contato").submit(function(e) {
        e.preventDefault(), $(".form-contato").find("span.sucess").remove();
        var $form = $(".form-contato"),
            validacao = $form.valid();
        if (validacao) {
            var header = {
                    Accept: "application/json",
                    "Content-Type": "application/json"
                },
                sendData = JSON.stringify({
                    name: $("#fieldNome").val(),
                    email: $("#fieldEmail").val(),
                    tel: $("#fieldPhone").val(),
                    order: $("#fieldPedido").val(),
                    message: $("#fieldMensagem").val(),
                    solicitationType: $("#fieldAssunto").val()
                });
            $.ajax({
                url: "/api/dataentities/FL/documents",
                type: "POST",
                dataType: "json",
                crossDomain: !0,
                headers: header,
                data: sendData,
                beforeSend: function() {
                    $(".form-contato").find(".loader-submit").fadeIn()
                },
                success: function() {
                    $(".form-contato").find(".loader-submit").hide(), $(".form-contato").each(function() {
                        this.reset()
                    }), $(".form-contato").find(".loader-submit").after('<span class="sucess">Sua Mensagem foi enviada com sucesso!</span>')
                }
            })
        } else console.log("Preencha os campos corretamente!")
    })
});

A sua url não esta igual ao seu exemplo, no seu exemplo esta correto /api/… utilizando o padrão correto.

Na sua requisição (seu print) esta mostrando a url “https://{account}.ds.vtexcrm.com.br/” e neste caso ocorre o bloqueio de cors.

Mantenha a url "/api/dataentities/FL/documents" que deve funcionar.

Opa, Bruno blz?

Obrigado pela dica, fiz as alterações que você disse. Porem ainda continua dando erro.

Segue o print do erro

image

Olhei o site do print e ele esta apresentado o seguinte erro:

Este alerta informa que você está tentando salvar um dado sobre um campo privado do Data Entity, verifique se todos os campos estão públicos para escrita “Allow editing without credential”.

Então mas todos estão permitidos aqui.

Todos os campos estão assim, segue o print de um exemplo.

mesmo assim continua dando erro.

Este campo que esta gerando o bloqueio: solicitationType
Caso a configuração deste campo esteja igual as demais, tente salvar novamente e depois clicar no botão com símbolo de disquete para publicar.

1 Like

@rodrigoaltava não recomendo deixar o campo email possivel de leitura sem credencial.
é muito fácil para qualquer um conseguir pegar essa sua lista de e-mail.
você pode dar mais contexto sobre esse formulário?
Pois acredito que tem outras possibilidades mais seguras e de acordo com a LGPD.

Este campo estava em falta mesmo, acredito que seja por isso que estava dando o bloqueio. Obrigado pela dica Bruno.

Mas mesmo assim, deu outro erro ao enviar a Entidade, pedindo para entrar em contato com suporte da Vtex. Nem o suporte da Vtex conseguiu resolver esse problema de envio de entidade, a solução que nos disseram para fazer foi fazer outra entidade de dados.

Olá @hansen, este formulário é um modelo Fale Conosco simples, apenas uma forma do cliente contatar a gente de forma rápida e fácil.

O que você sugere? :grinning:

deixa apenas o
image
marcado, o filtrar e ler, pode desmarcar.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.