El blog de LiveCommerce

Un blog de comercio electrónico y tiendas online

Validando feeds XML de productos enviados a AMAZON MWS

Conectar el ecommerce con MWS AMAZON es de todo menos sencillo. Una de las partes más complicadas es crear feeds de datos de productos y que estos pasen la validación. Hay dos tipos de productos en Amazon:
  • 1.- Productos que Amazon vende. Con lo cual, ya dispone de ficha, imágenes y resto de datos del producto.
  • 2.- Productos que Amazon no vende.
En el primer caso, cuando Amazon ya está vendiendo el producto que tu también quieres vender, es bastante sencillo sincronizarlos. Únicamente se trata de consultar si el EAN de tu producto está en Amazon y en el caso de que sí, te devolverá el código ASIN (Amazon Standard Identification Number). Guardas éste código en tu base de datos y posteriormente únicamente debes crear un feed de datos con tu ID PRODUCTO y el ASIN. Haciendo esto, rápidamente verás tus productos en el panel de Sellercentral de Amazon. La cosa se complica cuando necesitas crear productos nuevos que Amazon no tiene en su tienda. En ese caso deberás crear una estructura XML de tus productos y subirla arriba. El problema es que si no sabes como funciona, subirás el XML y te quedarás esperando a ver si Amazon ha aceptado tu feed de datos. Esta opción es inviable programáticamente, necesitas una respuesta rápida que te diga porque el feed de datos es incorrecto. Puedes recurrir al soporte técnico de Amazon. Que lamentablemente no tiene en España un soporte técnico al que acudir cuando no sabes donde fallan tus feeds de datos. Sin entrar mucho en el tema, hay que decir, que parece lamentable que Amazon no tenga un soporte técnico en España para la integración. Lo único que ofrece Amazon son personas de negocio que no saben resolver la parte técnica de la integración. Entonces, cómo puedes validar que tus feeds de datos son correctos. Ayer descubrí un método de la API de Amazon al que le envías el identificador de tu feed de datos y te devuelve un XML con el detalle de todos los errores. Con esto, vamos a desarrollar un sistema automático que cuando suba el archivo y esté procesado por Amazon, nos devuelva los errores. Vamos a ello. shopincloud-amazon - - - Ayer estuve haciendo pruebas de validación de feeds. Hoy solo tenía que integrarlo en ShopinCloud. He añadido un enlace llamado "Validación AMAZON" dentro del detalle de cada feed subido que queda registrado en ShopinCloud. Éste enlace solo se muestra cuando el sistema sabe que AMAZON ha terminado de procesar el feed que le hemos subido. A continuación vamos a ver como acceder a la respuesta de Amazon del feed de datos subido. shopincloud-amazon-validacion-feed Para aquellos que queráis probar y sepáis programar os dejo aquí el código que se utiliza para hacer la petición a Amazon.
 $serviceUrl = "https://mws.amazonservices.es";$feedSubmissionId = IDENTIFICADOR_DEL_FEED_DE_DATOS_PREVIAMENTE_SUBIDO; // Ejemplo: 52724017347$config = array( 'ServiceURL' => $serviceUrl, 'ProxyHost' => null, 'ProxyPort' => -1, 'MaxErrorRetry' => 3,);$service = new MarketplaceWebService_Client(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, $config, APPLICATION_NAME, APPLICATION_VERSION); $request = new MarketplaceWebService_Model_GetFeedSubmissionResultRequest();$request->setMerchant(MERCHANT_ID);$request->setFeedSubmissionId($feedSubmissionId);$request->setMWSAuthToken(MERCHANT_TOKEN); // Optional$fp = fopen('php://memory', 'rw+'); // Abrir recurso en memoria para escritura de datos.$request->setFeedSubmissionResult($fp); // Pasamos el recurso a la clase de Amazon$response = $service->getFeedSubmissionResult($request); // Generamos consulta $xmlResponse = stream_get_contents($fp); // Cogemos el contenido que amazon ha escrito en el recurso que le hemos pasado antes.echo $xmlResponse; // contiene el XML con la validación del feed de datos subido previamente.
Compártelo:

¿Tienes alguna consulta?

Si tienes alguna pregunta o sabes la respuesta sobre algún comentario, no dudes en contribuir.
Responderemos rápidamente.
Puedes utilizar etiquetas BBCode para escribir negrita, enlaces, imágenes, etc...
Más información en la página oficial de BBCOde http://www.bbcode.org/ Ejemplo:
[url=http://google.com]links[/url], [color=red]colores[/color] [b]negrita[/b]...

¿Has visto los videos en nuestro canal de Youtube?

En nuestro canal de Youtube publicamos periódicamente mejoras y funcionalidades del software de ecommerce.