Веб-сервисы
Взаимодействие осуществляется через механизм веб-сервисов по протоколу SOAP.
WSDL веб-сервиса: http://урл-магазина/api/soap.php?wsdl без www (например для zizap.ru — http://zizap.ru/api/soap.php?wsdl).
Сервис поиска детали (Проценка)
Метод FindDetail — Входные параметры
Осуществляет поиск предложений по указанной детали в базе данных магазина.
Все входные параметры обязательны.
Массив userData — данные пользователя
Название | Тип | Пример | Описание |
---|---|---|---|
string | user@email.ru | Электронная почта пользователя магазина | |
password | string | 12345 | Пароль пользователя магазина |
Массив request
Название | Тип | Пример | Описание |
---|---|---|---|
article | string | CP03 | Номер искомой детали |
findSubstitutes | boolean | true | Запрос с заменами или без (true/false, допустимы замены детали на другие детали данного или других изготовителей) |
Метод FindDetail — Возвращаемые данные
Метод возвращает массив объектов parts, которые предоставляют информацию о детали.
parts
Название | Тип | Пример | Описание |
---|---|---|---|
priceId | string | b1lpzGIgfECbMMRhffxRFd | Внутренний идентификатор прайса в магазине |
detailNum | string | CP03 | Номер детали |
makerName | string | HKT | Имя производителя |
detailName | string | Свечи накаливания | Имя/Описание детали |
quantity | string | >10 | Доступное количество |
minimum | integer | 1 | Минимальное количество для заказа |
region | string | ОАЭ | Регион |
delivery | string | 1 | Срок доставки |
percentSupped | integer | 65 | Вероятность наличия запчастей с этого прайса в процентах |
price | float | 352.11 | Цена в валюте магазина |
multiplicity | integer | 1 | Кратность |
В случае ошибки будет возвращена строка error c описанием ошибки.
Пример кода клиента веб-сервиса для поиска запчастей
С использованием стандартного расширения SOAP
$wsdl = "http://zizap.ru/api/soap.php?wsdl";
$options = array(
"soap_version" => SOAP_1_2,
"encoding" => "windows-1251"
);
$client = new SoapClient($wsdl, $options);
$userData = array("email" => "user@mail.ru", "password" => "123");
$request = array("article" => "CP03", "findSubstitutes" => false);
$result = $client->findDetail($userData, $request);
var_dump($result);
Сервис корзины
Метод addToBasket — Входные параметры
Метод добавляет запчасть в корзину.
Все входные параметры обязательны.
Массив userData — данные пользователя
Название | Тип | Пример | Описание |
---|---|---|---|
string | user@email.ru | Электронная почта пользователя магазина | |
password | string | 12345 | Пароль пользователя магазина |
Массив part — данные добавляемой запчасти
Название | Тип | Пример | Описание |
---|---|---|---|
priceId | string | b1lpzGIgfECbMMRhffxRFd | Внутренний идентификатор прайса в магазине |
detailNum | string | CP03 | Номер детали |
makerName | string | HKT | Имя производителя |
detailName | string | Свечи накаливания | Имя/Описание детали |
quantity | integer | 1 | Необходимое количество, не должно быть меньше минимального количества для заказа |
region | string | ОАЭ | Регион |
delivery | string | 1 | Срок доставки |
price | float | 352.11 | Цена в валюте магазина |
В случае успешногодобавления будет возвращена строка message с сообщением что запчасть добавлена в корзину.
В случае ошибки будет возвращена строка error c описанием ошибки.
Пример кода клиента веб-сервиса для добавления запчасти в корзину
С использованием стандартного расширения SOAP
$wsdl = "http://zizap.ru/api/soap.php?wsdl";
$options = array(
"soap_version" => SOAP_1_2,
"encoding" => "windows-1251"
);
$client = new SoapClient($wsdl, $options);
$userData = array("email" => "user@mail.ru", "password" => "123");
$part= array(
"priceId" => "4Zs2E9RkLIT6CB69RcF64fhS2y4oCbdey45vFSR",
"detailNum" => "CP03",
"makerName" => "HKT",
"detailName" => "Свечи накаливания",
"quantity" => 1,
"region" => "ОАЭ",
"delivery" => 5,
"price" => 346.66
);
$result = $client->addToBasket($userData, $part);
var_dump($result);