

Die AWS Marketplace API-Referenz wurde neu strukturiert. Weitere Informationen zu den unterstützten API-Vorgängen finden Sie in der [AWS Marketplace API-Referenz](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erstellen Sie Schnittstellen mit Katalogdaten
<a name="build-interfaces-with-catalog-data"></a>

Sie können die AWS Marketplace Discovery-API verwenden, um programmgesteuert auf den Katalog zuzugreifen und Produkt- und Preisinformationen auf Ihren eigenen Plattformen anzuzeigen. In diesem Abschnitt wird beschrieben, wie Sie mithilfe der Discovery-API benutzerdefinierte Benutzeroberflächen wie Storefronts, Partnerportale und integrierte Verkaufserlebnisse erstellen, auf denen Ihre Kunden navigieren können.

## Übersicht über die Architektur
<a name="discovery-seller-architecture"></a>

Eine typische Integration folgt diesem Muster:

1. **Nutzererlebnis** — Rufen Sie uns an`SearchListings`, um auf Suchtext und Filtern basierende Angebotszusammenfassungen abzurufen und die Kategorienavigation und die Filteroptionen mit Zählungen `SearchFacets` zu füllen.

1. **Produktdetailseiten** — Rufen Sie an `GetListing` oder`GetProduct`, um sich die vollständigen Produktdetails, Medien und Rezensionen anzeigen zu lassen.

1. **Preisanzeige** — Rufen Sie `ListPurchaseOptions``GetOffer`, und `GetOfferTerms` an, um Preisoptionen anzuzeigen.

## Schaffen Sie ein Surferlebnis
<a name="discovery-seller-browse"></a>

Wird verwendet`SearchListings`, um auf Suchtext und Filtern basierende Angebotszusammenfassungen abzurufen und `SearchFacets` um eine dynamische Filternavigation zu erstellen. Zu den Facetten gehören Kategorien, Versandarten, Preismodelle, Preiseinheiten, Herausgeber und Bereitstellungsstatus. Jeder Facettenwert umfasst eine Anzahl passender Angebote, die Sie zusammen mit den Filteroptionen anzeigen können.

```
import boto3

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

# Get facet values for building filter navigation
facets = client.search_facets(
    facetTypes=['CATEGORY', 'FULFILLMENT_OPTION_TYPE', 'PRICING_MODEL']
)

for facet_type, values in facets['listingFacets'].items():
    print(f"\n{facet_type}:")
    for facet in values:
        print(f"  {facet['displayName']} ({facet['count']})")

# Search listings with filters applied from user selections
response = client.search_listings(
    searchText='machine learning',
    filters=[
        {
            'filterType': 'CATEGORY',
            'filterValues': ['Machine Learning']
        },
        {
            'filterType': 'PRICING_MODEL',
            'filterValues': ['USAGE']
        }
    ],
    sortBy='RELEVANCE',
    maxResults=25
)

for listing in response['listingSummaries']:
    print(f"{listing['listingName']} - {listing['shortDescription']}")
```

## Erstellen Sie Produktdetailseiten
<a name="discovery-seller-product-pages"></a>

Verwenden Sie `GetListing` oder, `GetProduct` um vollständige Produktdetails, Medien und Rezensionen anzuzeigen. Verwenden Sie diese Option, `GetListing` wenn Sie eine Angebotsübersicht mit Badges, Kategorien und Preisübersichten benötigen. Verwenden Sie `GetProduct` es, wenn Sie detaillierte Produktinformationen wie Beschreibungen, Highlights und Medien benötigen. Rufen Sie `ListFulfillmentOptions` an, um die Bereitstellungsoptionen für ein bestimmtes Produkt abzurufen.

```
def get_product_page_data(listing_id, product_id):
    """Retrieve data for a product detail page."""

    # Use GetListing for listing-level overview
    listing = client.get_listing(listingId=listing_id)

    # Or use GetProduct for detailed product information
    product = client.get_product(productId=product_id)

    # Get deployment options for the product
    fulfillment = client.list_fulfillment_options(productId=product_id)

    return {
        'listing': listing,
        'product': product,
        'fulfillmentOptions': fulfillment
    }
```

## Preisinformationen anzeigen
<a name="discovery-seller-pricing"></a>

Wird verwendet`ListPurchaseOptions`, um verfügbare Angebote für ein Produkt `GetOfferTerms` zu finden `GetOffer` und anschließend detaillierte Preise abzurufen. Zeigen Sie Preismodelle, Preislisten und Konditionen an, damit Ihre Kunden die Optionen besser einschätzen können.

```
def get_pricing_for_product(product_id):
    """Retrieve pricing options for display."""
    options = client.list_purchase_options(
        filters=[{
            'filterType': 'PRODUCT_ID',
            'filterValues': [product_id]
        }]
    )

    pricing = []
    for option in options.get('purchaseOptions', []):
        for entity in option['associatedEntities']:
            offer = client.get_offer(
                offerId=entity['offer']['offerId']
            )
            terms = client.get_offer_terms(
                offerId=entity['offer']['offerId']
            )
            pricing.append({
                'option': option,
                'offer': offer,
                'terms': terms
            })

    return pricing
```

## Best Practices
<a name="discovery-seller-best-practices"></a>
+ **Antworten zwischenspeichern** — Produkt- und Preisdaten ändern sich selten. Zwischenspeichern Sie API-Antworten für 15—60 Minuten, um API-Aufrufe zu reduzieren und die Ladezeiten der Seiten zu verbessern.
+ **Paginierung verarbeiten — Wird** verwendet`nextToken`, um alle Ergebnisse von paginierten Vorgängen abzurufen. Paginierungstoken laufen nach 24 Stunden ab.
+ **Implementieren Sie die Wiederholungslogik** — Verwenden Sie exponentielles Backoff für `ThrottlingException` (HTTP 429) -Antworten.
+ **Zuordnung anzeigen** [— Beachten Sie bei der Anzeige von AWS Marketplace Daten auf Ihrer Plattform die Markenrichtlinien.AWS](https://aws.amazon.com/trademark-guidelines/)
+ **API-Aufrufe minimieren** — Verwenden Sie `SearchListings` für Übersichtsdaten und rufen Sie Detail-APIs (`GetProduct`,,`GetOfferTerms`) nur auf`GetOffer`, wenn ein Benutzer zu einem bestimmten Produkt navigiert.

**Anmerkung**  
Die Discovery-API unterstützt alle Produkttypen AWS Marketplace, einschließlich SaaS, KI-Agenten und -Tools, AMI, Container und Modelle für maschinelles Lernen. Ihre Benutzeroberfläche kann die gesamte Breite des Katalogs anzeigen.