Jak zmienić opóźnienie i inwentaryzację produktów na Amazon za pomocą interfejsu API

Cel bloga:

Po przeczytaniu tego bloga będziesz w stanie zrozumieć, w jaki sposób sprzedawca może zmienić stan zapasów i opóźnienia realizacji produktów na Amazon za pomocą interfejsu API.

Powiedzmy o opóźnieniu realizacji

Opóźnienie realizacji to liczba dni, przez które sprzedawca musi wysłać zamówienie po otrzymaniu zamówienia od Amazon. Można go również zdefiniować jako maksymalny czas dostępny sprzedawcy na wysyłkę paczki. Czas realizacji jest ustalany przez sprzedającego odpowiednio do każdego produktu. Opóźnienie realizacji jest również znane jako czas obsługi. API do wypełniania Amazon pomaga sprzedającemu ustawić czas magazynowania produktu i czas oczekiwania na Amazon.

Jak zmienić opóźnienie realizacji i zapasy dla produktów korzystających z interfejsu API

Poinformuj nas o polach, które będziesz musiał wysłać do Amazon:

Akcja

To pole określa akcję, która musi zostać wykonana na żądanie, a to pomaga określić, jaki parametr powinien być w żądaniu. Podpis: Kiedy wysyłasz żądanie HTTP do Amazon, musisz dodać podpis z adresem URL. Sprawdzając podpis, Amazon może zidentyfikować sprzedawcę, od którego otrzymano wniosek. Używamy wartości skrótu (HmacSHA256), niektórych danych żądania i tajnego klucza dostępu do tworzenia podpisu.

Wersje sygnatur

Istnieją wersje sygnatur 2, które

(1) Wersja 4:
(2) Wersja 2:

Obie wersje można wykorzystać do podpisania wniosku, ale zalecamy podpisanie wniosku za pomocą Signature Version 4, ale na tym blogu używana jest wersja podpisu 2.

Usuń i wymień
Pole oczyszczania i zastępowania zastępuje istniejący wykaz produktów z Amazon, jeśli jego wartość jest prawdziwa. Dlatego zawsze musisz ustawić wartość false w żądaniu, jeśli nie chcesz usuwać wszystkich aukcji z Amazon.

FeedType
Typ kanału określa sposób przetwarzania danych. Aby zmienić opóźnienie spełnienia i inwentaryzację, musisz określić typ kanału „_POST_INVENTORY_AVAILABILITY_DATA_”.

SignatureMethod

Metody podpisów są protokołami opartymi na hashach i musisz zastosować te metody do obliczania podpisów. Np. HmacSHA256

Sygnatura czasu

W tym polu musisz dodać czas, w którym składasz wniosek. Aby zmienić opóźnienie spełnienia i inwentaryzację produktu, musisz wysłać następujące dane w żądaniu do 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

Konieczne będzie również utworzenie pliku XML, który będzie zawierał szczegóły opóźnień w zakresie zapasów i spełnienia tych SKU, dla których chcesz zmienić opóźnienie spełnienia i zapasy. Przykładowy kanał podano poniżej: $ xml_file = Pełna ścieżka pliku XML na serwerze $ xml_data jest podana poniżej

<AmazonEnvelope xmlns:xsi="http://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>

Musisz wysłać URL żądania, dane XML i nagłówek razem w żądaniu. Wartości nagłówka są używane przez serwer do kompleksowej kontroli danych i do wykrywania niezamierzonych modyfikacji danych podczas przejścia.

$ headers = array ('Expect:', 'Accept:', 'Transfer-Encoding: chunked', 'Content-Type: application / x-www-form-urlencoded; charset = utf-8', 'Content-MD5: '. base64_encode (md5_file ($ xml_file, true)) // zakoduj plik xml);
$ options = array (CURLOPT_URL => $ url, CURLOPT_POST => 1, CURLOPT_FOLLOWLOCATION => true, // wykonaj przekierowania CURLOPT_RETURNTRANSFER => true, // zwróć stronę WWW CURLOPT_POSTFIELDS => $ xml_data, CURLOPT_HTTPHEADER => $ nagłówki, CURLOPT_HTTPHEADER => $ headers, CURLOPT_ENCODING => „UTF-8”, // obsłuż wszystkie kodowania CURLOPT_AUTOREFERER => true, // ustaw referer na przekierowaniu CURLOPT_CONNECTTIMEOUT => 120, // limit czasu po połączeniu CURLOPT_TIMEOUT => 120, // limit czasu po odpowiedzi CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_SSL_VERIFYPEOST => false, // wyłącz sprawdzanie certyfikatu CURLOPT_FILE => "$ fp"); $ ch = curl_init ($ url); @url_setopt_array ($ ch, $ options); $ content = curl_exec ($ ch);

W odpowiedzi otrzymasz numer SKU, który został pomyślnie przetworzony (oznacza to, że opóźnienie spełnienia i inwentaryzacja zostały zmienione) oraz liczba jednostek SKU, które nie zostały przetworzone z powodu błędu, jak podano na zrzucie ekranu pliku odpowiedzi poniżej:
Jak zmienić opóźnienie i inwentaryzację produktów na Amazon za pomocą interfejsu API
?
Podsumowanie

Po przeczytaniu tego dokumentu, ty (sprzedawca) możesz łatwo zmienić opóźnienie spełnienia i spis produktów na Amazon przy użyciu Amazon MWS API.


Shivam Verma

Shivam Verma

Shivam Verma is an experienced software engineer in PHP development and Database design. His area of interest is website development. He likes to be aware of his surroundings and to learn new things by observing others. He believes that by doing this we can learn new things and can also enhance our knowledge everyday. He has started writing technical blogs with a view to help others in studying and learning new things in an easy way.

Leave a Reply

Your email address will not be published. Required fields are marked *