# Best practice di programmazione

> **Traduzione italiana non ufficiale.** Originale: [Best Programming Practices](https://affiliate-program.amazon.com/creatorsapi/docs/en-us/concepts/best-programming-practices) · [sorgente EN](../../en/concepts/best-programming-practices.md) · [indice](../../README.md)

Le seguenti best practice descrivono come aumentare l'efficacia delle tue applicazioni Creators API.

### Leggi il contratto di licenza e i termini e condizioni della Creators API

Il contratto di licenza e i termini e condizioni della Creators API specificano in dettaglio le limitazioni che Amazon applica a tutte le applicazioni Creators API. Tutte le applicazioni Creators API devono indirizzare vendite ad Amazon e quindi guadagnare commissioni di affiliazione. Le applicazioni che non hanno questo scopo o che non rispettano gli altri termini e condizioni della Creators API verranno bloccate dall'accesso all'API.

### Usa il nostro SDK

Il nostro SDK ti aiuta a integrarti rapidamente con la Creators API. Toglie di mezzo tutto il lavoro pesante, inclusi la generazione dell'access token, la serializzazione delle richieste e la deserializzazione delle risposte. Offre flessibilità permettendoti di scegliere tra diversi metodi di accesso in base alle tue esigenze e preferenze. Consulta la sezione [Usare gli SDK](../get-started/using-sdk.md) per maggiori dettagli.

### Mantieni in cache gli access token fino alla scadenza

Gli access token sono validi per 1 ora (`expires_in: 3600`) e sono progettati per essere riutilizzati tra più richieste. Richiedi un nuovo token solo quando quello attuale è prossimo alla scadenza, non a ogni chiamata API. Condividi il token in cache tra tutti i processi o container che usano lo stesso Client ID.

Richiedere un nuovo token a ogni richiesta raggiungerà il [rate limit dell'endpoint token](../troubleshooting/error-codes-and-messages.md#rate-limiting-dellendpoint-token) di Cognito v2.x. Gli [SDK ufficiali](../get-started/using-sdk.md) gestiscono per te il caching e il rinnovo del token.

### Usa correttamente il tuo Partner tag nelle richieste Creators API

Devi usare il Partner tag corretto quando usi la Creators API. Informazioni errate porteranno alla perdita delle commissioni di affiliazione.

Necessario per guadagnare le commissioni pubblicitarie, il tuo Partner tag identifica in modo univoco il tuo store Associate e deve essere registrato tramite il programma Amazon Associates (vedi [Iscriversi come Amazon Associate](../onboarding/sign-up-as-an-amazon-associate.md)). Questo tag viene incluso in ogni richiesta Creators API e aggiunto automaticamente a tutti i link generati. Quando i clienti usano questi link per visitare Amazon ed effettuare acquisti qualificanti, riceverai le commissioni di affiliazione. **Importante: alterazioni di qualsiasi tipo ai link generati porteranno alla mancata attribuzione e alla perdita delle commissioni.** Amazon usa inoltre il tuo Partner tag per monitorare l'utilizzo dell'API e adeguare di conseguenza il tuo accesso.

### Comprendi le operazioni disponibili, i parametri e il loro uso

La Creators API fornisce diverse [operazioni](../api-reference/operations.md) per facilitare la scoperta dei prodotti. I parametri comuni e quelli specifici di ogni operazione ti permettono di fornire input sulla risposta attesa. Usare le operazioni e i parametri giusti può migliorare drasticamente l'esperienza di acquisto dei tuoi clienti e aumentare le tue commissioni di affiliazione.

### Usa la Resource giusta

La Creators API ti permette di chiedere informazioni specifiche, riducendo il tempo di risposta, la dimensione del payload e il tempo di elaborazione da parte tua. Una [Resource](../api-reference/resources.md) è una raccolta granulare di dati restituita dalla Creators API. Quando le viene fornito un elenco di Resource, la Creators API restituisce solo le informazioni richieste. Consigliamo di specificare solo le Resource necessarie che restituiscono le informazioni di cui la tua applicazione ha bisogno: questo ottimizza la latenza e migliora il tempo di risposta della tua applicazione.

### Usa più ASIN e BrowseNode nelle richieste

Usa più ASIN in [GetItems](../api-reference/operations/get-items.md) e più BrowseNodeId nelle richieste dell'operazione [GetBrowseNodes](../api-reference/operations/get-browse-nodes.md) per ridurre il numero di richieste effettuate alla Creators API. Questo ti aiuta ad aumentare il throughput dell'API e a usare in modo ottimale i limiti di richiesta a te assegnati.

Esempio: puoi richiedere le informazioni di fino a 10 ASIN in una singola richiesta con l'operazione GetItems, invece di effettuare 10 richieste individuali con 1 ASIN ciascuna. Consulta la [guida all'operazione GetItems](../api-reference/operations/get-items.md) e la [documentazione delle operazioni](../api-reference/operations.md) per maggiori dettagli.

### Applica controlli granulari sul rate delle richieste

Le allocazioni di richieste della Creators API vengono assegnate in transazioni al secondo (TPS). Per usare al meglio la tua allocazione, dovrai distribuire le chiamate nell'arco della giornata. Un traffico costante inviato su tutte le 24 ore massimizzerà il numero di chiamate effettuabili ogni giorno.

Questo va controllato in modo rigoroso, fino al secondo. Se il tuo sistema invia più del TPS assegnato in un dato secondo, le richieste in eccesso verranno sottoposte a throttling.

### Usa le cache con attenzione

La cache gioca un ruolo critico nel mantenere sotto controllo le chiamate alla Creators API e porta a tempi di risposta più rapidi per la tua applicazione. Le risposte della Creators API possono essere memorizzate in cache sul tuo lato secondo le linee guida definite nel [contratto di licenza](../license-agreement.md). È contro i termini e condizioni della Creators API memorizzare in cache informazioni sui clienti derivate da Amazon.

#### Come usare la cache

Puoi usare qualsiasi meccanismo di cache preferisci, purché ti consenta di memorizzare in cache campi/nodi/risorse della risposta della Creators API. L'uso della cache richiede di definire un tempo (Time To Live/TTL) per cui questi valori vengono conservati; dipende dai campi/nodi/risorse, poiché alcuni sono più volatili di altri.

Consulta la tabella seguente per configurare i tempi di cache dei campi/nodi/risorse indicati e dei loro figli.

| Campi/nodi/risorse | Tempo di cache (TTL) |
| :--- | :--- |
| Offers | 1 ora |
| BrowseNodeInfo | 1 ora |
| Tutti gli altri campi/nodi/risorse (esempio: BrowseNodes, DetailPageURL, Images, ItemInfo) | 1 giorno |

#### Come utilizzare la cache

Quando la tua applicazione riceve una richiesta, prima di effettuare una chiamata alla Creators API verifica se tutte le risorse necessarie sono presenti in cache. In caso affermativo, servi la richiesta della tua applicazione usando le informazioni in cache. In caso contrario, effettua la richiesta alla Creators API e usa la risposta per servire la richiesta della tua applicazione. Aggiungi alla cache i valori di risposta per ciascuna delle Resource richieste, con i timeout indicati sopra. Per la richiesta successiva, controlla di nuovo la cache se alcune delle risorse necessarie sono presenti. Se alcune ci sono e altre no, effettua la richiesta alla Creators API solo per le Resource mancanti nella cache. Questo migliorerà in modo significativo il tempo di risposta della tua applicazione.

### Gestione del traffico dei web crawler

I web crawler possono erodere i tuoi rate di richiesta. Puoi gestirli usando misure come `robots.txt`.
