Obbiettivo:
Dopo aver letto questo blog, sarai in grado di capire come il venditore può modificare l’inventario e la latenza di evasione degli ordini per i prodotti su Amazon utilizzando l’API.
Conosciamo la latenza di adempimento
La latenza di evasione è il numero di giorni in cui il venditore ha bisogno di spedire l’ordine dopo aver ricevuto l’ordine da Amazon. Può anche essere definito come il tempo massimo a disposizione del venditore per spedire il pacco. Il tempo di evasione è fissato dal venditore corrispondente a ciascun prodotto. La latenza di adempimento è anche nota come tempo di gestione. L’API di evasione degli ordini di Amazon aiuta il venditore a impostare l’inventario del prodotto e il tempo di latenza di evasione degli ordini su Amazon.
Come si modificano la latenza di adempimento e l’inventario per i prodotti che utilizzano l’API?
Facci sapere i campi che dovrai inviare nella richiesta ad Amazon:
Action
Questo campo specifica l’azione che deve essere eseguita sulla richiesta e questo aiuta a determinare quale parametro dovrebbe essere nella richiesta. Firma: ogni volta che invii la richiesta HTTP ad Amazon, devi aggiungere la firma con l’URL. Controllando la firma, Amazon può identificare il commerciante da cui è stata ricevuta la richiesta. Utilizziamo un valore hash (HmacSHA256), alcuni dati della richiesta e una chiave di accesso segreta per creare una firma.
Versioni firmate
Sono supportate 2 versioni di firma e queste versioni sono:
(1)Versione 4:
(2)Versione 2:
Entrambe le versioni possono essere utilizzate per firmare la richiesta, ma ti consigliamo di firmare la tua richiesta con Firma versione 4 in questo blog, viene utilizzata la firma versione 2.
Elimina e sostituisci
Il campo Elimina e sostituisci sostituisce l’elenco esistente di prodotti da Amazon se il suo valore è vero. Quindi devi sempre impostare il suo valore su false nella richiesta se non vuoi rimuovere il listato da AmazFreeTypeTipologia
Il tipo di feed specifica come devono essere elaborati i dati. Per modificare la latenza di evasione e l’inventario, devi specificare il tipo di feed “_POST_INVENTORY_AVAILABILITY_DATA_”.
Metodo della firma
Metodi di firma Protocolli basati su hash ed è necessario applicare questi metodi per calcolare le firme. Ad esempio HmacSHA256
Timestamp
In questo campo è necessario aggiungere l’ora in cui si effettua la richiesta. Per modificare la latenza di evasione e l’inventario del prodotto, devi inviare i seguenti dati nella richiesta ad Amazon: $url =
https://mws.amazonservices.co.uk // Here you need to write the End point /?AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX // Here write your AWS Access Key &Action=SubmitFeed // Action should be SubmitFeed &FeedType=_POST_INVENTORY_AVAILABILITY_DATA_ // Feed Type &MarketplaceIdList.Id.1= XXXXXXXXXXXXXX // Here write your marketplace list id &Merchant=XXXXXXXXXXXXXX // Here write your seller id or merchant id &Signature=1234Knowband1234example1234 // Here you need to write the signature &SignatureMethod=HmacSHA256 // Hash method which used to create signature &SignatureVersion=2 &Timestamp=gmdate("Y-m-d\TH:i:s\Z",time())) &Version=2009-01-01 &PurgeAndReplace=false // Always set purgeAndReplace Value as false // else it will replace all the existing product data
Dovrai anche creare il file XML che conterrà i dettagli dell’inventario e della latenza di evasione degli SKU per i quali desideri modificare la latenza di evasione e l’inventario. Il feed di esempio è riportato di seguito:
$xml_file = Di seguito viene fornito il percorso completo del file XML sul server $xml_data
<AmazonEnvelope xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>XXXX-XXXX-XXXX</MerchantIdentifier> </Header> <MessageType>Inventory</MessageType> <Message> <MessageID>1</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-MB</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> <Message> <MessageID>2</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-XSB</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> <Message> <MessageID>3</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-X-L</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> <Message> <MessageID>4</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-SB</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> <Message> <MessageID>5</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-LB</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> </AmazonEnvelope>
È necessario inviare i dati XML UXML della richiesta e l’intestazione insieme in una richiesta. I valori di intestazione vengono utilizzati dal server per un controllo end-to-end sui dati e per rilevare modifiche non intenzionali ai dati nell’ulteriore transizione.
$headers = array ( 'Prevedi: ', 'Accetta: ', 'Codifica di trasferimento: chunked', 'Tipo di contenuto: application/x-www-form-urlencoded; charset=utf-8', 'Contenuto-MD5: ' .base64_encode(md5_file($xml_file, true)) //codifica il file xml);
$options = array( CURLOPT_URL => $url, CURLOPT_POST => 1, CURLOPT_FOLLOWLOCATION => true, // segui i reindirizzamenti CURLOPT_RETURNTRANSFER => true, // ritorna alla pagina web CURLOPT_POSTFIELDS => $xml_data, CURLOPT_HTTPHEADER => $headers, CURLOPT_ENCODING => "UTF-8", // gestisce tutte le codifiche CURLOPT_AUTOREFERER => true, // imposta referer al reindirizzamento CURLOPT_CONNECTTIMEOUT => 120, // timeout alla connessione CURLOPT_TIMEOUT => 120, // timeout alla risposta CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_SSL_VERIFYPEER => false, // disabilita il controllo del certificato CURLOPT_FILE => "$fp" ); $ch = curl_init($url); @curl_setopt_array($ch, $opzioni); $contenuto = curl_exec($ch);
Nella risposta, otterrai il numero di SKU che sono stati elaborati correttamente (significa che la latenza di evasione e l’inventario sono stati modificati) e il numero di SKU tis non è stato elaborato a causa di un errore, come indicato nello screenshot del feed di risposta di seguito:
ï ¿½
sommario
Dopo aver letto questo documento, tu (venditore) puoi facilmente modificare la latenza di evasione e l’inventario dei prodotti su Amazon utilizzando Amazon MWS API.
Knowband offre servizi di sviluppo di eCommerce e può assisterti nella creazione di un nuovissimo sito Web di eCommerce. Per fornire ai nostri clienti il servizio post-vendita migliore ed efficiente, abbiamo un team di supporto dedicato che è costantemente a disposizione per aiutarli. Continuiamo ad adempiere ai nostri doveri nei confronti dei clienti che desiderano aiuto con problemi urgenti del sito Web anche nei fine settimana.
Sono disponibili anche i migliori moduli Magento, Opencart, Prestashop e Magento 2. SuperCheckout di una pagina, Marketplace multi-vendor, Mobile App Builder, Modulo Spin and Win, Carrello abbandonato e moduli più popolari sono solo alcuni di ciò che Knowband ha da offrire. Puoi contattarci all’indirizzo support@knowband.com in caso di domande.