API REST - отправка событий


У меня есть пользовательский модуль, и моя структура кода соответствует контакту службы.

Приложение/код/[Поставщик]/[Модуль]/Model/AccountManagement.php

Теперь у меня есть событие отправки в файле модели

$this->_eventManager->dispatch('vendor_register_success', $eventParams);

В соответствии со стандартом REST API и в соответствии с решением this я добавил событие в конкретный модуль, откуда оно взялось.

Приложение/код/[Поставщик]/[Модуль]/etc/webapi_rest/events.xml

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="vendor_register_success">
        <observer name="vendor_register_success" instance="[Vendor]\[Module]\Observer\VendorBrandRegister" />
    </event>   
</config>

И Мой наблюдатель выглядит так

Приложение/код/[Поставщик]/[Модуль]/Observer/VendorBrandRegister.php

 public function execute(\Magento\Framework\Event\Observer $observer)
    {
        echo "In execute"; exit;
    }

Но это событие не является отправкой. Чего мне не хватает, потому что в соответствии с решением мне нужно добавить события в папку webapi_rest в папку etc.

Author: Aditya Shah, 2018-06-22

2 answers

Попробуйте использовать приведенный ниже код для события отправки.

$this->_eventManager->dispatch('vendor_register_success', [$eventParams]);

Вместо

$this->_eventManager->dispatch('vendor_register_success', $eventParams);

В качестве второго параметра должен быть массив. Это может вам помочь.

 1
Author: Prasanta Hatui, 2018-06-22 09:55:07

Это можно сделать, определив events.xml в папке webapi_rest.

Vendor/magento/module-quote/etc/webapi_rest/events.xml

Magento делает это в модуле quote для отправки почты.

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="sales_model_service_quote_submit_success">
        <observer name="sendEmail" instance="Magento\Quote\Observer\Webapi\SubmitObserver" />
    </event>
</config>

Ссылка 1 - От Винаи Коппа: https://twitter.com/VinaiKopp/status/810897855527485440

Ссылка 2

 2
Author: Aditya Shah, 2019-01-15 08:44:22