ПОЛУЧЕНИЕ БРЕНДОВ ПО АРТИКУЛУ

HTTP метод

GET

URL запроса

http://av34.ru/SearchService/GetBrands?article={article}&withoutTransit={true/false}

Заголовки запроса (request headers)

Authorization: Basic {credentials}
Accept: application/json
Content-type: application/json
Host: av34.ru

Параметры запроса

(Все параметры обязательные!)

article – Артикул (тип string)

withoutTransit – Не возвращать транзитных поставщиков (тип Bool)

Ответ

Строка JSON, коллекция объектов следующей структуры:

"Article": "333305"

Артикул детали

String

"Brand": "KYB"

Производитель (бренд)

String

"Description": "Амортизатор

Описание детали

String

 

 

ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ  ПО АРТИКУЛУ И БРЕНДУ

HTTP метод

GET

URL запроса

http://av34.ru/SearchService/GetParts?article={article}&brand={brand}&withoutTransit={true/false}

Заголовки запроса (request headers)

Authorization: Basic {credentials}
Accept: application/json
Content-type: application/json
Host: av34.ru

Параметры запроса

(Все параметры обязательные!)

article – Артикул (тип string)

brand – Бренд (тип string)

withoutTransit – Не возвращать транзитных поставщиков (тип Bool)

Ответ

Строка JSON, коллекция объектов следующей структуры:

«Article»: «334826»

Артикул детали

String

«Brand»: «KYB»

Производитель (бренд)

String

«CostSale»: 1234

Цена продажи

Double

«Count»: 10

Количество

Short

«CountText»: >10

Количество в текстовом виде String

«Description»: «Амортизатор»

Описание детали

String

«IsAnalog»: false

Признак аналога на искомую деталь

Bool

«IsDefective»: false

Признак уцененного товара

Bool

«MinCount»: 2

Кратность или партийность товара в шт.

Int?

«SupplierColor»: #6adafc

Цвет заливки строки на сайте

String

«SupplierLastUpdate»:

Дата обновления прайса

String

«SupplierName»: «АВТОДОМ»

Название поставщика

String

«SupplierPercent»: 97

Вероятность поставки Int?

«SupplierTimeMax»: 0

Максимальный гарантированный срок поставки в часах

Short?

«SupplierTimeMin»: 24

Минимальный ожидаемый срок поставки в часах

Short?

 

ОТПРАВКА ТОВАРА В КОРЗИНУ НА САЙТЕ

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}
Accept: application/json
Content-type: application/json
Host: av34.ru

Параметры запроса

(Все параметры обязательные!)

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}
Accept: application/json
Content-type: application/json
Host: av34.ru

Параметры запроса

(Все параметры обязательные!)

items – Массив объектов вида:

[{

article – Артикул (тип string),

brand – Бренд (тип string),

SupplierName – имя поставщика (тип string),

CostSale – цена товара (тип double),

Quantity – количество единиц товара (тип int),

SupplierTimeMin – минимальный срок поставки в часах (тип int),

SupplierTimeMax – максимальный срок поставки в часах (тип int),

Comment – комментарий к позиции (тип string),

GioID – уникальный идентификатор позиции в вашей системе (тип int)

},{..}, …]

Внимание! Параметр необходимо кодировать в строку URL-адреса!

Ответ

Строка JSON, по каждой позиции массива будет сформирован ответ в виде коллекции объектов следующей структуры:

"AddToOrderResult": true

Признак создания заказа

Bool

"AddToOrderStatus": "Ожидает обработки"

Текущий статус позиции в заказе

String

"OrderID": 1234

Номер заказа данной позиции

String

"GioId": 12345

Идентификатор позиции в вашей системе

int

 

 

ПОЛУЧЕНИЕ ИНФОРМАЦИИ О СТАТУСАХ ЗАКАЗА

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, коллекция объектов следующей структуры:

 

«Article»: 333305

Артикул детали

String

«Brand»: KYB

Производитель (бренд)

String

«CostSale»: 123

Цена продажи

Double

«Count»: 1

Количество

Short

«DateAdded»: /Date(1543900279493)/

Дата заказа

DateTime

«DeliveryTimeMax»: 0

Максимальный гарантированный срок поставки в часах

Short?

«DeliveryTimeMin»: 24

Минимальный ожидаемый срок поставки в часах

Short?

«Description»: «Амортизатор»

Описание детали

String

«Id»: «334826»

Номер позиции в заказе

Int

«Status»: [struct]

Информация по статусу позиции

Array of items

«SubOrderId»: «4334826»

Номер заказа

Int

«Sum»: 123

Сумма

Double

« SupplierName »: «АВТОДОМ»

Название поставщика

String

Внутри Array of items:

«Id»: «5334826»

Номер статуса

Int

«CategoryId»: «0»

Категория статуса

Short

«Name»: «Принят»

Наименование статуса

String

«Color»#6adafc

Цвет статуса

String

«Date»: /Date(1543900279493)/

Дата установки статуса

DateTime

«IsCompletedLabel»: «334826»

Признак конечного статуса

Bool

Пояснения:

Запросы осуществляется с помощью 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;

 

Возможные ошибки

  1. Неверные логин и/или пароль, указанные в обращении к Сервису. Они должны совпадать с логином/паролем для доступа на наш сайт.
  2. Убедитесь, что ваши запросы идут с IP адреса, который вы указывали при запросе доступа к Сервису
  3. Нет составных и/или транзитных поставщиков в результате – дневной лимит на поиск по составным и транзитным поставщикам исчерпан, обратитесь к менеджеру
  4. Доступ запрещён по другим причинам