Why did we make this?
We built our Platform SDK to support developers in defining data schemas in code. It supersedes our UI-defined schema creation and returns to our roots of supporting developers first.
By allowing developers to define schemas in code, we can:
- Allow faster and more stable schema creation
- Write schemas where you’re already comfortable
- Test and maintain schema code alongside your own application code
- Provide more flexibility and customization
- Code allows complex logic definition in a way that our UI doesn’t gracefully support
- Develop and release updates faster, as we will no longer need to represent every customization in the UI
What does it do?
The Platform SDK allows developers to create and manage data schemas (including their fields and Data Hooks) in code as opposed to in the Flatfile dashboard UI. This includes:
- Defining fields both basic (”Name”, string type, required) and complex (a field created from a calculation on two other fields used as a validation)
- Grouping those fields into schemas prior to import, or defining schemas at import runtime
- Associating Data Hooks to additionally validate, manipulate and create one or many records within an incoming file
Where does it fit in?
The Platform SDK partners with the Client SDK to define the full import experience. Their responsibilities are generally broken out as:
Platform SDK - defines data transformations to be applied during an import session, like the fields, validations and transformations that are required for successful data ingest
Client SDK - defines aspects of the import session itself, from which schema to be used to who is initiating the import and what the experience should look like for them. If you have embedded Flatfile into your application, you're already using our Client SDK!
Both Platform and Client SDK are leveraged by our customer developers, and reference the underlying Flatfile product to display the importer, run transformations and egress data to your systems.
What’s coming next?
The Platform SDK will continue to be expanded to support more complex schema creation and validations. This will include better support for things like:
- Dynamically created schemas - where the data model is defined at the moment an import is started
- More complex data validations - including validations across a grouped subset of records
- A validation library - Flatfile-approved, pre-written validations for common scenarios to support faster implementation
What’s different from previous implementations of Flatfile?
- The field formerly known as “categoryField” is now called “optionField”
To learn more or get started, check out our docs here!