Я пытаюсь сделать тест для создания новой учетной записи на веб-сайте prestashop, который работает на моем локальном компьютере («localhost / prestashop» - это URL-адрес), используя веб-сервис. В поисках документации я нашел «PSWebServiceLibrary», затем создаю простой php файл, который загружает библиотеку, но выполняет код. Я всегда получаю « Неверный HTTP-ответ » при попытке отправить данные для добавления пользователей: Если я просто попытаюсь получить данные о существующих пользователях, это сработает. Одно замечание: при настройке ключа веб-сервиса я активировал разрешения GET и POST для клиентов. Это код, который я написал:
<?php
try {
require_once('./PSWebServiceLibrary.php');
$webService = new PrestaShopWebservice("http://localhost/prestashop", "PHTZVH77MGMAI45F284C2B9UY7TUUFRB", false);
// for exemple.... this works!
//$xml = $webService->get(array('url' => 'http://localhost/prestashop/api/customers/1'));
$xml = $webService->get(array('url' => 'http://localhost/prestashop/api/customers?schema=blank'));
$resources = $xml->children()->children();
$resources->id_gender = "1";
$resources->id_default_group = "3";
$resources->id_lang = "2";
$resources->id_shop = "1";
$resources->id_shop_group = "1";
$resources->is_guest = "0";
$resources->active = "1";
$resources->id_risk = "0";
$resources->deleted = "0";
$resources->firstname = "user";
$resources->lastname = "test";
$resources->email = "test@test.com";
$resources->passwd = "test";
$resources->date_add = "2020-07-03 17:59:06";
$resources->date_upd = "2020-07-03 17:59:06";
$opt = array('resource' => 'customers');
$opt['postXml'] = $xml->asXML();
$xml =$webService->add($opt);
} catch (PrestaShopWebserviceException $err) {
$trace = $err->getTrace();
$errorCode = $trace[0]['args'][0];
if ($errorCode == 401)
$error = "bad auth key";
else
$error = $err->getMessage();
echo $error;
} catch (Exception $err) {
echo $err->getMessage();
}