How Outsystems supports reporting of transaction fee based API calls?

How Outsystems supports reporting of transaction fee based API calls?

  

Some customers have business processes where a certain external API has transaction fee based licensing model.

Example: A person identification process via API-services offered by banks is typical of such API. 

Customers need know who initiatiated such API call and counter of those calls per caller. A report per period should be easily generated. Then they could link the users to their cost organization and roll-out the API-provider invoice to relevant cost organizations.

How does Outsystems support such reporting of particular fee based API calls?

API calls can of course be monitored in service center, but generating a periodical report is currently not supported I presume. You could write your own app, that reads the tables that API calls are monitored.

An extra idea would be, that API would have a extra definition optional attribute in Service Studio:

'Billable': Yes/No

And an extra input parameter (not passed to actual API, but just for monitoring)

'CostCenterId': <text> , this value would be set by the app deriving it from Users table extension or apps' own entity, that relates user to cost center.


Solution

Hi Kimmo,

OutSystems does not support this sort of functionality out of the box. I'd say it's something that will have lots of variation on the details for each API, so a custom case-by-case implementation makes more sense:

I'd say you could implement such functionality on your connector that provides the specific-service API to your applications. Then you can create an app to monitor those API calls and generate whatever reports you need. If you have more than one such specific-services all with the same model, you may be able to define a generic data model to represent that kind of information and make your monitoring/reporting app more generic as well

Solution

Yes, I am aware that custom solution can be made. I just wanted to check from you, because we heard that your rival platform product has this functionality out-of-the-box.

I close this thread now.