Пользовательские CRUD-методы веб-сервиса Prestashop

#php #web-services #prestashop #prestashop-1.6

#php #веб-сервисы #prestashop #prestashop-1.6

Вопрос:

Я разрабатываю модуль PS для вставки данных связанных хранилищ (имя, URL, apiKey …) в новую таблицу другого хранилища PS в качестве централизованного.

Я добился создания нового веб-сервиса, установил флажки GET, POST и DELETE CRUD и установил ключ веб-сервиса для моего пользовательского веб-сервиса. Теперь я хочу записать новое связанное хранилище через URL веб-сервиса.

Что я сделал, так это:

Переопределить webserviceRequest (override/clases/webservice/webserviceRequest.php )

 class WebserviceRequest extends WebserviceRequestCore {
    public function __construct() {
        include_once(_PS_MODULE_DIR_.'mycustomwebservicedir'.DIRECTORY_SEPARATOR.'models'.DIRECTORY_SEPARATOR.'myCustomClassForWs.php');
    }

    public static function getResources()
    {
        $resources = parent::getResources();
        $resources['myCustomWs'] = array('description' => 'Description for my custom webservice', 'class' => 'myCustomClassForWs');
        ksort($resources);
        return $resources;
    }
}
  

И это мой код для моего пользовательского класса (models/myCustomClassForWs.php )

 class myCustomClassForWs extends ObjectModel
{
    public $store_name;
    public $store_url;
    public $store_api_key;
    public $store_contact_email;

    public static $definition = [
        'table'     => _DB_PREFIX_.'mycustomtable',
        'primary'   => 'id_primary_key',
        'fields'    => [
            'store_name'            => ['type' => self::TYPE_STRING, 'required' => true],
            'store_url'             => ['type' => self::TYPE_STRING, 'required' => true],
            'store_api_key'         => ['type' => self::TYPE_STRING, 'required' => true],
            'store_contact_email'   => ['type' => self::TYPE_STRING, 'required' => true],
        ]
    ];

    protected $webserviceParameters = [];
}
  

Итак, мой вопрос в том, как обработать пользовательский веб-сервис для вставки в мою новую таблицу, передав параметры через URL веб-сервиса.

Редактировать: я добавил часть ответа XML при попытке доступа http://localhost/prestashop/prestashop-base/api/centralized_store

Ответ веб-сервиса браузера