discover-portal-apis

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Discover Portal APIs

发现门户 API

Overview

概述

As a portal consumer (end user), you need to find the right API and understand what it does before requesting access. This workflow covers the discovery surface of an API Experience Hub (AEH) portal: listing and searching published assets, inspecting a specific asset's metadata, reading its terms of use, and fetching its documentation pages and downloadable resources.
What you'll build: A short list of candidate APIs and the supporting docs you need to decide which one to request access to.
作为 portal consumer(终端用户),您需要找到合适的 API 并了解其用途,然后才能申请访问权限。本工作流涵盖 API Experience Hub (AEH) 门户的发现功能:列出和搜索已发布的资产、查看特定资产的元数据、阅读使用条款,以及获取文档页面和可下载资源。
您将构建: 一份候选 API 的简短列表,以及做出访问申请决定所需的支持文档。

Prerequisites

前置条件

Before starting, ensure:
  1. Authentication ready
    • Valid portal-consumer Bearer token
    • Membership in the portal (see
      manage-portal-members-and-prospects
      for the admin flow that grants this)
  2. Portal context known
    • targetOrganizationId
      — the Anypoint organization hosting the portal
    • portalId
      /
      targetPortalId
      — the specific portal you are browsing
开始前,请确保:
  1. 身份验证已就绪
    • 有效的 portal-consumer Bearer token
    • 具有门户成员身份(有关授予此权限的管理员流程,请参阅
      manage-portal-members-and-prospects
      )
  2. 已知门户上下文
    • targetOrganizationId
      — 承载该门户的 Anypoint organization
    • portalId
      /
      targetPortalId
      — 正在浏览的特定门户

Step 1: List Published Assets in the Portal

第 1 步:列出门户中已发布的资产

Start with a broad browse of everything the portal publishes.
What you'll need:
  • targetOrganizationId
    ,
    targetPortalId
yaml
api: urn:api:api-experience-hub-consumer
operationId: listAssetsCommunityAsset
inputs:
  targetOrganizationId:
    userProvided: true
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    userProvided: true
    description: Portal ID the user is browsing
outputs:
  - name: assets
    path: $.assets[*]
    labels: $.assets[*].name
    description: Assets published in the portal
  - name: groupId
    path: $.assets[*].groupId
    description: Exchange groupId of an asset, used by detail-level operations
  - name: assetId
    path: $.assets[*].assetId
    description: Exchange assetId of an asset
  - name: minorVersion
    path: $.assets[*].minorVersion
    description: Minor version visible to the consumer
先广泛浏览门户发布的所有内容。
需要准备:
  • targetOrganizationId
    、
    targetPortalId
yaml
api: urn:api:api-experience-hub-consumer
operationId: listAssetsCommunityAsset
inputs:
  targetOrganizationId:
    userProvided: true
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    userProvided: true
    description: Portal ID the user is browsing
outputs:
  - name: assets
    path: $.assets[*]
    labels: $.assets[*].name
    description: Assets published in the portal
  - name: groupId
    path: $.assets[*].groupId
    description: Exchange groupId of an asset, used by detail-level operations
  - name: assetId
    path: $.assets[*].assetId
    description: Exchange assetId of an asset
  - name: minorVersion
    path: $.assets[*].minorVersion
    description: Minor version visible to the consumer

Step 2: Search for Specific Assets

第 2 步:搜索特定资产

Narrow the list with a keyword, tag, category or asset-type filter.
What you'll need:
  • targetOrganizationId
    ,
    targetPortalId
  • Search criteria
yaml
api: urn:api:api-experience-hub-consumer
operationId: searchCommunityAssets
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  searchRequest:
    userProvided: true
    description: Search criteria (free-text query, categories, tags, paging)
    example:
      searchTerm: orders
      tags:
        - v2
      limit: 25
      offset: 0
outputs:
  - name: matchingAssets
    path: $.assets[*]
    labels: $.assets[*].name
    description: Assets matching the search query
使用关键词、标签、类别或资产类型筛选条件缩小列表范围。
需要准备:
  • targetOrganizationId
    、
    targetPortalId
  • 搜索条件
yaml
api: urn:api:api-experience-hub-consumer
operationId: searchCommunityAssets
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  searchRequest:
    userProvided: true
    description: Search criteria (free-text query, categories, tags, paging)
    example:
      searchTerm: orders
      tags:
        - v2
      limit: 25
      offset: 0
outputs:
  - name: matchingAssets
    path: $.assets[*]
    labels: $.assets[*].name
    description: Assets matching the search query

Step 3: Open an Asset's Detail Page

第 3 步:打开资产详情页

Retrieve the full metadata of one asset — summary, description, contact info, classifier, all visible minor versions.
What you'll need:
  • targetOrganizationId
    ,
    targetPortalId
  • groupId
    ,
    assetId
    ,
    minorVersion
    chosen from Step 1 or Step 2
yaml
api: urn:api:api-experience-hub-consumer
operationId: getAssetDetails
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  groupId:
    from:
      variable: groupId
    description: Exchange groupId of the asset
  assetId:
    from:
      variable: assetId
    description: Exchange assetId of the asset
  minorVersion:
    from:
      variable: minorVersion
    description: Minor version to open
outputs:
  - name: assetDetails
    path: $
    description: Full asset metadata, including instances and tiers available to request
获取单个资产的完整元数据——摘要、描述、联系人信息、classifier,以及所有可见的 minor version。
需要准备:
  • targetOrganizationId
    、
    targetPortalId
  • 从第 1 步或第 2 步中选择的
    groupId
    、
    assetId
    、
    minorVersion
yaml
api: urn:api:api-experience-hub-consumer
operationId: getAssetDetails
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  groupId:
    from:
      variable: groupId
    description: Exchange groupId of the asset
  assetId:
    from:
      variable: assetId
    description: Exchange assetId of the asset
  minorVersion:
    from:
      variable: minorVersion
    description: Minor version to open
outputs:
  - name: assetDetails
    path: $
    description: Full asset metadata, including instances and tiers available to request

Step 4: Read Terms and Conditions

第 4 步:阅读使用条款

Before requesting access, consumers should read the terms published for the asset.
What you'll need:
  • targetOrganizationId
    ,
    targetPortalId
    ,
    groupId
    ,
    assetId
    ,
    minorVersion
yaml
api: urn:api:api-experience-hub-consumer
operationId: getTermsAndConditions
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  groupId:
    from:
      variable: groupId
    description: Exchange groupId of the asset
  assetId:
    from:
      variable: assetId
    description: Exchange assetId of the asset
  minorVersion:
    from:
      variable: minorVersion
    description: Minor version whose terms to fetch
outputs:
  - name: termsContent
    path: $.content
    description: Markdown/HTML content of the terms and conditions
在申请访问权限之前,consumer 应阅读为该资产发布的条款。
需要准备:
  • targetOrganizationId
    、
    targetPortalId
    、
    groupId
    、
    assetId
    、
    minorVersion
yaml
api: urn:api:api-experience-hub-consumer
operationId: getTermsAndConditions
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  groupId:
    from:
      variable: groupId
    description: Exchange groupId of the asset
  assetId:
    from:
      variable: assetId
    description: Exchange assetId of the asset
  minorVersion:
    from:
      variable: minorVersion
    description: Minor version whose terms to fetch
outputs:
  - name: termsContent
    path: $.content
    description: Markdown/HTML content of the terms and conditions

Step 5: Fetch Documentation Pages

第 5 步:获取文档页面

Each asset can publish multiple documentation pages (home, guides, changelog, etc.).
What you'll need:
  • targetOrganizationId
    ,
    targetPortalId
    ,
    groupId
    ,
    assetId
    ,
    minorVersion
  • Optional page path (the API uses a wildcard — pass the specific page path to fetch a single page)
yaml
api: urn:api:api-experience-hub-consumer
operationId: getAssetPages
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  groupId:
    from:
      variable: groupId
    description: Exchange groupId of the asset
  assetId:
    from:
      variable: assetId
    description: Exchange assetId of the asset
  minorVersion:
    from:
      variable: minorVersion
    description: Minor version to fetch pages for
  pagePath:
    userProvided: true
    description: Optional documentation page path (leave empty to list all pages)
outputs:
  - name: pageContent
    path: $
    description: The requested documentation page (or list of pages)
每个资产可以发布多个文档页面(主页、指南、变更日志等)。
需要准备:
  • targetOrganizationId
    、
    targetPortalId
    、
    groupId
    、
    assetId
    、
    minorVersion
  • 可选的页面路径(API 使用通配符——传入具体页面路径以获取单个页面)
yaml
api: urn:api:api-experience-hub-consumer
operationId: getAssetPages
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  groupId:
    from:
      variable: groupId
    description: Exchange groupId of the asset
  assetId:
    from:
      variable: assetId
    description: Exchange assetId of the asset
  minorVersion:
    from:
      variable: minorVersion
    description: Minor version to fetch pages for
  pagePath:
    userProvided: true
    description: Optional documentation page path (leave empty to list all pages)
outputs:
  - name: pageContent
    path: $
    description: The requested documentation page (or list of pages)

Step 6: Fetch Asset Resources (Optional)

第 6 步:获取资产资源(可选)

Download companion resources (diagrams, sample files, SDK bundles) attached to an asset.
What you'll need:
  • targetOrganizationId
    ,
    targetPortalId
    ,
    groupId
    ,
    assetId
    ,
    minorVersion
  • resourceId
    obtained from the asset-details response in Step 3
yaml
api: urn:api:api-experience-hub-consumer
operationId: getAssetResource
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  groupId:
    from:
      variable: groupId
    description: Exchange groupId of the asset
  assetId:
    from:
      variable: assetId
    description: Exchange assetId of the asset
  minorVersion:
    from:
      variable: minorVersion
    description: Minor version to fetch the resource from
  resourceId:
    userProvided: true
    description: Resource ID obtained from the asset detail response
outputs:
  - name: resourceContent
    path: $
    description: The binary/text resource content
下载附加到资产的配套资源(图表、示例文件、SDK 包)。
需要准备:
  • targetOrganizationId
    、
    targetPortalId
    、
    groupId
    、
    assetId
    、
    minorVersion
  • 从第 3 步的资产详情响应中获取的
    resourceId
yaml
api: urn:api:api-experience-hub-consumer
operationId: getAssetResource
inputs:
  targetOrganizationId:
    from:
      variable: targetOrganizationId
    description: Anypoint organization ID hosting the portal
  targetPortalId:
    from:
      variable: targetPortalId
    description: Portal ID the user is browsing
  groupId:
    from:
      variable: groupId
    description: Exchange groupId of the asset
  assetId:
    from:
      variable: assetId
    description: Exchange assetId of the asset
  minorVersion:
    from:
      variable: minorVersion
    description: Minor version to fetch the resource from
  resourceId:
    userProvided: true
    description: Resource ID obtained from the asset detail response
outputs:
  - name: resourceContent
    path: $
    description: The binary/text resource content

Completion Checklist

完成检查清单

  • Portal catalog browsed or searched
  • Candidate asset identified
  • Full asset details reviewed
  • Terms and conditions read
  • Documentation pages consulted
  • Companion resources downloaded (if applicable)
  • 已浏览或搜索门户目录
  • 已确定候选资产
  • 已查看完整资产详情
  • 已阅读使用条款
  • 已查阅文档页面
  • 已下载配套资源(如适用)

What You've Built

构建成果

✅ Informed API Choice — You have the metadata, terms and docs you need to decide which API to request access to.
✅ 有依据的 API 选择 — 您已获得决定申请访问哪个 API 所需的元数据、条款和文档。

Next Steps

后续步骤

  1. Request access — See
    request-api-access
    to create a contract against the chosen instance and tier.
  2. Manage your applications — See
    manage-portal-applications
    to create the application identity that will consume the API.
  1. 申请访问权限 — 请参阅
    request-api-access
    ,为选定的 instance 和 tier 创建 contract。
  2. 管理您的应用程序 — 请参阅
    manage-portal-applications
    ,创建将消费该 API 的应用程序身份。

Related Jobs

相关作业

  • request-api-access — Create a contract between your app and the discovered API
  • manage-portal-applications — Manage the applications that hold API credentials
  • request-api-access — 在您的应用程序与发现的 API 之间创建 contract
  • manage-portal-applications — 管理用于保存 API 凭据的应用程序