File-based integration is a widely used approach for data integration. File transfer is often associated with legacy systems where API integrations are unavailable. However, modern software systems handle files as well, such as remittances, invoices, etc. File integration will then be used to change the documents to fit the required standard of the external system.
First off, let's explain the definitions used in RamBase when discussing file-based integrations.
IOD – Input and Output Definitions
Input and Output (IO) operations in RamBase are defined in IO definitions (IOD). An IOD is a series of steps that define how to handle input or output data.
An example of an IOD for output data might be a file that is generated by RamBase and then sent to an external system, such as a factoring file or a remittance file.
IOX – IO Extensions
Some of these IODs can be extended, meaning that you can add your own steps to them. This is done through what is known as an IO Extension (IOX)
The most common example of this is formatting a file to be compatible with systems that RamBase doesn't support out of the box. IO Extensions are created in the IOX Application. This application will give you an overview of which IODs can be extended.
An IOX can either run inside the RamBase ecosystem (hosted by RamBase) or on your own infrastructure. Please note that all third-party solutions that are hosted by RamBase are subject to mandatory code review before each release.
For IO Extensions hosted by you, RamBase will notify your solution by webhook when a new file is ready for processing and provide a location for downloading the file and uploading the processed file.
RamBase provides a set of C# templates that can be used when creating integrations. There exists one for IO Extensions hosted by us. To get started, follow the installation instructions on Rambase GitHub page.