ПОЛУЧЕНИЕ БРЕНДОВ ПО АРТИКУЛУ
HTTP метод |
GET |
|||||||||
URL запроса |
http://av34.ru/SearchService/GetBrands?article={article}&withoutTransit={true/false} |
|||||||||
Заголовки запроса (request headers) |
Authorization: Basic {credentials} |
|||||||||
Параметры запроса (Все параметры обязательные!) |
article – Артикул (тип string) withoutTransit – Не возвращать транзитных поставщиков (тип Bool) |
|||||||||
Ответ |
Строка JSON, коллекция объектов следующей структуры:
|
ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ПО АРТИКУЛУ И БРЕНДУ
HTTP метод |
GET |
||||||||||||||||||||||||||||||||||||||||||||||
URL запроса |
http://av34.ru/SearchService/GetParts?article={article}&brand={brand}&withoutTransit={true/false} |
||||||||||||||||||||||||||||||||||||||||||||||
Заголовки запроса (request headers) |
Authorization: Basic {credentials} |
||||||||||||||||||||||||||||||||||||||||||||||
Параметры запроса (Все параметры обязательные!) |
article – Артикул (тип string) brand – Бренд (тип string) withoutTransit – Не возвращать транзитных поставщиков (тип Bool) |
||||||||||||||||||||||||||||||||||||||||||||||
Ответ |
Строка JSON, коллекция объектов следующей структуры:
|
ОТПРАВКА ТОВАРА В КОРЗИНУ НА САЙТЕ
HTTP метод |
GET |
URL запроса |
http://av34.ru/SearchService/AddToBasket?article={Article}&brand={Brand}&supplierName={SupplierName}&costSale={CostSale}&quantity={Count}&supplierTimeMin={SupplierTimeMin}&supplierTimeMax={SupplierTimeMax} |
Заголовки запроса (request headers) |
Authorization: Basic {credentials} |
Параметры запроса (Все параметры обязательные!) |
article – Артикул (тип string) brand – Бренд (тип string) SupplierName – имя поставщика (тип string) CostSale – цена товара (тип double) Quantity – количество единиц товара (тип int) SupplierTimeMin – минимальный срок поставки в часах (тип int) SupplierTimeMax – максимальный срок поставки в часах (тип int) |
Ответ |
"Ok" – товар добавлен. "Value is not acceptable for article" - неверно задан артикул "Value is not acceptable for brand" - неверно задан бренд "Value is not acceptable for supplierName" - неверно задано название поставщика "Value is not acceptable for costSale" - неверно задана цена "Value is not acceptable for quantity" - неверно задано количество "Undefined Error" – невозможно добавить позицию по другим причинам
|
ОТПРАВКА ТОВАРОВ В ЗАКАЗ (БЕЗ ОТПРАВКИ В КОРЗИНУ)
HTTP метод |
GET |
||||||||||||
URL запроса |
http://av34.ru/SearchService/AddOrder?items=[array of items] |
||||||||||||
Заголовки запроса (request headers) |
Authorization: Basic {credentials} |
||||||||||||
Параметры запроса (Все параметры обязательные!) |
items – Массив объектов вида: [{ article – Артикул (тип string), brand – Бренд (тип string), SupplierName – имя поставщика (тип string), CostSale – цена товара (тип double), Quantity – количество единиц товара (тип int), SupplierTimeMin – минимальный срок поставки в часах (тип int), SupplierTimeMax – максимальный срок поставки в часах (тип int), Comment – комментарий к позиции (тип string), GioID – уникальный идентификатор позиции в вашей системе (тип int) },{..}, …] Внимание! Параметр необходимо кодировать в строку URL-адреса! |
||||||||||||
Ответ |
Строка JSON, по каждой позиции массива будет сформирован ответ в виде коллекции объектов следующей структуры:
|
ПОЛУЧЕНИЕ ИНФОРМАЦИИ О СТАТУСАХ ЗАКАЗА
HTTP метод |
GET |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
URL запроса |
http://av34.ru/SearchService/GetPositionsByOrder/{orderId} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Заголовки запроса (request headers) |
Authorization: Basic {credentials} Accept: application/json Content-type: application/json Host: av34.ru |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры запроса |
orderId - номер заказа в нашей системе (тип int) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ответ |
Строка JSON, коллекция объектов следующей структуры:
Внутри Array of items:
|
Пояснения:
Запросы осуществляется с помощью HTTP-методов GET
Для запросов требуется преобразовать ваш логин и пароль вида «Login:Password» в стандарт Base64
В итоге строка авторизации должна иметь вид:
Пример кода на C#:
return "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(Login + ":" +Password));
Для параметра withoutTransit допустимы только значения true/false. 0 и 1 не являются допустимыми с точки зрения c# для типа bool (System.Boolean
).
Важно! обратите внимание, что артикулы, бренды и прочие параметры URL-адреса нужно кодировать, чтобы передавались они верно. В нашем примере используется
HttpUtility.UrlEncode
Пример кода для автоматического оформления заказа на сайте автосоюз-юг.рф:
HttpClient client = new HttpClient(); string lp = Convert.ToBase64String(Encoding.UTF8.GetBytes(login + ":" + password)).ToString(); Uri url = new Uri("http://av34.ru/SearchService/AddOrder?items=" + HttpUtility.UrlEncode(items)); client.BaseAddress = url; client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", lp); var response = client.GetAsync(url).Result;
Возможные ошибки
- Неверные логин и/или пароль, указанные в обращении к Сервису. Они должны совпадать с логином/паролем для доступа на наш сайт.
- Убедитесь, что ваши запросы идут с IP адреса, который вы указывали при запросе доступа к Сервису
- Нет составных и/или транзитных поставщиков в результате – дневной лимит на поиск по составным и транзитным поставщикам исчерпан, обратитесь к менеджеру
- Доступ запрещён по другим причинам