Данный сервис предоставляет удобный для пользователя поиск. Поиск осуществляется в два этапа. Вначале, согласно критериям, пользователь указывает необходимый товар. В результате он получает несколько каталогов, в которых находится интересующий его товар. Теперь пользователь может приступить ко второму этапу поиска. Указывая имя каталога и искомую деталь, пользователь получит расширенный список найденных товаров.
Сервис включает в себя определение двух методов.
Название | Назначение |
---|---|
SearchCatalogs | Осуществляет поиск каталогов по указанным критериям (первый этап поиска). |
SearchDetails | Осуществляет поиск подходящих товаров, включая аналоги искомого товара (второй этап поиска). |
Метод SearchCatalogs
Осуществляет поиск подходящих каталогов (первый этап поиска).
Входные данные:
Имя параметра | Тип | Обязательный | Описание |
---|---|---|---|
login | string | Да | Логин пользователя. |
password | string | Да | Пароль пользователя. |
article | string | Да | Артикул. |
Результат:
Класс содержит список найденных каталогов и комментарий к ошибке при поиске, если таковая имеется.
Имя свойства | Тип | Описание |
---|---|---|
Catalogs | SearchCatalog[] | Список найденных каталогов. |
Comment | string | Описание к ошибке при поиске, если таковая имеется. Текст ошибки будет полезен для разработчиков. |
Найденный каталог на первом этапе поиска.
Имя свойства | Тип | Описание |
---|---|---|
CatalogName | string | Наименование каталога. |
Description | string | Описание детали. |
В этом примере показано, как вызвать метод SearchCatalogs.
using (var client = new SearchServiceClient())
{
var login = "login";
var password = "password";
var result = client.SearchCatalogs(login, password, "LX1605");
if (!result.Catalogs.Any())
{
Console.WriteLine("Подходящих каталогов не найдено");
}
else
{
Console.WriteLine("Список каталогов получен");
}
}
Метод SearchDetails
Осуществляет поиск подходящих деталей (второй этап поиска).
Входные данные:
Имя параметра | Тип | Обязательный | Описание |
---|---|---|---|
login | string | Да | Логин пользователя. |
password | string | Да | Пароль пользователя. |
article | string | Да | Артикул. |
catalogName | string | Да | Наименование каталога из первого этапа поиска. |
isAnalogs | bool | Нет | Требуется ли искать кроме оригинальных запчастей еще и аналоги. Если параметр не задан, то по умолчанию true. |
averageDeliveryDaysNoMore | int? | Нет | Максимальное среднее количество дней, за которое прибудет заказ. Если параметр не задан или равен null, то фильтр результата не выполняется. |
deliveryPercentNoLess | int? | Нет | Минимальная вероятность доставки (null или значение от 0 до 100). Если параметр не задан или равен null, то фильтр результата не выполняется |
Результат:
Класс содержит список найденных оригинальных запчасте, их аналогов и другую полезную информацию.
Имя свойства | Тип | Описание |
---|---|---|
Originals | SearchDetail[] | Список найденных оригинальных запчастей. |
Analogs | SearchDetail[] | Список найденных аналогов. |
UserCurrencyCode | string | Трехбуквенная валюта клиента в формате ISO 4217. |
IsLocked | bool | Значение true, если клиенту временно ограничен второй этап поиска; в противном случае - false. |
Comment | string | Описание к ошибке при поиске, если таковая имеется. Текст ошибки будет полезен для разработчиков. |
Найденная деталь для заказа.
Имя свойства | Тип | Описание |
---|---|---|
SearchQueryId | Guid | Идентификатор для заказа данной детали. Указывается при добавлении в корзину. |
ArticleDetail | string | Артикул детали. |
Availability | int | Наличие (кол. деталей в наличии). Если кол-во деталей в наличии неизвестно, то данный параметр не имеет значения. |
AvailabilityType | AvailabilityType | Тип наличия. |
Country | string | Страна производитель. |
DeliveryDaysAverage | int? | Срок доставки в среднем в днях. Если срок доставки неизвестен, то null. |
DeliveryDaysGuranteed | int? | Гарантированный срок доставки в днях. Если срок доставки неизвестен, то null. |
Description | string | Описание детали. |
LotQuantity | int | Мин кол-во в партии. |
Probability | int? | Вероятность доставки. Если вероятность неизвестна, то null, иначе значение от 0 до 100. |
CatalogName | string | Производитель. |
Price | decimal | Цена за одну деталь. |
Описывает тип наличия детали при поиске деталей.
Значение | Описание |
---|---|
More | Более, чем указанное кол-во деталей. |
Less | Менее, чем указанное кол-во деталей. |
Equally | Равно указанному кол-ву деталей. |
Unknown | Кол-во деталей в наличии неизвестно. |
В этом примере показано, как вызвать метод SearchForDetails.
using (var client = new SearchServiceClient())
{
var login = "login";
var password = "password";
var details = client.SearchDetails(login, password, "LX1605", "Knecht (Mahle Filter)");
if (!details.Originals.Any() && !details.Analogs.Any())
{
Console.WriteLine("Подходящих товаров не найдено");
}
else
{
Console.WriteLine("Список товаров получен");
}
}