We offer three interfaces that extension microservices can use. Each API has a different purpose, feel and characteristics, and you can even combine both APIs together in a single microservice.
The three most common use cases for applying a custom logic within Rossum is when you would like to perform custom checks on annotation data, matching the extracted data against a database or when saving extracted data to another system.
In the first use case, when you could check or update the data, annotation data is sent to a predefined endpoint of your microservice and according to the check, you could show an error, warning or info icon to the user in the Rossum validation screen. Such checks could include validating the format of the values against your custom format requirements.
In the second use case, you may want to compare the extracted data such as a purchase order number or a vendor name against an existing database. When the data is matched, a field in Rossum will be prefilled with an ID that you can use to pair the document with its purchase order or the vendor easily.
The third use case is when you would like to take the reviewed data and save it to some other system, e.g. your accounting system. In such a case, the extracted data is sent to another predefined endpoint where some transformation usually has to be done in order to send the data to the other system.
Pushing Webhooks to another level
As of August 2020, Webhooks will cover all functionality of Connectors with some additional improvements. Connectors can still be used but Webhooks would fully replace them in the future. Therefore, we recommend using webhooks for all new integrations.
If implementing and maintaining Webhooks is too demanding, you can extend Rossum by using Serverless Functions. In few minutes, you can write a piece of code that can:
- show users custom messages in the validation screen
- compute missing values such as tax rate
- send data to external systems
Moreover, such code is run on the Rossum's infrastructure and needs no maintenance from your side. Using the Functions is very easy to configure and deploy. However, you should still consider using Webhooks when building a larger-scale extension. If your extension requires database resources, or simply contains so much code it should be versioned and split to several files, you should still choose the Webhooks interface.
For a high-level understanding of the Serverless Functions, read our Help Center article.
For more technical details, read about Functions in our reference API documentation.
At Rossum, we are trying to make the validation screen as customizable as possible. For now, Rossum has an option where you can add a custom button to the sidebar field panel of the validation screen. Such a button can either open a pop-up window in the browser where you could reuse the extracted data from the document. Or the button can be used for triggering a custom check when using a webhook for validating the data.
Updated 4 months ago