Upload para Storage
Use esta ação quando quiser salvar um arquivo ou resposta binária no storage da sua empresa e reutilizar o arquivo enviado posteriormente.
Melhor para
- Salvar um arquivo baixado de uma requisição HTTP
- Armazenar documentos ou mídias gerados
- Obter uma URL de arquivo para usar em mensagens ou registros posteriores
Campos principais
| Campo | O que faz |
|---|---|
| Conteúdo | Os dados do arquivo a enviar |
| Tipo de conteúdo | O tipo MIME, como image/png ou application/pdf. Detectado automaticamente a partir do nome do arquivo se omitido |
| Nome do arquivo | Um nome de arquivo opcional |
| Categoria | Organiza o arquivo como imagem, vídeo, áudio ou documento. Detectado automaticamente a partir do tipo de conteúdo se omitido |
| Público | Controla se o arquivo enviado deve ser abertamente acessível |
| Propósito | Opcional. Apenas certos valores são mantidos como propósito do arquivo; veja a nota abaixo |
Sobre Propósito: os valores mantidos são workflow_storage_upload (o padrão), action_response_media, dynadata, storage_manual_upload, whatsapp_catalog_product_image, template_message_media, chat_media_upload e scheduled_message_media. Qualquer outro valor é armazenado como workflow_storage_upload, mas continua aparecendo no log do passo. Propósitos de avatar e ícone (contact_avatar, company_logo, user_avatar, autochat_integration_avatar, autochat_widget_icon) não são respeitados, então um workflow não consegue preencher esses campos. Use dynadata para um arquivo que você vai anexar ao campo de arquivo de um registro.
O que passos posteriores podem usar
Resultados do upload estão disponíveis em:
workflow.step(N).fileworkflow.step(N).signedUrlworkflow.step(N).contentTypeworkflow.step(N).size
Dicas
- Combine com Requisição HTTP quando quiser baixar um arquivo primeiro.
- Ative Retornar como buffer no passo HTTP quando estiver trabalhando com arquivos binários.
- Use a URL assinada em passos posteriores de mensagem ou atualização de registro quando precisar de acesso imediato ao arquivo enviado. A URL assinada é temporária e expira após cerca de 15 minutos — armazene
workflow.step(N).filequando um passo posterior precisar de uma referência de longo prazo. - O tipo de conteúdo é normalizado quando o arquivo é armazenado, e a saída
contentTypedo passo mostra o valor armazenado. Tipos renderizáveis ou inseguros (HTML, SVG, XML e tipos+xml, multipart, listas separadas por vírgula, valores malformados) são armazenados comoapplication/octet-stream. Documentos são armazenados sem parâmetros e precisam ser um tipo de documento suportado (PDF, texto simples, CSV, JSON, ZIP, Word, Excel, PowerPoint ou RTF); caso contrário,application/octet-stream. Imagens são armazenadas sem parâmetros. Áudio e vídeo mantêm apenas o parâmetrocodecs, entãoaudio/ogg; codecs=opuscontinua servindo para mensagens de voz. PassarcontentType=maps.get(workflow.step(0),'headers.content-type')continua funcionando; o valor apenas é normalizado.