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, annotation data is sent to a predefined endpoint when you could check or update the data. 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.
Connector validating callbacks are synchronous and give opportunity to modify data over microservice extension interactively or report errors that affect the document flow. They are limited to events related to the data contents ("annotation tree").
Webhooks can be set up for sending notifications about specific events from the Rossum app to the specified webhook. The most common use case is when you would like to be notified when the status of some document changes within the Rossum system.
Unlike connector callbacks, webhooks are asynchronous and do not have a return value - they serve simply as notifications. Since errors are ignored, webhook recipients should not assume absolute consistency based on received notifications or ensure consistency in additional ways (e.g. periodical resynchronizations).
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 connector for validating the data.
Example of a custom button in the app.
Updated a day ago