How to build an API developer portal
The trend toward digital ecosystems has been magnified following the pandemic. Companies are finding new ways to gain market share by selling digital products that merge internal capabilities with services provided by third parties. By exposing existing capabilities to outside developers, organizations can provide much more with a single offering as external developers innovate on what’s already been created.
Developers within an organization can easily discover and share assets such as APIs, templates, and connectors with Anypoint Exchange — but it can be used as an external tool as well. Organizations can create public API portals with Exchange to enable external developers to discover APIs, access documentation, and more. However, portals built in Exchange are limited in how much they can be customized.
As an alternative, customers can use Anypoint API Community Manager to create developer portals since it offers the ability to create highly customized sites that can include blogs, discussion forums, and more. This article describes how to use API Community Manager to create public API developer portals with personalized content, designed to engage a broader pool of developers.
API Community Manager architecture
API Community Manager is the enhanced API developer portal of MuleSoft and is used to create compelling and comprehensive digital ecosystems. It is based on a well-known CMS (Salesforce Experience Cloud), which makes it easy to create custom portals.
API Community Manager is deployed in Salesforce Experience Cloud as a package that can be managed in Lightning Experience App Manager. API Community Manager does not store information of APIs or subscribed applications. Instead, it uses a data bridge to communicate with Anypoint Platform. Within Anypoint Platform, there is a connected app that allows API Community Manager to access data such as API specs, client applications, subscriptions, etc.
API Community Manager works with a variety of identity providers, including Salesforce, Okta, or SAP CDC, and can easily implement single sign-on for user authentication. It also includes a guided setup that simplifies installation.
Creating communities in API Community Manager
Once API Community Manager is installed in Salesforce Experience Cloud, it is possible to create communities. A community is a separate API portal, with a set of custom pages, users, permissions, forums, and its own look and feel.
With an API Community Manager license, you can create up to 100 communities. Here are some ideas on how this can look:
- A separate community for internal developers that contains all the APIs created in the organization.
- Another one for external developers that contains only a subset of the APIs.
- A community for a concrete set of APIs targeted to a separate group of consumers with special documentation for those consumers and a different login process.
- Another portal to host a specific hackathon that is going to be celebrated shortly, with only a few public APIs.
Customers with a global presence in multiple countries or with separate LOBs can use different communities to engage distinct audiences and targets of developers — each of them with its own branding.
The licensing is based on the concept of member logins per Month: every time a community member logins, it will count as a developer login. Logging in multiple times during the same day only consumes one login. Forecasting the adequate number of daily unique logins is critical to ensure that customers will have enough licenses to satisfy the demand their communities will generate.
Each community may typically have the following elements:
- Home page
- List of APIs
- Documentation
- Sets of pages created with the CMS features of Salesforce Experience Cloud (news, additional documentation, tutorial, videos)
- Discussion forums
- Login/register page
- Private area with the list of applications and subscriptions
API Community Manager provides a set of custom lightning components that can display the list of APIs to present the specs, search for APIs, generate the list of applications, and more to create custom pages from Anypoint Platform.
These customs components allow the portal to be personalized. Customers can create specific pages that mix informative content (text, images) with information about the available APIs.
Some of the components such as API Catalog and API Carrousel can be customized with categories filters. A category is an attribute assigned to an API in Anypoint Exchange. Some customers use categories such as “experience API,” “process API,” or “system API” to create in ACM separate pages for APIs depending on that category — making it easy to see the APIs at each of the three layers of the API-led connectivity architecture. Others set up categories that capture the business group at which that API belongs to.
Experience Cloud also includes audience targeting and page variation features to create API portals that are specialized with content or navigation menus to target a particular set of developers.
Requesting access to APIs
API Community Manager provides a component — API Access Requester — that can enable community members to request access to a new or existing API for applications.
However, some customers need a custom access request workflow. The reasons for this vary:
- In some cases, the customer’s LOBs need the community member to provide additional information before granting access.
- In other cases, the customer has a multi-step approval process that needs to be more elaborate than the standard one provided by Anypoint Platform.
- Sometimes, depending on the business group that the API belongs to, it is needed to capture additional details before granting access.
Flow Builder within Salesforce’s Experience Cloud can create a custom flow to capture information for the subscription approval via screen scraping to implement a custom access request workflow.
The custom flow can use a Salesforce object to register a community member’s request for access to the API, and prompt a LOB manager to approve it. After that, a second custom flow can be triggered to create the application, the subscription, and even update external systems to notify that a new subscription has been approved.
Creating developer portal dashboards
Finally, API Community Manager has dashboards for users to easily understand how the community is engaging with the portal. Dashboards include interesting panels that can check the number of external logins, new members, unique contributors, etc.
Anypoint API Community Manager is a powerful alternative to Anypoint Exchange Public Portals. API Community Manager provides features to tailor the visibility of pages, making it possible to use rules to control what information sees any group of users or filters to display only APIs that belong to a particular category.
To learn more about API Community Manager, watch the webinar Intro to API Community Manager or see the product documentation.
Thank you Harsha Hariharan for his help providing interesting examples of use cases implemented with API Community Manager.