Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

222
Views
Magento 2 registre la URL de devolución de llamada / libro web para, por ejemplo, agregar al carrito sin cambios de código en Magento

¿Hay alguna forma de magento2 para registrar una función similar a un enlace web donde se solicita una API externa para alguna operación en el sitio de magneto (agregar producto al carrito, agregar envío ... etc.)

Necesito hacer esto desde la API, donde el sitio de Magento está alojado en un extremo (cliente) diferente. Tengo muy poco control sobre él. Solo quería hacer todo en la llamada API al sitio de magento,

Sé que es posible con woocommerce donde podemos registrar mi API externa en el sitio de woocommerce y desde allí puedo registrar mi aplicación como devolución de llamada. Todo esto se puede hacer con solo llamadas API al sitio de woocommerce sin cambios en el código fuente del sitio de woocommerce.

¿Alguien tiene alguna idea sobre esto? Por favor, dame un camino a las referencias.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Para estos casos, el patrón de diseño de evento/observador de Magento sería adecuado; consulte también la documentación .

Entonces, por ejemplo, para agregar un producto al carrito webhook, puede usar el evento checkout_cart_product_add_after.

Su módulo debería verse así:

app/código/Empresa/Módulo/registro.php:

 <?php declare(strict_types = 1); use Magento\Framework\Component\ComponentRegistrar; ComponentRegistrar::register( ComponentRegistrar::MODULE, 'Company_Module', __DIR__ );

app/código/Empresa/Módulo/etc/módulo.xml:

 <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Company_Module"/> </config>

app/código/Empresa/Módulo/etc/eventos.xml:

 <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> <event name="checkout_cart_product_add_after"> <observer name="company_module_checkout_cart_product_add_after" instance="Company\Module\Observer\CheckoutCartProductAddAfter" /> </event> </config>

app/código/Empresa/Módulo/Observador/CheckoutCartProductAddAfter.php:

 <?php declare(strict_types = 1); namespace Company\Module\Observer; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; class CheckoutCartProductAddAfter implements ObserverInterface { /** * Execute observer * * @param Observer $observer * @return void */ public function execute( Observer $observer ): void { // Your code logic here, like: $item = $observer->getEvent()->getQuoteItem(); $product = $item->getProduct(); $data = $this->_request->getParams(); } }

Después de agregar estos archivos, ejecute php bin/magento setup:upgrade desde la línea de comandos para habilitar el módulo.

Si hace de este un paquete de compositor de código abierto, solo tienen que instalar el paquete y hacer una pequeña configuración. Ese sería el camino a seguir.

Sin embargo, no es posible observar estos eventos desde fuera de Magento. Entonces, si realmente no puede realizar ningún cambio en Magento, lo que puede hacer es sondear la API de Magento para obtener nuevas cotizaciones/envíos.

Por ejemplo, obtener una lista de envíos con Magento Rest API (se recomienda filtrar la fecha de envío desde/hasta): https://magento.redoc.ly/2.4.3-admin/tag/shipments#operation/salesShipmentRepositoryV1GetListGet

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!