Upload de arquivo no MasterData

Fala pessoas, recentemente andei apanhando para fazer upload de arquivo no master data da vtex. Dei uma caçada aqui na comunidade e não achei como fazer. Então segue aí o caminho das pedras. Não vou ser muito detalhado, pois estou no corre aqui.

Gravando dados

Para quem já salvou dados no master data, segue os mesmos passos e mesma API, só que a diferença que o campo file, deve ir vazio. Ao salvar e obter a resposta de sucesso pegar o ID do documento e chamar api de attachment seguindo o exemplo abaixo.

Upload do Arquivo

Enviar para API: http://api.vtex.com/{{accountName}}/dataentities/{{acronym}}/documents/{{id}}/{{field}}/attachments substituindo pelos seus dados.

{{id}} é o id do documento que criamos no passo anterior

{{field}} é o nome do campo que irá receber o arquivo no master data.

Agora vamos ao JS

/* Iniciando o FormData para construir os valores e dados */ var data = new FormData(document.getElementById(idForm)); /* Acrescentando um novo valor em uma chave existente dentro de um objeto FormData, ou adiciona a chave se ela ainda não existir. value é padrão da vtex */ data.append('value', $('input#fieldId)[0].files[0]); /* Agora o ajax para fazer o upload. */ $.ajax({ url: '//api.vtex.com/{{accountName}}/dataentities/{{acronym}}/documents/{{id}}/{{field}}/attachments', type: 'POST', data: data, cache: false, contentType: false, processData: false, beforeSend: function () { }, success: function (data, textStatus, request) { }, error: function (data, textStatus, request) { } });

Bem, é isso qualquer duvida só falar. Foi a forma que achei para fazer isso aqui.

Abraço

1 Like

Ótima contribuição, @Matheus Fols​ ! Obrigado

@Eduardo Gomes​ vlw!!!

Muchas gracias por el aporte!

Boa noite.... não precisei subir para o master data. Usei a opção de file manager da própria plataforma, na opção imagens, quando navegar até a pasta desejada, selecione a opção mostrar todos os arquivos, depois selecione o .pdf e faça o upload normalmente.

Pra mim funcionou! Abs

@Eduardo Agência N1​ bom dia!

Na verdade para o que eu precisava fazer, e acredito que outros também. É você montar um formulário dentro do site, que lhe permita enviar um arquivo, exemplo: Formulário de Trabalhe Conosco e Imagens para personalização.

Da forma como falou é para a parte interna do site, onde só os com acesso ao admin tem acesso.

1 Like

Olá @matheus4, qual é a API que vc citou em “Para quem já salvou dados no master data, segue os mesmos passos e mesma API”

Boa tarde, pessoal. Tudo bem?

Me chamo João Stoky e estamos em um projeto para responder threads de forma atualizada.

Nesse caso, para a versão de master data v1 há a API de post attachment, mas não há uma api para esse recurso na versão v2 do masterdata
API attachment V1: Save attachment

Qualquer dúvida, fico à disposição.

Como fariamos para realizar upload de file na v2 então ?