Connessione all'API per i partner di vendita
Come connettersi all'SP-API.
Prima che la tua applicazione possa connettersi all'API del partner di vendita, devi registrarla e deve essere autorizzata da un partner di vendita. Fai riferimento a Registrazione della candidatura e Autorizzazione delle applicazioni Selling Partner API.
Queste istruzioni mostrano i passaggi per effettuare una chiamata all'API Selling Partner. Per assistenza nella creazione di un URI dell'API Selling Partner e nell'aggiunta di intestazioni, consulta Generazione di una libreria client Java. Per una soluzione più completa che include il codice per lo scambio di token LWA, consulta Generazione di un SDK Java con scambio di token LWA.
Passaggio 1. Richiedi un accesso con il token Accedi con Amazon
Un token di accesso Accedi con Amazon (LWA) autorizza la tua applicazione a intraprendere determinate azioni per conto di un partner di vendita. Un token di accesso LWA scade un'ora dopo l'emissione.
Note about restricted operations. An LWA access token must be included in calls to all operations except restricted operations, which return Personally Identifiable Information (PII). When calling restricted operations, instead of including an LWA access token, you include a Restricted Data Token (RDT). For information about getting RDTs and calling restricted operations, refer to the Tokens API Use Case Guide.
Per richiedere un token di accesso LWA, crea un HTTP POST sicuro sul server di autenticazione LWA (https://api.amazon.com/auth/o2/token
) con i seguenti parametri:
Nome | Descrizione | Obbligatorio |
---|---|---|
grant_type | Il tipo di concessione di accesso richiesta. Valori:
| Sì |
refresh_token | Il token di aggiornamento LWA. Ottieni questo valore quando il partner di vendita autorizza la tua domanda. Per ulteriori informazioni, consulta Autorizzazione delle applicazioni Selling Partner API. | No. Includi refresh_token per le operazioni di chiamata che richiedono l'autorizzazione di un partner di vendita. Se includi refresh_token, non includere l'ambito. |
scope | L'ambito della concessione dell'autorizzazione LWA. Valori:
| No. Includi l'ambito per chiamare un operazione senza concessione. Se includi l'ambito, non includere refresh_token. |
client_id | Ottieni questo valore quando registri la tua applicazione. Fare riferimento a Visualizzazione delle informazioni relative agli sviluppatori. | Sì |
client_secret | Ottieni questo valore quando registri la tua applicazione. Fare riferimento a Visualizzazione delle informazioni relative agli sviluppatori. | Sì |
Esempio di chiamata a un'operazione che richiede l'autorizzazione del partner di vendita:
POST /auth/o2/token HTTP/l.l
Host: api.amazon.com
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
grant_type=refresh_token
&refresh_token=Aztr|...
&client_id=foodev
&client_secret=Y76SDl2F
Esempio di chiamata a un'operazione senza concessione:
POST /auth/o2/token HTTP/l.l
Host: api.amazon.com
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
grant_type=client_credentials
&scope=sellingpartnerapi::notifications
&client_id=foodev
&client_secret=Y76SDl2F
Suggerimento: per evitare di ricevere un errore di autorità di certificazione (CA) non attendibile quando si chiama il server di autorizzazione LWA, assicurati di aggiornare il tuo trust store in modo che l'applicazione consideri attendibile il server di autorizzazione LWA.
Risposta
Una risposta positiva include i seguenti valori.
Nome | Descrizione |
---|---|
access_token | Il token di accesso LWA. Dimensione massima: 2048 byte. |
token_type | Il tipo di token restituito. Deve essere portatore. |
expires_in | Il numero di secondi prima che il token di accesso LWA diventi non valido. |
refresh_token | Il token di aggiornamento LWA che hai inviato nella richiesta. Dimensione massima: 2048 byte. |
HTTP/l.l 200 OK
Content-Type: application/json;charset UTF-8
Cache-Control: no-store
Pragma:no-cache
{
"access_token":"Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE",
"token_type":"bearer",
"expires_in":3600,
"refresh_token":"Atzr|IQEBLzAtAhRPpMJxdwVz2Nn6f2y-tpJX2DeXEXAMPLE"
}
Per ulteriori informazioni, visita la pagina Concessione del codice di autorizzazione nella documentazione Login con Amazon.
Passaggio 2. Costruisci un URI API per i partner di vendita
Ecco i componenti di un URI dell'API per i partner di vendita.
Nome | Descrizione | Esempio |
---|---|---|
Metodo HTTP | Il metodo HTTP. | GET |
Endpoint | Un Endpoint API per i partner di vendita. | https://sellingpartnerapi-na.amazon.com |
Path | La sezione/versione dell'API per i partner di vendita. Numero della sezione/risorsa. | /fba/inbound/v0/shipments/{shipmentId}/preorder/confirm |
Stringa di interrogazione | I parametri della query. | ?marketplace=ATVPDKIKX0DER |
Parametro del percorso | I parametri del percorso. | shipmentId1 |
Ad esempio:
PUT https://sellingpartnerapi-na.amazon.com/fba/inbound/v0/shipments/shipmentId1/preorder/confirm?MarketplaceId=ATVPDKIKX0DER&NeedByDate=2020-10-10
Passaggio 3. Aggiungi intestazioni all'URI
Aggiungi intestazioni all'URI in cui hai creato Passaggio 2. Costruisci un URI API per i partner di vendita. Ecco le intestazioni HTTP che includi nelle richieste all'API per i partner di vendita:
Intestazioni delle richieste
Nome | Descrizione |
---|---|
host | L'endpoint del mercato. Fare riferimento a Endpoint API per i partner di vendita. |
x-amz-access-token | Il token di accesso LWA. Fare riferimento a Fase 1. Richiedi un accesso con il token di accesso Amazon. Nota sulle operazioni limitate. Se stai chiamando un'operazione con restrizioni, inserisci qui un Restricted Data Token (RDT) invece di un token di accesso LWA. Per informazioni su come ottenere RDT e chiamare operazioni con restrizioni, consulta Guida ai casi d'uso dell'API Tokens nella Guida ai casi d'uso dell'API Tokens. |
x-amz-date | La data e l'ora della tua richiesta. |
user-agent | Il nome e il numero di versione dell'applicazione, la piattaforma e il linguaggio di programmazione. Questi aiutano Amazon a diagnosticare e risolvere i problemi che potresti riscontrare con il servizio. Fai riferimento a Includi un'intestazione User-Agent in tutte le richieste. |
Ecco un esempio di richiesta all'API per i partner di vendita con URI e intestazioni ma nessuna informazione sulla firma:
PUT /fba/inbound/v0/shipments/shipmentId1/preorder/confirm?MarketplaceId=ATVPDKIKX0DER&NeedByDate=2020-10-10 HTTP/1.1
host: sellingpartnerapi-na.amazon.com
user-agent: My Selling Tool/2.0 (Language=Java/1.8.0.221;
Platform=Windows/10)
x-amz-access-token=Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE
x-amz-date: 20190430T123600Z
Aggiornato 6 giorni fa