Как разместить данные из обычной html-формы в Magento Rest Api модуль гостевой или административной функции контроллера

Я создал одну html-форму следующим образом:-

<form action="http://localhost:81/magento/api/rest/forgetpass" method="post">
    <input type="text" name="apikey" placeholder="Api Key"/>
    <br/>
    <input type="text" name="email" placeholder="Email"/>
    <br/>
    <input type="submit" value="Submit"/>
</form>

Расположение этого файла: — C:xampphtdocsmagentoapi_filestestapi.РНР

Теперь моя функция контроллера гостя:-

<?php

/**
 * Override for Magento's Catalog REST API
 */
error_reporting(-1);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
class Esoft_ExtendRestApi_Model_Api2_Forgetpass_Rest_Guest_V1 extends Mage_Api2_Model_Resource {

    /**
     * Retrieve the attribute options
     * @return attribute options
     */
    
    protected function _update($data)
    {
        $email = $data["email"];
        try 
        {
            $customer = Mage::getModel('customer/customer')
                    ->setWebsiteId(1)
                    ->loadByEmail($email);
            $customer->getRpToken();
            $customer->sendPasswordResetConfirmationEmail();
            
            $array = array("status" => "200", "error" => "Email sent successfully.");
            return json_encode($array);    
        } catch (Exception $e) {
            $array = array("status" => "500", "error" => $e->getMessage());
            return json_encode($array);
        }      
    }
    
    protected function _retrieve() 
    {
        //code
    }

    /**
     * TODO
     *
     * @return int
     */
    protected function _retrieveCollection() 
    {
        //code
    }
}

Теперь я хочу передать данные из html-формы в эту функцию контроллера.

Я пытаюсь представить данные, но это говорит :-

<magento_api>
<messages>
<error>
<data_item>
<code>403</code>
<message>Access denied</message>
</data_item>
</error>
</messages>
</magento_api>

1 ответ

  1. Вы создали api2.xml если да, то
    Пожалуйста назначьте роль к вашему модулю следовать ниже шагами:

    system->web services->REST Role guest
    

    После этого найдите свой модуль и проверьте привилегии.

    system->web services->REST Attribute guest
    

    надеюсь, это поможет