Hola,
Estoy pensando en reemplazar un sitio web existente con Discourse. El problema es que el backend de ese sitio contiene una lógica compartida, incluso para una aplicación móvil y acciones específicas del sitio.
Por lo tanto, al tener que mantener un servidor activo con esa lógica particular, me pregunto si es posible enviar solicitudes HTTP desde Discourse a un servidor externo. Lo ideal sería que, al ocurrir ciertos eventos en Discourse, se realice una solicitud HTTP a mi servidor.
¿Esto es realmente posible? Si es así, ¿hay alguna guía al respecto?
También, ¿es posible crear un tema con campos específicos y pasarlos en la solicitud HTTP?
Creo que lo que intentas hacer se acerca más al concepto de webhooks. Necesitas crear algunos webhooks que accedan a las URLs dadas cuando ocurra un evento. Si ese es el caso, puedes echar un vistazo a esto:
Gracias a todos por las respuestas. No, estoy buscando una forma de crear un cliente REST API completo y no un simple webhook.
Lo que intento replicar es un tipo de mercado donde los usuarios pueden publicar sus objetos y luego aceptar las diversas ofertas de otros usuarios. La lógica del mercado debe permanecer en el servidor, pero el frontend debe ser Discourse y, por lo tanto, debe actualizarse según los datos del servidor.
Honestamente, no sé qué es mejor hacer en esta situación, así que estoy buscando consejos y referencias.
También les dejo el enlace a el sitio (está en italiano) solo para que entiendan mejor lo que intento migrar.
Creo que se requiere cierta aclaración en cuanto al papel que jugaría Discourse aquí.
¿Cómo se relaciona tu caso de uso con la discusión o conversación? ¿Qué se haría en Discourse y qué se haría en tu servidor?
Esta es una declaración amplia. Discourse en sí mismo es un sistema completo. ¿Qué datos mostrarías en Discourse que provengan de o estén sincronizados con tu otro servidor?
Con la información que has compartido, definitivamente se podría hacer mediante un plugin. Existen integraciones para WordPress, GitHub, etc., que podrían estar haciendo algo similar a lo que intentas hacer. Pero eso es solo tratar de leer entre líneas.
Si quieres entender cómo crear plugins, aquí tienes una excelente colección de enlaces de @merefield
Ok, déjame explicar mejor desde el principio la idea:
Quiero crear un mercado donde los usuarios puedan vender o intercambiar sus artículos. Idealmente, cada vez que un usuario crea una publicación, debería ingresar campos específicos para describir ese objeto. Otros usuarios deberían tener la oportunidad de discutir el precio del artículo y realizar ofertas mediante botones y campos específicos (que deberían agregarse usando Discourse).
Partiendo de esta idea, hay dos caminos que podría tomar (si Discourse lo permite):
Cada vez que se realice una interacción en Discourse sobre estas ofertas, me gustaría que mi servidor actualice o envíe los datos.
O, en caso de que lo anterior no sea posible:
Me gustaría transferir toda la lógica a Discourse utilizando su base de datos interna y crear una API REST en Discourse que permita que una aplicación móvil se conecte y utilice el servicio desde el teléfono móvil.
¿Cuál es la idea mejor y más rápida de implementar usando Discourse?
Creo que deberías leer los enlaces compartidos arriba. Además, este plugin de WordPress hace un trabajo similar pero para WordPress, así que también puedes echarle un vistazo.