Skip to Content
Author's profile photo Shruthi M Arjun

Monetize your APIs using SAP API Management

Whether you are a large enterprise running a successful API Program or a small enterprise experimenting in the API economy, the one question that is always running in your mind is – How do I make money out of my APIs? There are many business models for monetizing your APIs, and one of them that offers you a great return on your investment is to charge your application developers for API access. In this blogpost you will see how you can do exactly this using SAP API Management. It allows you to define Rate plans for the API Products that you build. It shows you the information on the API usage (I have covered the Metering topic in this blog). The in-built Billing engine generates the Bills for you. It offers you multiple channels to access the Bills.

Creation of Rate Plans

Let’s say you have an API that gives back the Delivery status for an order. You have bundled it into an API Product and now you are looking at charging the callers of this API. (Note: Since you need to know who to charge for the API, you need to protect the API using the Verify API Key Policy). The first step to achieve this is to create a Rate Plan that defines the charging pattern. In your API Portal, you will see a ‘Monetize’ tab that allows you to define a Rate Plan with a monthly fixed charge (can be zero too) and charges per API call either universally or structured as tiers.

 

Associating Rate Plan to a Product

Now you go ahead and attach this Rate Plan to your Product.

 

 

You then Publish the API Product to your Developer Portal where your application developers can discover and subscribe if it looks interesting to them. When they start making calls to the API, the usage information is collected so that a bill could be generated at the end of the month.

Bill Generation

As an API Administrator, you can view the bill data for the application developers subscribing to your products under the ‘Monetize’ tab. The Bills are categorized based on application subscriptions and products they subscribe to.

For the previous months, the option to Download the Bills as a CSV is also available. However for the current month, only an on-the-fly approximate Bill data is visible from the UI.

 

 

As an Application Developer, you can view your own Bills categorized into applications from the Developer Portal ‘Monetize’ tab. The Download option exists for previous month Bills like in the case of API Portal.

The Bill details can also be retrieved via REST APIs. The documentation for the same can be found on SAP API Business Hub here.

 

Summary

A comprehensive user documentation for the Monetization feature can be found here. We believe this is a great value addition to the SAP API Management offering and looking forward to see this benefit your business case. Feel free to try your hands at this and reach out to me in case of questions/comments/feedback. As always, we are listening 🙂

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Ponnavolu Vijay
      Ponnavolu Vijay

      Shruthi,

      I see a use case where the centralized billing system(like SAP ECC) can use the APIs to make a call to API management system to get Rate/Metering details and invoice a specific customer.

      (Although it will be nice to see support from SAP for a such an integration to be available. 🙂 , which will be a whole different discussion).

      The issue that I am however running into is below.

      When I try to copy the metering APIs from Business HUB, I see two options for the service URLs but none of them have the service host that my account uses :

      https://prodapiportalapimgmtpr-{consumeraccountname}.us1.hana.ondemand.com/api/1.0/apimgmt

      https://apiportal{provideraccount}-{consumer-account-id}.hanatrial.ondemand.com/api/1.0/apimgmt

      what my account has is: "produs2apiportalapimgmtpphx"

       

      I know what you are thinking .. "have you tried changing the service host name once the API is created in your API portal" !?

      I tried that too and it does not work, testing it from API Mgmt console I get the below error:

      faultstring:"Unable to identify proxy for host: xxxxxxxxxxx and url: /apimanagement\/api\/1.0\/apimgmt\/metering\/apis",

      Error Code: "messaging.adaptors.http.flow.ApplicationNotFound"

      Is it possible that the service is not deployed in all locations!> i.e Europe Vs US (Chandler/Ashburn)?

      i have success with the Rate plan APIs:

      https://<consumer API-Portal host>:<port>//apiportal/api/1.0/Management.svc/RatePlans

      But no luck for the Billing and Metering APIs.

       

      Author's profile photo Shruthi M Arjun
      Shruthi M Arjun
      Blog Post Author

       

      Hi Former Member

      I understand from your post that you have a license to use API Management. In that case, if you intend to simply invoke the metering APIs to get the usage metrics, you can do so by calling the APIs at https://produs2apiportalapimgmtpphx-{consumeraccountname}.us2.hana.ondemand.com/api/1.0/apimgmt/metering/apps for example.

      We have the service available in all datacenters, the service documentation needs a correction and I have notified our documentation team about this.

      I would like to add that, in your case there is no need to copy these APIs in your API Portal.

      Hope this helps.

      Thanks

      Shruthi