

L'AWS Marketplace API Reference è stato ristrutturato. Per ulteriori informazioni sulle operazioni API supportate, consulta l'[AWS Marketplace API Reference](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Crea interfacce con dati di catalogo
<a name="build-interfaces-with-catalog-data"></a>

Puoi utilizzare l'API Marketplace AWS Discovery per accedere in modo programmatico al catalogo e visualizzare informazioni sui prodotti e sui prezzi sulle tue piattaforme. Questa sezione descrive come creare interfacce personalizzate come vetrine, portali per i partner ed esperienze di vendita integrate per consentire ai clienti di navigare, utilizzando l'API Discovery.

## Panoramica dell’architettura
<a name="discovery-seller-architecture"></a>

Un'integrazione tipica segue questo schema:

1. **Esperienza di navigazione**: chiama `SearchListings` per recuperare i riepiloghi delle inserzioni in base al testo di ricerca e `SearchFacets` ai filtri e per inserire i conteggi nelle opzioni di navigazione e filtro delle categorie.

1. **Pagine dei dettagli del prodotto**: chiama `GetListing` o `GetProduct` per visualizzare i dettagli completi del prodotto, i media e le recensioni.

1. **Visualizzazione dei prezzi**: chiama `ListPurchaseOptions` `GetOffer` e mostra `GetOfferTerms` le opzioni di prezzo.

## Crea un'esperienza di navigazione
<a name="discovery-seller-browse"></a>

Utilizzalo `SearchListings` per recuperare i riepiloghi delle inserzioni in base al testo di ricerca e ai filtri e `SearchFacets` per creare una navigazione dinamica tra filtri. Gli aspetti includono categorie, tipi di evasione degli ordini, modelli di prezzo, unità di prezzo, editori e stato di implementazione. Ogni valore sfaccettato include un numero di inserzioni corrispondenti, che puoi visualizzare insieme alle opzioni di filtro.

```
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']}")
```

## Crea pagine di dettaglio dei prodotti
<a name="discovery-seller-product-pages"></a>

Utilizza `GetListing` o `GetProduct` per visualizzare i dettagli completi del prodotto, i contenuti multimediali e le recensioni. Utilizzalo `GetListing` quando ti serve la panoramica delle offerte che include badge, categorie e riepiloghi dei prezzi. Utilizzalo `GetProduct` quando hai bisogno di informazioni dettagliate sul prodotto come descrizioni, punti salienti e contenuti multimediali. Chiama `ListFulfillmentOptions` per recuperare le opzioni di distribuzione per un prodotto specifico.

```
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
    }
```

## Visualizza le informazioni sui prezzi
<a name="discovery-seller-pricing"></a>

`ListPurchaseOptions`Utilizzalo per trovare le offerte disponibili per un prodotto `GetOffer` e quindi `GetOfferTerms` per recuperare i prezzi dettagliati. Visualizza modelli di prezzo, schede tariffarie e dettagli sui termini per aiutare i clienti a valutare le opzioni.

```
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 practice
<a name="discovery-seller-best-practices"></a>
+ **Risposte nella cache**: i dati sui prodotti e sui prezzi cambiano raramente. Memorizza nella cache le risposte API per 15-60 minuti per ridurre le chiamate API e migliorare i tempi di caricamento delle pagine.
+ **Gestisci l'impaginazione**: consente di `nextToken` recuperare tutti i risultati delle operazioni impaginate. I token di impaginazione scadono dopo 24 ore.
+ **Implementa la logica dei tentativi**: utilizza il backoff esponenziale per le risposte (HTTP 429). `ThrottlingException`
+ **Attribuzione del display**[: quando Marketplace AWS visualizzi i dati sulla tua piattaforma, segui le linee guida sui marchi.AWS](https://aws.amazon.com/trademark-guidelines/)
+ **Riduci al minimo le chiamate API**: utilizzale `SearchListings` per i dati di riepilogo e richiama le API di dettaglio (`GetProduct`,`GetOffer`,`GetOfferTerms`) solo quando un utente accede a un prodotto specifico.

**Nota**  
L'API Discovery supporta tutti i tipi di prodotti Marketplace AWS, inclusi SaaS, agenti e strumenti di intelligenza artificiale, AMI, contenitori e modelli di apprendimento automatico. L'interfaccia può visualizzare l'intera gamma del catalogo.