

已重組 AWS Marketplace API 參考。如需支援的 API 操作的詳細資訊，請參閱 [AWS Marketplace API 參考](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 AWS Marketplace Discovery API
<a name="discovery-apis"></a>

 AWS Marketplace Discovery API 提供 AWS Marketplace 目錄的程式設計存取。您可以使用它來擷取產品和定價資訊、建立整合的採購體驗，以及建立自訂商店。

## 服務端點
<a name="discovery-service-endpoint"></a>

Discovery API 使用以下端點格式：

```
https://discovery-marketplace.{{region}}.api.aws
```

例如，若要呼叫美國東部 （維吉尼亞北部） 的 API：

```
https://discovery-marketplace.us-east-1.api.aws
```

## API 版本
<a name="discovery-api-version"></a>

目前的 API 版本為 `2026-02-05`。

## 資料模型
<a name="discovery-data-model"></a>

Discovery API 會將 AWS Marketplace 目錄組織到下列實體：
+ **列出** — 對買方顯示的產品或多產品解決方案。清單包含描述、重點、類別、徽章、定價模型、定價單位、評論、促銷媒體、賣方業務、履行選項類型，以及相關產品和優惠的參考。使用 `GetListing`擷取清單，或使用 `SearchListings` 跨清單搜尋。
+ **產品** — 正在銷售的基礎軟體或服務。產品包含描述、重點、類別、促銷媒體、賣方業務和履行選項，描述買方如何部署或存取產品 （例如 AMI、SaaS、Container 或 Helm)。使用 `GetProduct`擷取產品詳細資訊`ListFulfillmentOptions`，以及擷取產品的詳細履行選項。
+ **優惠** – 產品的定價安排，包括定價模式、記錄賣方、可用性日期和徽章。優惠包含商業條款，例如以用量為基礎的定價、固定預付定價、免費試用期、法律文件、付款排程和續約條款。使用 `ListPurchaseOptions` 尋找產品的所有可用優惠、`GetOffer`擷取優惠的詳細資訊，以及`GetOfferTerms`擷取優惠的特定條款。
+ **優惠集** — 多產品解決方案中每個產品的私有優惠分組集合。優惠集可讓買方一起檢閱所有優惠，並使用單一動作同時接受它們。使用 `ListPurchaseOptions` 尋找產品的所有可用優惠集、`GetOfferSet`擷取優惠集的詳細資訊、`GetOffer`擷取優惠的詳細資訊，以及`GetOfferTerms`擷取優惠的特定條款。

## 身分驗證
<a name="discovery-authentication"></a>

Discovery API 使用標準 AWS Signature 第 4 版 (SigV4) 身分驗證。您必須擁有有效的 AWS 登入資料和適當的 IAM 許可，才能呼叫 API。如需詳細資訊，請參閱[AWS Marketplace Discovery API 的存取控制](discovery-api-access-control.md)。

## 提出要求
<a name="discovery-making-requests"></a>

所有 Discovery API 操作都使用 HTTP `POST`方法搭配 JSON 請求內文。操作名稱是在 URL 路徑中指定。

## 回應格式
<a name="discovery-response-format"></a>

所有回應都會以 JSON 格式傳回。成功回應會傳回 HTTP 狀態碼 200。錯誤回應包含錯誤類型和訊息。如需詳細資訊，請參閱[常見錯誤](https://docs.aws.amazon.com//marketplace/latest/APIReference/CommonErrors.html)。

## 使用 AWS SDK
<a name="discovery-using-sdk"></a>

呼叫 Discovery API 的建議方法是透過 AWS SDK。SDK 會自動處理身分驗證、請求簽署、序列化和錯誤處理。

```
# Python (Boto3) example
import boto3

client = boto3.client('marketplace-discovery', region_name='us-east-1')

response = client.get_listing(
    listingId='listing-saas-abc123'
)

print(response['listingName'])
```

```
// JavaScript (AWS SDK v3) example
import { MarketplaceDiscoveryClient, GetListingCommand } from "@aws-sdk/client-marketplace-discovery";

const client = new MarketplaceDiscoveryClient({ region: "us-east-1" });
const response = await client.send(new GetListingCommand({
    listingId: "listing-saas-abc123"
}));

console.log(response.listingName);
```

## 分頁
<a name="discovery-pagination"></a>

傳回清單 （例如 `ListPurchaseOptions`和 `SearchFacets`) 的操作支援使用 分頁`nextToken`。如果回應包含值，請在下一個請求中傳遞該`nextToken`值，以擷取其他結果。

## 限流
<a name="discovery-throttling"></a>

Discovery API 會強制執行請求率限制，以確保服務可用性。如果您超過速率限制，API 會傳回 `ThrottlingException`(HTTP 429)。在應用程式中實作指數退避和重試邏輯。