How to get Amazon Orders using API

Objetivo del blog.

Después de leer este blog, podrá comprender cómo el vendedor puede obtener los pedidos de Amazon utilizando API.

Conozcamos la API del pedido

La API de pedidos de Amazon ayuda a los vendedores a obtener los detalles del pedido y sincronizar los pedidos de Amazon en su aplicación personalizada. Esto es muy útil para recuperar actualizaciones de pedidos en tiempo real y los vendedores también pueden obtener fácilmente la información del estado del pedido (enviado o no enviado) para todos los pedidos mediante API.

Cómo sincronizar pedidos de Amazon en aplicaciones personalizadas

En primer lugar, necesita la credencial de la API de Amazon MWS (Market Place Web Service). Si aún no lo tiene, puede obtener la ayuda de este blog

Para obtener los pedidos de Amazon en su extremo, debe seguir los siguientes pasos:

1 Lista de pedidos – En este paso, debe enviar una solicitud a Amazon para obtener los pedidos de Amazon durante un intervalo de tiempo particular. Debe enviar los siguientes datos que figuran a continuación en la solicitud:

mws. : i: s \ Z ", hora ()) // Escriba la marca de tiempo y Versión = 2013-09-01 y Firma = 2Knowband2013example09 // Aquí debe escribir la firma y SignatureMethod = HmacSHA01 // Aquí escriba su método de firma y LastUpdatedAfter = fecha ("Ymd \ TH: i: s \ Z", strtotime ('- 1234 hora')); // solicite obtener pedidos para las últimas horas 1234 solo de Amazon & OrderStatus.Status.1234 = Unshipped // Aquí debe agregar el estado para el que desea obtener los pedidos & OrderStatus.Status.256 = PartiallyShipped & OrderStatus.Status.24 = Enviado y MarketplaceId.Id.24 = XXXXXXXXXXXXX AWSAccessKeyId = XXXXXXXXXXXXXXXXXXXX

En la respuesta, obtendrá un archivo de feed de pedidos que contendrá la lista de pedidos que se han realizado en Amazon en las últimas horas de 24 y tiene el estado del pedido solicitado. Aquí está el archivo de muestra del pedido.

<?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 Listar artículos de pedido Desde el primer paso, solo obtendrá los detalles del pedido (como la identificación de pedidos de Amazon, la fecha de compra, etc.), no los detalles del artículo del pedido (detalles del producto pedido). Para obtener los detalles del artículo del pedido, deberá enviar una solicitud por separado a Amazon. Debe enviar la solicitud correspondiente a cada pedido. Si necesita detalles para los pedidos de 5 Amazon, deberá enviar solicitudes de 5. La solicitud se proporciona a continuación: por ejemplo, $ Amazon_order_id = 112-5028700-7051869

mws.amazonservices.co.uk/Orders/2013-09-01? AWSAccessKeyId = XXXXXXXXXXXXXXXXXXXX & Action = ListOrderItems & SellerId = 'XXXXXXXXXXXXXX'; // Aquí escriba su identificación de comerciante, & 'AmazonOrderId' = $ Amazon_order_id // Aquí escriba la identificación del pedido para el que desea obtener detalles // Aquí debe escribir la firma, cuando envíe solicitudes HTTP a AWS, debe firme las solicitudes para que AWS pueda identificar quién envió la solicitud & Signature = 1234Knowband1234example1234 & SignatureVersion = 2 // Aquí escriba su versión de firma & SignatureMethod = HmacSHA256 // Aquí escriba su método de firma y Timestamp = gmdate ("Ymd \ TH: i: s \ Z" , time ()) // Escribe la marca de tiempo & Version = 2013-09-01

En respuesta a la solicitud, obtendrá los detalles descriptivos del pedido. La muestra se da a continuación:

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> <AmountmoxN> </ShippingTax> <PromotionDiscount> <CurrencyCode> USD </CurrencyCode> <Amount> 0.00 </Amount> </PromotionDiscount> <ConditionId> New </ConditionId> <IsGift> false </IsGift> <ASIN> B0.00N072QVX > <SellerSKU> x-7-69 </SellerSKU> <OrderItemId> 96909 </OrderItemId> <ProductInfo> <NumberOfItems> 266 </NumberOfItems> </ProductInfo> <GiftWrapTax> <CurrencyCode> <CurrencyCode> <CurrencyCode> 22621871528658 </Amount> </GiftWrapTax> <QuantityShipped> 1 </QuantityShipped> <ShippingPrice> <CurrencyCode> USD </CurrencyCode> <Amount> 0.00 </Amount> </ShippingPrice> <GiftWrapPrice> <CurrencyCode> USD </ > <Cantidad> XNU MX </Amount> </GiftWrapPrice> <ConditionSubtypeId> Nuevo </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-ab7-d45da6xXIX </i>

3 Crear pedidos Este paso es el paso final y del paso 1 y 2, obtuvo todos los detalles de los pedidos de Amazon que necesita para crear pedidos en su aplicación. Al analizar las fuentes XML anteriores (orden de lista y elemento de orden de lista), puede crear pedidos en su aplicación. Si ya se creó un pedido de Amazon en su aplicación, puede usar el paso 1 para actualizar el estado del pedido.


¿Cómo cambiar la latencia de cumplimiento y el inventario de productos en Amazon usando API?

Objetivo:

Después de leer este blog, podrá comprender cómo el vendedor puede cambiar el inventario y la latencia de cumplimiento de los productos en Amazon mediante la API.

Conozcamos sobre la Latencia de Cumplimiento

La latencia de cumplimiento es la cantidad de días que el vendedor necesita para enviar el pedido después de recibirlo de Amazon. También se puede definir como el tiempo máximo del que dispone el vendedor para despachar el paquete. El tiempo de cumplimiento lo establece el vendedor correspondiente a cada producto. La latencia de cumplimiento también se conoce como tiempo de manejo. La API de cumplimiento de Amazon ayuda al vendedor a establecer el inventario del producto y el tiempo de latencia de cumplimiento en Amazon.

¿Cómo cambio la latencia de cumplimiento y el inventario para productos que usan API?

Infórmenos sobre los campos que deberá enviar en la solicitud a Amazon:

Acción

Este campo especifica la acción que debe realizarse en la solicitud y esto ayuda a determinar qué parámetro debe estar en la solicitud. Firma: siempre que envíe la solicitud HTTP a Amazon, debe agregar la firma con la URL. Al verificar la firma, Amazon puede identificar al comerciante de quien se recibió la solicitud. Usamos un valor hash (HmacSHA256), algunos datos de la solicitud y una clave de acceso secreta para crear una firma.

Versiones de firma

Se admiten 2 versiones de firma y estas versiones son:

(1)Versión 4:
(2)Versión 2:

Se pueden usar ambas versiones para firmar la solicitud, pero le recomendamos que firme su solicitud con la versión 4 de la firma en este blog, se usa la versión 2 de la firma.

Purgar y reemplazar

El campo Purgar y reemplazar reemplaza la lista existente de productos de Amazon si su valor es verdadero. Por lo tanto, siempre debe establecer su valor en falso en la solicitud si no desea eliminar la lista de listados de AmazFreeType.Tipo

El tipo de fuente especifica cómo se deben procesar los datos. Para cambiar la latencia de cumplimiento y el inventario, debe especificar el tipo de fuente “_POST_INVENTORY_AVAILABILITY_DATA_”.

Método de firma

Los métodos de firma son protocolos basados ​​en hash y debe aplicar estos métodos para calcular las firmas. Por ejemplo, HmacSHA256

Timestamp

En este campo, debe agregar la hora en la que está realizando la solicitud. Para cambiar la latencia de cumplimiento y el inventario del producto, debe enviar los siguientes datos en la solicitud a 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

También deberá crear el archivo XML que contendrá el inventario y los detalles de latencia de cumplimiento de los SKU para los que desea cambiar la latencia de cumplimiento y el inventario. El feed de muestra se muestra a continuación:

$xml_file = La ruta completa del archivo XML en el servidor $xml_data se proporciona a continuación

<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>

Debe enviar los datos XML UXML y el encabezado de la solicitud juntos en una solicitud. El servidor utiliza los valores de encabezado para una verificación de extremo a extremo de los datos y para detectar modificaciones no intencionales en los datos más adelante en la transición.

$headers = array ('Esperar:', 'Aceptar:', 'Codificación de transferencia: fragmentada', 'Tipo de contenido: application/x-www-form-urlencoded; charset=utf-8', 'Content-MD5: '.base64_encode(md5_file($xml_file, true)) //codifica el archivo xml);

 

$opciones = array( CURLOPT_URL => $url, CURLOPT_POST => 1, CURLOPT_FOLLOWLOCATION => true, // seguir redirecciones CURLOPT_RETURNTRANSFER => true, // devolver página web CURLOPT_POSTFIELDS => $xml_data, CURLOPT_HTTPHEADER => $headers, CURLOPT_ENCODING => "UTF-8", // maneja todas las codificaciones CURLOPT_AUTOREFERER => verdadero, // establece el referente en la redirección CURLOPT_CONNECTTIMEOUT => 120, // tiempo de espera en la conexión CURLOPT_TIMEOUT => 120, // tiempo de espera en la respuesta CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_SSL_VERIFYPEER => false, // deshabilita la comprobación de certificados CURLOPT_FILE => "$fp" ); $ch = curl_init( $url ); @curl_setopt_array( $ch, $opciones ); $contenido = curl_exec( $ch );

En la respuesta, obtendrá el número de SKU que se procesaron con éxito (significa que se cambiaron la latencia de cumplimiento y el inventario) y el número de SKU que no se procesó debido a un error, como se muestra en la captura de pantalla del feed de respuesta a continuación:

Resumen

Después de leer este documento, usted (vendedor) puede cambiar fácilmente la latencia de cumplimiento y el inventario de productos en Amazon utilizando la API de Amazon MWS.

Knowband ofrece servicios de desarrollo de comercio electrónico y puede ayudarlo a crear un nuevo sitio web de comercio electrónico. Para brindar a nuestros clientes el mejor y más eficiente servicio posventa, contamos con un equipo de soporte dedicado que está constantemente disponible para ayudarlos. Continuamos cumpliendo con nuestros deberes para con los clientes que desean ayuda con problemas urgentes del sitio web, incluso los fines de semana.

Los mejores módulos de Magento, Opencart, Prestashop y Magento 2 también están disponibles. One Page SuperCheckout, Multi-Vendor Marketplace, Mobile App Builder, Spin and Win Module, Abandoned Cart y módulos más populares son solo algunos de los que Knowband tiene para ofrecer. Puede comunicarse con nosotros en support@knowband.com si tiene alguna pregunta.

¿Cómo utilizar entornos en Postman?

 

¿Qué son los entornos?

Cuando trabaje con API, a menudo necesitará tener configuraciones diferentes. Por ejemplo, su máquina local, el servidor de desarrollo o la API de producción. Los entornos brindan la capacidad de personalizar solicitudes utilizando variables. De esta manera, puede cambiar fácilmente entre diferentes configuraciones sin cambiar sus solicitudes. No tendrás que preocuparte por recordar todos estos valores una vez que estén en Postman. Los entornos se pueden descargar y guardar como archivos JSON y cargarlos más tarde.

Pasos para crear un nuevo entorno

Haga clic en la sección Entornos en el menú de la izquierda.

Haga clic en el botón Agregar o Crear entorno para crear un nuevo entorno.

Haga clic en el botón Agregar para crear un nuevo entorno.

Proporcione el nombre del entorno, como local/desarrollo o producción.

Cada entorno es un conjunto de pares clave-valor, con la clave como nombre de variable.

por ejemplo, aquí creamos dos claves que se pueden usar al activar API

API_URL

VERSION DE APLICACION

También podemos definir variables globales que puedan ser accesibles en todos los entornos. Haga clic en el botón global.

Establezca los valores clave como se definió previamente al crear un entorno y haga clic en el botón Guardar.

Pasos para usar el entorno

Seleccione un entorno activo

Haga clic en el menú desplegable en la esquina superior derecha de la aplicación Postman para seleccionar un entorno activo o escriba el nombre del entorno. Después de seleccionar un entorno, puede acceder a las variables en el alcance del entorno activo.

Acceso a variables de entorno

Una vez que haya elegido la plataforma, podrá acceder fácilmente a la variable en el Cuerpo, los Encabezados o la URL de solicitud.

Nota: El nombre de la variable estará entre llaves dobles. por ejemplo, {{API_URL}}. También puede obtener la sugerencia de variable escribiendo llaves simples ‘{‘

En la captura de pantalla siguiente, hemos utilizado variables en los parámetros URL de solicitud y Cuerpo.

Nota: Las variables globales y de entorno siempre se almacenarán como cadenas. Si está almacenando objetos/matrices, asegúrese de utilizar JSON.stringify() antes de almacenarlos y JSON.parse() durante la recuperación.

Para cualquier consulta, no dude en comunicarse con nosotros en support@knowband.com.

También puedes echar un vistazo a los mejores módulos de comercio electrónico proporcionados por Knowband para Prestashop, Opencart, Magento y Magento 2.

Consulte nuestros módulos más vendidos:

Complemento Prestashop Android e iOS Mobile App Builder

Creador de aplicaciones de Android e iOS para Opencart

Complemento de pago de una página para Prestashop

Creador de aplicaciones móviles Knowband

Obtenga la aplicación móvil creada para su tienda en unas pocas horas con el módulo Knowband Mobile App Builder.

Aprende más