Base64 a Archivo
Descripción
Sección titulada «Descripción»Base64 a Archivo toma un string codificado en base64 del payload de datos actual y lo materializa como un archivo real en el servidor de Floogos. El nodo devuelve una URL de descarga y una ruta local que los nodos posteriores pueden usar — por ejemplo, para adjuntar el archivo a un correo, subirlo a almacenamiento en la nube o disparar una transferencia de archivos.
Se usa típicamente cuando una API externa (sistema de facturación, ERP, servicio de firma) devuelve un documento codificado en base64 en lugar de una URL de descarga directa.
Configuración
Sección titulada «Configuración»| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| base64_key | text | No | Nombre del campo de entrada que contiene el base64. Soporta notación punto (ej: document.pdf_base64). Default: pdf_base64 |
| filename | text | No | Nombre del archivo sin extension. Soporta variables dinámicas: {{order_number}}, {{invoice_id}}, etc. Default: archivo |
| extension | select | No | Extension del archivo: .pdf, .png, .jpg, .xlsx, .zip, .xml, .json, .txt, .csv, .html. Default: .pdf |
| content_type | text | No | Override del Content-Type HTTP. Si vacío, se detecta automáticamente por la extension |
| base_url | text | No | URL publica del engine para construir el enlace de descarga. Si vacío, usa la variable de entorno ENGINE_HOST. Necesario en instalaciones on-premise |
Si el campo
filenameya incluye una extension (ej:factura.pdf), el campoextensionpor separado se ignora.
{ "filename": "factura_ORD-4821.pdf", "filePath": "/temporal/cli_7/factura_ORD-4821.pdf", "urlPath": "https://us1.floogos.com/download/cli_7/factura_ORD-4821.pdf", "contentType": "application/pdf", "size": 48291}| Campo | Descripción |
|---|---|
| filename | Nombre final del archivo con extension |
| filePath | Ruta absoluta local en el servidor |
| urlPath | URL publica de descarga |
| contentType | Tipo MIME del archivo generado |
| size | Tamano del archivo en bytes |
Ejemplos de uso
Sección titulada «Ejemplos de uso»Ejemplo 1 — PDF de factura desde Fiskaly / HubFiscal
Sección titulada «Ejemplo 1 — PDF de factura desde Fiskaly / HubFiscal»Tras llamar a una API de facturación que devuelve un PDF firmado en base64, decodificarlo y enviarlo por correo como adjunto.
Webhook (recibe pedido) → HTTP Request (POST a Fiskaly — devuelve { "pdf_base64": "JVBERi..." }) → Base64 a Archivo base64_key: "pdf_base64" filename: "factura_{{@Webhook.order_number}}" extension: ".pdf" → SendMail para: "{{@Webhook.customer_email}}" asunto: "Tu factura {{@Webhook.order_number}}" adjuntos: "{{@Base64toFile.urlPath}}" → EndEjemplo 2 — Campo base64 anidado
Sección titulada «Ejemplo 2 — Campo base64 anidado»Algunas APIs devuelven el base64 dentro de un objeto anidado. Usa notación punto para acceder.
{ "base64_key": "document.content.data", "filename": "informe_{{@HTTP.data.report_id}}", "extension": ".xlsx"}Estructura de entrada:
{ "document": { "content": { "data": "UEsDBBQAAAAI..." } }}Ejemplo 3 — Subir a Google Drive tras decodificar
Sección titulada «Ejemplo 3 — Subir a Google Drive tras decodificar»Decodifica un documento XML en base64 y subelo a Google Drive.
Base64 a Archivo base64_key: "xml_base64" filename: "exportacion_{{@Webhook.fecha}}" extension: ".xml" → Google Drive (subir archivo) filePath: "{{@Base64toFile.filePath}}" carpeta: "Exportaciones/{{@Webhook.anyo}}" → EndEjemplo 4 — Instalación on-premise
Sección titulada «Ejemplo 4 — Instalación on-premise»En instalaciones on-premise, la URL publica del engine debe especificarse manualmente ya que ENGINE_HOST puede apuntar a una dirección interna.
{ "base64_key": "pdf_base64", "filename": "documento_{{@Webhook.id}}", "extension": ".pdf", "base_url": "https://floogos.miempresa.com/api"}Ejemplo 5 — Flujo completo: Billpt → Email con factura adjunta
Sección titulada «Ejemplo 5 — Flujo completo: Billpt → Email con factura adjunta»Webhook (nuevo pedido de Shopify) → Billpt Create Document (genera factura, devuelve pdf_base64) → Base64 a Archivo base64_key: "pdf_base64" filename: "factura_{{@BillptCreateDocument.document_number}}" extension: ".pdf" → SendMail para: "{{@Webhook.customer_email}}" asunto: "Factura {{@BillptCreateDocument.document_number}}" cuerpo: "Adjuntamos tu factura. Gracias por tu compra." adjuntos: ["{{@Base64toFile.urlPath}}"] → End- Los archivos se crean en un directorio temporal con scope de cliente (
/temporal/cli_<id>/). No se almacenan de forma permanente — usa nodos de Google Drive, AWS S3 o FTP para persistirlos. - La URL de descarga es valida mientras el archivo temporal exista en el servidor (normalmente se limpia tras la ejecución del workflow o mediante una limpieza programada).
- Si el campo
base64_keyno se encuentra en los datos de entrada, el nodo lanza un error. Usa el nombre exacto del campo devuelto por el nodo anterior. - El string base64 puede incluir o no el prefijo data URI (
data:application/pdf;base64,...) — ambos formatos se gestionan automáticamente.
Nodos relacionados
Sección titulada «Nodos relacionados»- File Transfer — subida FTP/SFTP del archivo generado
- AWS S3 — subir a Amazon S3
- Google Drive — subir a Google Drive
- SendMail — adjuntar el archivo a un correo
- File Rename — renombrar antes de continuar el procesado