How to get Amazon Orders using API

Obiettivo del blog

Dopo aver letto questo blog, sarai in grado di capire come il venditore può ottenere gli ordini Amazon utilizzando l'API.

Conosciamo l'API dell'ordine

L'API degli ordini Amazon aiuta i venditori a ottenere i dettagli dell'ordine e a sincronizzare gli ordini Amazon sulla loro applicazione personalizzata. Questo è molto utile per recuperare gli aggiornamenti degli ordini in tempo reale e i venditori possono anche ottenere facilmente le informazioni sullo stato dell'ordine (spedito o non spedito) per tutti gli ordini utilizzando l'API.

Come sincronizzare gli ordini Amazon sull'applicazione personalizzata

Prima di tutto, hai bisogno delle credenziali dell'API Amazon MWS (Market Place Web Service). Se ancora non hai, puoi ottenere aiuto da questo blog

Per recuperare gli ordini Amazon dalla tua parte, devi seguire i seguenti passaggi:

1. Elenco ordini – In questo passaggio, è necessario inviare una richiesta ad Amazon per ottenere gli ordini da Amazon per un determinato intervallo di tempo. È necessario inviare i seguenti dati indicati di seguito nella richiesta:

mws.amazonservices.co.uk/Orders/2013-09-01? AWSAccessKeyId = XXXXXXXXXXXXXXX & Action = ListOrders & SellerId = XXXXXXXXXXXXXX // Qui scrivi il tuo ID commerciante e SignatureVersion = 2 // Qui scrivi la versione della tua firma e Timestamp = Ymdate : i: s \ Z ", time ()) // Scrivi il timestamp e la versione = 2013-09-01 e firma = 1234Knowband1234example1234 // Qui devi scrivere la firma e SignatureMethod = HmacSHA256 // Qui scrivi il tuo metodo di firma e LastUpdatedAfter = date ("Ymd \ TH: i: s \ Z", strtotime ('- 24 hour')); // richiesta di ottenere ordini per le ultime ore 24 solo da Amazon & OrderStatus.Status.1 = Non spedito // Qui è necessario aggiungere lo stato per il quale si desidera recuperare gli ordini e OrderStatus.Status.2 = PartiallyShipped & OrderStatus.Status.3 = Spedito e MarketplaceId.Id.1 = XXXXXXXXXXXXX AWSAccessKeyId = XXXXXXXXXXXXXXXXXXXXXX

Nella risposta, otterrai un file di feed degli ordini che conterrà l'elenco degli ordini che sono stati immessi su Amazon nelle ultime ore 24 e hanno lo stato dell'ordine richiesto. Ecco il file di feed dell'ordine di esempio.

<?xml version="1.0"?>
<ListOrdersResponse xmlns="https://mws.amazonservices.com/Orders/2013-09-01">
    <ListOrdersResult>
        <Orders>
            <Order>
                <LatestShipDate>2018-03-09T07:59:59Z</LatestShipDate>
                <OrderType>StandardOrder</OrderType>
                <PurchaseDate>2018-03-07T01:15:57Z</PurchaseDate>
                <AmazonOrderId>112-5028700-7051869</AmazonOrderId>
                <BuyerEmail>knowband@marketplace.amazon.com</BuyerEmail>
                <IsReplacementOrder>false</IsReplacementOrder>
                <LastUpdateDate>2018-03-07T10:05:30Z</LastUpdateDate>
                <NumberOfItemsShipped>1</NumberOfItemsShipped>
                <ShipServiceLevel>Std US D2D Intl</ShipServiceLevel>
                <OrderStatus>Shipped</OrderStatus>
                <SalesChannel>Amazon.com</SalesChannel>
                <ShippedByAmazonTFM>false</ShippedByAmazonTFM>
                <IsBusinessOrder>false</IsBusinessOrder>
                <LatestDeliveryDate>2018-04-06T06:59:59Z</LatestDeliveryDate>
                <NumberOfItemsUnshipped>0</NumberOfItemsUnshipped>
                <PaymentMethodDetails>
                    <PaymentMethodDetail>Standard</PaymentMethodDetail>
                </PaymentMethodDetails>
                <BuyerName>George</BuyerName>
                <EarliestDeliveryDate>2018-03-21T07:00:00Z</EarliestDeliveryDate>
                <OrderTotal>
                    <CurrencyCode>USD</CurrencyCode>
                    <Amount>49.44</Amount>
                </OrderTotal>
                <IsPremiumOrder>false</IsPremiumOrder>
                <EarliestShipDate>2018-03-07T08:00:00Z</EarliestShipDate>
                <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
                <FulfillmentChannel>MFN</FulfillmentChannel>
                <PaymentMethod>Other</PaymentMethod>
                <ShippingAddress>
                    <City>Hong Kong</City>
                    <Phone>XXXXXXXXXX</Phone>
                    <CountryCode>HK</CountryCode>
                    <Name>Khattak Muhammad S.B</Name>
                    <AddressLine1>D, Block 2, Example </AddressLine1>
                    <AddressLine2>H Address Example</AddressLine2>
                </ShippingAddress>
                <IsPrime>false</IsPrime>
                <ShipmentServiceLevelCategory>Standard</ShipmentServiceLevelCategory>
        </Order>
        <Order>
            <LatestShipDate>2018-03-09T07:59:59Z</LatestShipDate>
            <OrderType>StandardOrder</OrderType>
            <PurchaseDate>2018-03-06T20:23:38Z</PurchaseDate>
            <AmazonOrderId>114-8648933-7253863</AmazonOrderId>
            <BuyerEmail>knowband1@marketplace.amazon.com</BuyerEmail>
            <IsReplacementOrder>false</IsReplacementOrder>
            <LastUpdateDate>2018-03-07T10:05:31Z</LastUpdateDate>
            <NumberOfItemsShipped>2</NumberOfItemsShipped>
            <ShipServiceLevel>Std US D2D Dom</ShipServiceLevel>
            <OrderStatus>Shipped</OrderStatus>
            <SalesChannel>Amazon.com</SalesChannel>
            <ShippedByAmazonTFM>false</ShippedByAmazonTFM>
            <IsBusinessOrder>false</IsBusinessOrder>
            <LatestDeliveryDate>2018-04-06T06:59:59Z</LatestDeliveryDate>
            <NumberOfItemsUnshipped>0</NumberOfItemsUnshipped>
            <PaymentMethodDetails>
                <PaymentMethodDetail>Standard</PaymentMethodDetail>
            </PaymentMethodDetails>
            <BuyerName>George</BuyerName>
            <EarliestDeliveryDate>2018-03-21T07:00:00Z</EarliestDeliveryDate>
            <OrderTotal>
            <CurrencyCode>USD</CurrencyCode>
            <Amount>98.87</Amount>
            </OrderTotal>
            <IsPremiumOrder>false</IsPremiumOrder>
            <EarliestShipDate>2018-03-07T08:00:00Z</EarliestShipDate>
            <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
            <FulfillmentChannel>MFN</FulfillmentChannel>
            <PaymentMethod>Other</PaymentMethod>
            <ShippingAddress>
                <City>Hobe Sound</City>
                <AddressType>Residential</AddressType>
                <PostalCode>2101</PostalCode>
                <StateOrRegion>FL</StateOrRegion>
                <Phone>XXXXXXXXXX</Phone>
                <CountryCode>US</CountryCode>
                <Name> SMITH</Name>
                <AddressLine1>Knowband </AddressLine1>
            </ShippingAddress>
            <IsPrime>false</IsPrime>
            <ShipmentServiceLevelCategory>Standard</ShipmentServiceLevelCategory>
        </Order>
        <LastUpdatedBefore>2018-03-08T06:58:45Z</LastUpdatedBefore>
    </ListOrdersResult>
    <ResponseMetadata>
    <RequestId>7fc9364b-a296-4380-954d-1b0355b9ccea</RequestId>
    </ResponseMetadata>
</ListOrdersResponse>

2. Elenco degli articoli dell'ordine Dal primo passaggio, otterrai solo i dettagli dell'ordine (come ID ordini Amazon, data di acquisto, ecc.) E non i dettagli dell'articolo (dettagli del prodotto ordinato). Per ottenere i dettagli dell'articolo dell'ordine, dovrai inviare una richiesta separata ad Amazon. Devi inviare una richiesta corrispondente a ciascun ordine. Se hai bisogno di dettagli per gli ordini Amazon 5, dovrai inviare richieste 5. La richiesta è riportata di seguito: ad esempio $ Amazon_order_id = 112-5028700-7051869

mws.amazonservices.co.uk/Orders/2013-09-01? AWSAccessKeyId = XXXXXXXXXXXXXXXXXXXX & Action = ListOrderItems & SellerId = 'XXXXXXXXXXXXXX'; // Qui scrivi il tuo ID commerciante, & 'AmazonOrderId' = $ Amazon_order_id // Qui scrivi l'ID ordine per il quale vuoi ottenere i dettagli // Qui devi scrivere la firma, quando invii richieste HTTP ad AWS, devi firma le richieste in modo che AWS possa identificare chi ha inviato la richiesta e Firma = 1234Knowband1234example1234 & SignatureVersion = 2 // Qui scrivi la tua versione della firma e SignatureMethod = HmacSHA256 // Qui scrivi il tuo metodo di firma e Timestamp = gmdate ("Ymd \ TH: i: s \ Z" , time ()) // Scrivi il timestamp e la versione = 2013-09-01

In risposta alla richiesta, otterrai i dettagli descrittivi dell'ordine. Il campione è riportato di seguito:

mws.amazonservices.co.uk/Orders/2013-09-01 <? xml version = "1.0"?> <ListOrderItemsResponse xmlns = "https://mws.amazonservices.com/Orders/2013-09-01&quot;> < ListOrderItemsResult> <OrderItems> <OrderItem> <QuantityOrdered> 1 </QuantityOrdered> <Title> Manchester United Kids Third Shorts 2017 / 18 </Title> <ShippingTax> <CurrencyCode> USD </CurrencyCode> <Amount> XX </ShippingTax> <PromotionDiscount> <CurrencyCode> USD </CurrencyCode> <Amount> 0.00 </Amount> </PromotionDiscount> <ConditionId> New </ConditionId> <IsGift> false </IsGift> <ASIN> B0.00N072QVXNX </ > <SellerSKU> x-7-69 </SellerSKU> <OrderItemId> 96909 </OrderItemId> <ProductInfo> <NumberOfItems> 266 </NumberOfItems> </ProductInfo> <GurrencyWrapTax> <CurrencyCode 22621871528658 </Amount> </GiftWrapTax> <QuantityShipped> 1 </QuantityShipped> <ShippingPrice> <CurrencyCode> USD </CurrencyCode> <Amount> 0.00 </Amount> </ShippingPrice> <GiftWrapPrice> <CurrencyCode> USD </ CurrencyCode > <Amount> XNU MX </Amount> </GiftWrapPrice> <ConditionSubtypeId> New </ConditionSubtypeId> <ItemPrice> <CurrencyCode> USD </CurrencyCode> <Amount> 0 </Amount> </ItemPrice> <ItemTax> <CurrencyCode> USD </ CurrencyCode > <Amount> 19.95 </Amount> </ItemTax> <ShippingDiscount> <CurrencyCode> USD </CurrencyCode> <Amount> 0.00 </Amount> </ShippingDiscount> </OrderItem> </OrderItems> <AmazonOrderId> 29.49-0.00 -0.00XXX </AmazonOrderId> </ListOrderItemsResult> <ResponseMetadata> <RequestId> 112b5028700d7c-cce7-5e934-ab7XXXXXXXXX

3. Crea ordini Questo passaggio è il passaggio finale e dal passaggio 1 e 2, hai ottenuto tutti i dettagli degli ordini Amazon necessari per creare ordini sulla tua applicazione. Analizzando i feed XML di cui sopra (ordine elenco e elemento ordine elenco), è possibile creare ordini sulla propria applicazione. Se un ordine Amazon è già stato creato sulla tua applicazione, puoi utilizzare il passaggio 1 per aggiornare lo stato dell'ordine di tale ordine.


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 *