Skip to main content

Boa tarde, galera, como você estão?

Preciso de uma ajudinha, estou tentando fazer algumas requisições com API, uma delas é enviar um arquivo, de acordo com a documentação, precisa estar nesse formato: multipart/form-data. Eu não sei como enviar o arquivo via API, como posso fazer, alguém já fez algo parecido e consiga me compartilhar como é feito? 

Basicamente o  usuário irá anexar um arquivo, e esse arquivo será enviado através da API
Exemplo Value:

{
"file": "string",
"invisibleForCaller": true,
"description": "string"
}

@Adelano P. Bernardi Boa tarde, blz?

Quando recebemos arquivos (pdf, jpeg, etc), a Blip salva esse documento em uma url que vc pode acessar através da variável {{input.content@uri}}. O que você precisará fazer é enviar essa url para a sua API, e na sua API vc deve receber essa url, baixar o arquivo e salvar no seu banco de dados.

Lembrando que é bom vc validar se o tipo enviado pelo seu cliente é um arquivo, imagem, etc para não enviar “undefined” para sua API. Você pode validar o tipo através da variavel {{input.content@type}} ou {{input.type}}.


@Adelano P. Bernardi tudo bem ?

 

Caso tenha dificuldade com a request no Blip, nos informe que possamos mostrar algumas forma de fazer.


@Adelano P. Bernardi Boa tarde, blz?

Quando recebemos arquivos (pdf, jpeg, etc), a Blip salva esse documento em uma url que vc pode acessar através da variável {{input.content@uri}}. O que você precisará fazer é enviar essa url para a sua API, e na sua API vc deve receber essa url, baixar o arquivo e salvar no seu banco de dados.

Lembrando que é bom vc validar se o tipo enviado pelo seu cliente é um arquivo, imagem, etc para não enviar “undefined” para sua API. Você pode validar o tipo através da variavel {{input.content@type}} ou {{input.type}}.

Bomm diaa, tudo blz sim e com você ??

Muito obrigado por essas informações, não tinha conhecimento sobre essas variáveis. Lhe agradeço Lucas.


@Adelano P. Bernardi tudo bem ?

 

Caso tenha dificuldade com a request no Blip, nos informe que possamos mostrar algumas forma de fazer.

Bomm dia, Rafael, tudo bem sim e com você???

Então meu querido, como eu devo montar, devo apenas colocar o link do arquivo dentro do Body? Se conseguir me ajudar a montar, lhe agradeço. 

 


@Adelano P. Bernardi tudo bem ?

 

Caso tenha dificuldade com a request no Blip, nos informe que possamos mostrar algumas forma de fazer.

Bomm dia, Rafael, tudo bem sim e com você???

Então meu querido, como eu devo montar, devo apenas colocar o link do arquivo dentro do Body? Se conseguir me ajudar a montar, lhe agradeço. 

 

@Adelano P. Bernardi tente colocar a url do arquivo conforme o Lucas informou.


@Adelano P. Bernardi tudo bem ?

 

Caso tenha dificuldade com a request no Blip, nos informe que possamos mostrar algumas forma de fazer.

Bomm dia, Rafael, tudo bem sim e com você???

Então meu querido, como eu devo montar, devo apenas colocar o link do arquivo dentro do Body? Se conseguir me ajudar a montar, lhe agradeço. 

 

@Adelano P. Bernardi tente colocar a url do arquivo conforme o Lucas informou.

Boa tarde, Rafael, ainda estou com dificuldade…

Eu declarei uma variável chamada “arquivo” com o valor{{input.content@uri}}, a mesma retorna um link, conforme salientado anteriormente. 

No cabeçalho:

no Corpo:

 

Não funcionou, teria algum exemplo para me ajudar a tratar nesse formato ?


@Adelano P. Bernardi tudo bem ?

 

Caso tenha dificuldade com a request no Blip, nos informe que possamos mostrar algumas forma de fazer.

Bomm dia, Rafael, tudo bem sim e com você???

Então meu querido, como eu devo montar, devo apenas colocar o link do arquivo dentro do Body? Se conseguir me ajudar a montar, lhe agradeço. 

 

@Adelano P. Bernardi tente colocar a url do arquivo conforme o Lucas informou.

Boa tarde, Rafael, ainda estou com dificuldade…

Eu declarei uma variável chamada “arquivo” com o valor{{input.content@uri}}, a mesma retorna um link, conforme salientado anteriormente. 

No cabeçalho:

no Corpo:

 

Não funcionou, teria algum exemplo para me ajudar a tratar nesse formato ?

@Adelano P. Bernardi  podemos mostrar a tratativa, sim só confirme que você pegou a variavel {{input.content@uri}} para colocar no local do arquivo.


@Adelano P. Bernardi tudo bem ?

 

Caso tenha dificuldade com a request no Blip, nos informe que possamos mostrar algumas forma de fazer.

Bomm dia, Rafael, tudo bem sim e com você???

Então meu querido, como eu devo montar, devo apenas colocar o link do arquivo dentro do Body? Se conseguir me ajudar a montar, lhe agradeço. 

 

@Adelano P. Bernardi tente colocar a url do arquivo conforme o Lucas informou.

Boa tarde, Rafael, ainda estou com dificuldade…

Eu declarei uma variável chamada “arquivo” com o valor{{input.content@uri}}, a mesma retorna um link, conforme salientado anteriormente. 

No cabeçalho:

no Corpo:

 

Não funcionou, teria algum exemplo para me ajudar a tratar nesse formato ?

@Adelano P. Bernardi  podemos mostrar a tratativa, sim só confirme que você pegou a variavel {{input.content@uri}} para colocar no local do arquivo.

@Rafael_Figueiredo Boa noite, sim, a variável arquivo é o mesmo valor de {input.content@uri} 

 


 

Só para você observar o retorno 


Ei, @Adelano P. BernardiTudo bem? 

Parece que os membros da comunidade não conseguiram te ajudar nessa dúvida. Mas não se preocupe, acabei de compartilhar a sua necessidade com o time de Suporte técnico via ticket para que possam analisar. Em breve entrarão em contato com você via e-mail!

Ah, quando o chamado for concluído fique à vontade para compartilhar a solução aqui nos comentários. Assim você estará ajudando caso outros membros tenham essa mesma dúvida. 😉

Abraços!

 


Olá! 😄 Abaixo compartilho com a comunidade a resolução do time de Suporte, caso outros membros tenham a mesma dúvida ou necessidade:

Para enviar um arquivo via API utilizando o formato multipart/form-data, você deve seguir alguns passos específicos. Aqui estão as instruções que podem te ajudar:
 
1. Configuração do Corpo da Requisição:

  • O corpo da requisição deve incluir o arquivo que você deseja enviar. Se você já tem a URL do arquivo (como {{input.content@uri}}), você deve garantir que está utilizando essa variável corretamente no corpo da requisição.
 
2. Exemplo de Estrutura:
  • A estrutura do corpo da requisição deve ser algo como:
    json { "file": "URL_DO_SEU_ARQUIVO", "invisibleForCaller": true, "description": "Descrição do arquivo" }
  • Aqui, substitua URL_DO_SEU_ARQUIVO pela variável que contém a URL do seu arquivo.

3. Cabeçalhos Necessários:
  • Certifique-se de que os cabeçalhos da sua requisição estejam configurados corretamente, especialmente o Content-Type, que deve ser definido como multipart/form-data.
 
4. Exemplo de Código:
  • Se você estiver utilizando JavaScript com fetch, o código pode se parecer com isto (apenas exemplo):
const formData = new FormData(); 
formData.append('file', fileInput.filesa0]); // fileInput é o elemento de entrada do arquivo 

fetch('URL_DA_API', { 
method: 'POST', 
body: formData, 
headers: { 
'Accept': 'application/json' 

}) 
.then(response => response.json()) 
.then(data => console.log(data)) 
.catch(error => console.error('Erro:', error));

5. Tratamento de Resposta:
  • Após enviar a requisição, você pode tratar a resposta para verificar se o upload foi bem-sucedido.

Hoje as bibliotecas do blip ainda não permitem as requisições de APIs dentro da ação Executar Script. As chamadas de API precisam ser feitas com o uso da ação Requisição HTTP.
Já em relação ao envio de um arquivo via API (multipart/form-data) é preciso utilizar o Header - application/x-www-form-urlencoded para que o Body possa aceitar  multipart/form-data.
 
A solução então é divida em duas partes:

  1. Criar com uso da ação de Executar script o código que será utilizado no Body da requisição e salvar o conteúdo em uma variável;
  2. Usar a requisição HTTP para enviar a requisição, informando a variável no campo Body.

 
Na página a seguir há uma exemplo completo de como realizar a chamada: Body da requisição HTTP para um content type application/x-www-form-urlencoded | Blip Community


Comente