Get it on Google Play

Integración JavaEE con Amazon Marketplace Web Services(MWS)

12-06-2015
 

Estamos integrando un ERP Eurowin con Amazon a través de su servicio Marketplace Web Services(MWS). Amazon es un sistema de eCommerce brutal y su API para integración MWS muy potente(Aunque no a todo el mundo le interese vender a través de este canal).

Antes de empezar

Para poder hacer la integración necesitaremos una cuenta de desarrollador o utilizar la propia cuenta del vendedor. Para ello nos tendremos que registrar a través de Amazon Marketplace Web Services Developer Portal donde encontraremos también la documentación del API.

Importante! Si estáis registrados en el dominio .es, debéis utilizar el dominio .es de todos los servicios amazon. Es decir, que si estáis registrados en developer. amazonservices.es si os conectáis al API mediante el dominio mws.amazonservices.com os dará error. Estáis avisados.

Una vez tengáis vuestras credenciales parecidas a estas ya podréis empezar a programar:

Amazon Developer Registration Page

Amazon Developer Registration Page

Uso de Scratchpad para probar el API

Amazon nos provee de la herramienta ‘Scratchpad'(Amazon Scratchpad) para poder probar el API. Esto es tremendamente útil. Si queremos, por ejemplo, ver el listado de todos los ‘Feeds'(Peticiones enviadas para hacer algo, por ejemplo, actualización de stock) que hemos enviado lo podemos hacer de la siguiente manera:

Amazon MWS Scratchpad Query

Amazon MWS Scratchpad Query

También podremos ver los detalles de la petición(Para poder hacerla nosotros):

Amazon Sratchpad Query 2

Amazon Sratchpad Query 2

Como vemos, todas las peticiones deben ir firmadas con la clave secreta que nos aporta Amazon cuando nos registramos. Básicamente, se trata de generar una cadena como la que se ve en la imagen con todos los parámetros(En el mismo orden que se envían) y firmarla. Si adjuntamos un XML a la petición también habrá que añadir en la cabecera de la petición el parámetro ‘Content-MD5′(Atención, no como parámetro de la URL).

Otro punto importante es la marca de tiempo(Timestamp). Amazon nos obliga a insertar una marca de tiempo en la petición. Si la marca de tiempo esta 15 minutos por encima o por debajo de la del servidor no procesa la petición. Lo mas practico es que la obtengáis a través de esta URL Amazon MWS Timestamp

En futuros posts colgaré el código para firmar y hacer peticiones. De momento os dejo este Snipped de ejemplo de petición para actualizar el precio a una lista(Vector) de artículos(No necesita mucho comentario):

Básicamente se trata de generar un XML con la lista de artículos y sus nuevos precios y hacer la petición.

Comments

One Response to “Integración JavaEE con Amazon Marketplace Web Services(MWS)”
  1. […] de las integraciones con Amazon y con eBay lo lógico era continuar esta serie de posts con la integración con Google Shopping. […]

Leave a Reply

© Albert Coronado Calzada