PDA

Ver la Versión Completa : Escuchar eventos en magento



kranmen
09-04-2009, 09:17 AM
Hola, estamos desarrollando un proyecto en C# para integrar magento con SAP, y queríamos saber cómo se puede escuchar o capturar los eventos que magento produce al añadir, actualizar o eliminar algún elemento en magento.

Es decir, que si el usuario añade un nuevo producto por ejemplo, entonces magento nos notifique de alguna manera que se ha añadido un nuevo producto con toda la información posible, para así nosotros capturarlo y a su vez enviárselo a SAP.

Sabemos que existe una aplicación que utilizando XML-RPC, pero no nos funciona, me gustaría saber si hay alguna forma con Web Service.

Un saludo y espero alguna respuesta.

Damian Culotta
09-05-2009, 10:31 PM
@kranmen

Me suena a que estás queriendo tener algo del estilo push.
¿Tu aplicación tendria un webservice o sólo consume el de Magento?.
¿Es posible que me hayas consultado lo mismo por mail en el blog? (asi no respondo dos veces lo mismo).

kranmen
09-06-2009, 01:53 PM
@Damian Culotta

Hola Damián y gracias por contestar, soy el mismo que te ha enviado el mensaje en tu blog, pero es que no sabía que tú estabas adscrito a este foro.

Vamos a ver lo que queremos hacer es integrar magento con SAP BO, por lo tanto el camino es bidireccional, es decir consumimos los web service de magento, para dar de alta a clientes, productos, etc...
Esta parte si lo tenemos controlada con la api de magento nos hemos hecho una aplicación en C# y conseguimos hacerlo mediante los web service.

Pero mi pregunta es ¿Como hacerlo al revés?, es decir que si un cliente en el portal de magento añade un producto, cliente, etc..., que se lance un evento o algo y nos indique que se ha producido para así, poderlo replicar en SAP BO.

Hemos visto que en el fichero que se autogenera al asociar el fichero wsld de magento existe una serie de eventos, como estos:

-public event loginCompletedEventHandler loginCompleted;
-public event startSessionCompletedEventHandler startSessionCompleted;
-public event resourcesCompletedEventHandler resourcesCompleted;
-public event customerCustomerDeleteCompletedEventHandler customerCustomerDeleteCompleted;
-public event catalogProductCreateCompletedEventHandler catalogProductCreateCompleted;

Hay mucho más, pero he puesto unos cuantos, hemos intentado subscribirnos al evento, pero no se lanza el evento, no sabemos si esto funciona o hay que hacerlo de otra forma como mirar la BD de datos directamente cada x tiempo y ver si ha producido alguna modificación, pero esta forma la veo menos eficiente.

Espero que se haya comprendido lo que queremos hacer, para clarificar pongo esta imagen de la arquitectura y lo que no sabemos hacer es el Magento Event Service.

Gracias de antemano y espero que nos puedas aclarar ideas.

Damian Culotta
09-06-2009, 07:33 PM
Si se comprende, pero, me parece que habría que un pequeño ajuste al razonamiento.
Y cuando mucho, están todos invitados a opinar. (Je).
Dado que, y no con esto vamos a dar lecciones de tecnologías web, las herramientas web (es un razonamiento llano y no profundo para poder explicar) son orientadas a eventos (es decir, necesitan la interacción de un evento/usuario para reaccionar).
Bajo éste razonamiento, te está faltando alguien/algo que desde Magento genere el evento que dispararía la información a tu ERP.

Si no querés tener una tercera aplicación que hable entre Magento y el ERP, deberías modificar el código de Magento para que ante los eventos que vos querés capturar, dispare las llamdas al webservice de tu ERP.
Pero esos eventos no serían dentro de la API, sino dentro de l apltaforma en si misma.

Por supuesto, todo esto es conceptual pero, ¿se entiende para dónde voy con la idea?.
Saludos.

raimonesteve
09-08-2009, 11:59 AM
@Damian Culotta
Vamos a ver lo que queremos hacer es integrar magento con SAP BO

Mirate los módulos magento y osc_sale para ver como hemos integrado Magento o osCommerce con OpenERP (integración tienda virtual y un ERP)

Tiene licencia GPL, o sea, que lo puedes consultar libremente.

kranmen
09-09-2009, 06:07 PM
Hola raimonesteve y gracias por contestar.
Cuando te refieres a los módulos de magento, ¿existe alguno en concreto que permita enviarnos información de modificaciones en magento? es que osc_vale es para osCommerce y nosotros lo necesitamos solamente para magento.

Gracias y un saludo