Digibee Documentation
Request documentationBook a demo
English
  • Home
  • Developer Guide
  • Connectors & Triggers
  • Problem-Solving
  • Resources
  • Licensing
  • Release Notes
  • Resources
  • Use Cases in Action
    • Improving integration performance with API pagination
    • Automating file storage with Digibee
    • Reprocessing strategy in event-driven integrations
    • Key practices for securing sensitive information in pipelines with Digibee
    • OAuth2 for secure API access
    • Secure your APIs with JWT in Digibee
    • Integration best practices for developers on the Digibee Integration Platform
    • How to use Event-driven architecture on the Digibee Integration Platform
    • Dynamic file download with Digibee
    • Microservices: Circuit Breaker pattern for improving resilience
    • Error handling strategy in event-driven integrations
  • Best practices
    • Best practices for building a pipeline
    • Avoiding loops and maximizing pipeline efficiency
    • Best practices on validating messages in a consumer pipeline
    • Best practices for error handling in pipelines
    • JOLT and Double Braces on Digibee: Choosing the right method for data transformation
    • Notification model in event-driven integrations
    • OAuth2 integration model with Digibee
    • Using JSONPath to validate numbers with specific initial digits
    • Pagination tutorial
      • Pagination tutorial - part 1
      • Pagination tutorial - part 2
      • Pagination tutorial - part 3
      • Pagination tutorial - part 4
    • Pagination example
    • Event-driven architecture
    • Highly scalable ETL model for Digibee
    • Naming: Global, Accounts, and API Keys
    • Centralized reprocessing engine model on Digibee
Powered by GitBook
On this page
  1. Use Cases in Action

Dynamic file download with Digibee

PreviousHow to use Event-driven architecture on the Digibee Integration PlatformNextMicroservices: Circuit Breaker pattern for improving resilience

Last updated 2 months ago

Was this helpful?

CtrlK
  • Why dynamic file downloads matter
  • Scenario 1
  • Scenario 2
  • Scenario 3
  • Putting theory into practice
  • Key concepts
  • Benefits of dynamic file downloads
  • Final thoughts

Was this helpful?

Dynamic file downloads address a common challenge: the need to provide diverse file formats for various users and systems. Without this capability, users are forced to manually convert data. Imagine a user needing a report in a specific format — whether a PDF or CSV. Dynamic file downloads eliminate the inconvenience of format conversions and deliver exactly what the user needs with a single click.

With Digibee, you can easily set up a pipeline that handles multiple file formats, streamlining the process of file delivery.

This Use Case demonstrates how to set up a pipeline that delivers files in formats like PDF, CSV, or XML through a single API endpoint.

Why dynamic file downloads matter

Here are some examples that showcase how dynamic file downloads simplify operations and deliver value across various contexts.

Scenario 1

A SaaS platform enables users to download invoices, performance metrics, or usage data in their preferred formats.

Backend process:

  1. The user selects their desired file type (for example, PDF or CSV) through an interface.

  2. The backend triggers a pipeline, generating the file in the requested format.

  3. The file is downloaded to the user’s device.

Scenario 2

An application or user uploads files to be processed and stored in a repository or CRM platform.

Backend process:

  1. The user or application uploads one or more files through an HTTP File Trigger.

  2. The pipeline processes the received files, performing any necessary transformations or validations.

  3. The processed files are stored in a designated location, such as a cloud bucket or a CRM platform, ensuring they are accessible for future use.

Scenario 3

An organization automates the processing and storage of email attachments, converting them into specific formats for legal or compliance purposes.

Backend process:

  1. The pipeline is triggered by an Email Trigger that monitors a specific inbox for new messages.

  2. When an email with attachments is received, the pipeline processes the file and converts it into the required format (for example., PDF or XML).

  3. The formatted file is saved to a repository.

Putting theory into practice

  1. Define the trigger: Start by exposing the pipeline with an HTTP File Trigger. Users will interact with this endpoint, specifying the desired file type (such as PDF, CSV, or XML) as a query parameter.

The trigger can also be configured to accept files directly, allowing users to upload files as part of the request. This flexibility enables the pipeline to handle both file downloads from URLs and direct file uploads. For additional guidance on working with files in your integration flows, refer to our Automating file storage with Digibee article.

  1. Validate input parameters: Use the Validator V2 connector to check the request payload. This ensures that all required parameters are provided, preventing errors further down the pipeline. For example, you can define validation rules using a JSON Schema to specify required fields.

  2. Route the pipeline according to file format: Use the Choice connector to route the flow to the appropriate branch based on the file type specified.

  3. Download the file: Download the file from a URL using the WGet connector.

Depending on the file source, you can use different connectors to retrieve files. For instance, the S3 Storage connector allows you to fetch files stored in AWS S3 buckets and the Digibee Storage allows you to access files stored internally within the Platform.

  1. Transform the data: In this step, any necessary transformations are performed according to the business requirements. Common examples of data transformations include aggregating data, editing properties, and so on.

  2. Deliver the file: After processing, you need to expose the file and return it as part of the API response. For example, if the user requests a PDF file, the response from the pipeline might look like this:

{
    "file": {{ message.fileName }},
    "Content-Type": "application/pdf"
}

Alternatively, the file can be delivered to other applications or stored in external repositories, such as cloud storage or CRM systems.

Pipeline showcasing routes for PDF and XML file type download.

Key concepts

The WGet connector

If you need to download a file from a URL, you can use the WGet connector to make the request and fetch the file directly. You can configure it in your pipeline, and if you're working with external links, the WGet connector will fetch files for processing.

Best practice: Use Local Save

Activate the Local Save option when configuring the WGet connector to save files locally:

  • This reduces the load on pipeline memory, especially for large files.

  • For example, processing files in base64 format significantly increases memory usage, making local save a preferable alternative for file handling.

Error handling

There are several touchpoints where implementing error-handling is necessary. For example:

  • Input errors: Unsupported file formats or missing parameters.

  • Pipeline errors: Failures during file generation or processing.

  • External errors: Connectivity issues when downloading the file.

For additional guidance on error handling in your integration flows, refer to our Integration best practices article where we cover payload validation, external calls validation, as well as debugging and troubleshooting tips.

Benefits of dynamic file downloads

As you can see from the implementation above, some benefits can be listed, such as:

  • Users get files in their preferred formats without needing multiple endpoints.

  • New formats can be added by updating pipeline logic without impacting existing functionality.

  • Files are delivered quickly, accurately, and in the format users need.

  • Scalability is improved by centralizing file handling in a single pipeline.

You can achieve all these benefits seamlessly with Digibee, reducing complexity, increasing efficiency, and simplifying file-handling for your users.

Final thoughts

Dynamic file downloads simplify workflows and reduce manual intervention. With Digibee, you can build pipelines that address diverse file format requirements, improving operational efficiency and user satisfaction.

Explore more possibilities in our Documentation Portal, take courses at Digibee Academy, or visit our Blog to discover additional use cases and insights.

If you have feedback on this Use Case or suggestions for future articles, we’d love to hear from you through our feedback form.