[base url: http://api.autoallianse.com]

API AutoAllianse представляет собой REST-сервис, позволяющий осуществлять проценку товаров, размещать заказы и получать статусы размещённых заказов.

Авторизационный токен

Для обращения к методам API нужно пройти авторизацию на сервисе посредством персонального логина/пароля. В ответ будет сгенерирован Bearer токен, который необходимо передавать в HTTP-заголовок вызываемого метода.

Получить токен

POST /token

Метод для получения Bearer токена необходимого для авторизации.

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

Параметр Тип данных Способ передачи Описание
username* string (body) Имя пользователя
password* string (body) Пароль
grant_type* string (body) grant_type = password

Параметры ответа

Параметр Тип данных Описание
token string Авторизационный токен
userName string Имя пользователя
validaty DateTime Срок действия

Примеры

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

cURL
C# - RestSharp
PHP - cURL
Python - Requests
curl --location --request POST 'http://api.autoallianse.com/token' \
--header 'Content-Type: text/plain' \
--data-raw 'username=your_login&password=your_password&grant_type=password'
var client = new RestClient("http://api.autoallianse.com/token");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "text/plain");
request.AddParameter("text/plain", "username=your_login&password=your_password&grant_type=password",  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'http://api.autoallianse.com/token',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS =>'username=your_login&password=your_password&grant_type=password',
    CURLOPT_HTTPHEADER => array(
        'Content-Type: text/plain'
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests

url = "http://api.autoallianse.com/token"

payload="username=your_login&password=your_password&grant_type=password"
headers = {
    'Content-Type': 'text/plain'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Пример ответа

{
    "token": "2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx",
    "userName": "yourUserName",
    "validaty": "2022-09-22T17:47:50.0714638+03:00"
}

Получить список брендов по артикулу

GET /api/search/{pn}/brands

Возвращает только те бренды по которым имеются в наличие детали (на складе или у транзитных поставщиков).

Для авторизации необходимо передавать HTTP-заголовок: 'Authorization: Bearer %ВАШ АВТОРИЗАЦИОННЫЙ ТОКЕН%'

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

Параметр Тип данных Способ передачи Описание
pn* string (path) Артикул (номер запчасти)
analogues boolean (query)

Искать аналоги:

false - поиск без аналогов (значение по умолчанию).

true - поиск с аналогами.

Параметры ответа

Параметр Тип данных Описание
brand string Наименование производителя
description string Описание детали

Примеры

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

cURL
C# - RestSharp
PHP - cURL
Python - Requests
curl --location --request GET 'http://api.autoallianse.com/api/search/45216/brands?analogues=true' \
--header 'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
var client = new RestClient("http://api.autoallianse.com/api/search/45216/brands?analogues=true");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'http://api.autoallianse.com/api/search/45216/brands?analogues=true',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
        CURLOPT_HTTPHEADER => array(
            'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
        ),
    ));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests

url = "http://api.autoallianse.com/api/search/45216/brands?analogues=true"

payload={}
headers = {
    'Authorization': 'Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Если поиск аналогов не требуется, параметр analogues можно не указывать

Пример ответа

[
    {
        "brand": "3RG",
        "description": "Кронштейн"
    },
    {
        "brand": "FOBOS",
        "description": "Труба приемная глушителя"
    },
    {
        "brand": "MEAT&DORIA",
        "description": "Шкив с муфтой свободного хода"
    }
]

Получить список запчастей

GET /api/search/{pn}/brand/{brand}

Для авторизации необходимо передавать HTTP-заголовок: 'Authorization: Bearer %ВАШ АВТОРИЗАЦИОННЫЙ ТОКЕН%'

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

Параметр Тип данных Способ передачи Описание
pn* string (path) Артикул (номер запчасти)
brand * string (path) Бренд
analogues boolean (query)

Искать аналоги:

false - поиск без аналогов (значение по умолчанию).

true - поиск с аналогами.

Параметры ответа

Параметр Тип данных Описание
partName string Описание артикула
deliveryDaysMin int32 Минимальный срок поставки
deliveryDaysMax int32 Максимальный срок поставки
qtyInStock int32 Количество, доступное к заказу на складе поставщика (0 - В наличии на складе поставщика)
minOrderQty int32 Минимальное количество для заказа
price decimal Цена
brand string Бренд
partNumber string Номер детали
supplierID int32 Код поставщика

Примеры

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

cURL
C# - RestSharp
PHP - cURL
Python - Requests
curl --location --request GET 'http://api.autoallianse.com/api/search/45216/brand/3RG?analogues=true' \
--header 'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
var client = new RestClient("http://api.autoallianse.com/api/search/45216/brand/3RG?analogues=true");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://api.autoallianse.com/api/search/45216/brand/3RG?analogues=true',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests

url = "http://api.autoallianse.com/api/search/45216/brand/3RG?analogues=true"

payload={}
headers = {
  'Authorization': 'Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Если поиск аналогов не требуется, параметр analogues можно не указывать

Пример ответа

[
    {
        "partName": "Кронштейн",
        "deliveryDaysMin": 58,
        "deliveryDaysMax": 78,
        "qtyInStock": 0,
        "minOrderQty": 1,
        "price": 185.7400,
        "brand": "PEUGEOT/CITROEN",
        "partNumber": "5271E4",
        "supplierID": 4220
    },
    {
        "partName": "Кронштейн",
        "deliveryDaysMin": 68,
        "deliveryDaysMax": 93,
        "qtyInStock": 0,
        "minOrderQty": 1,
        "price": 159.2700,
        "brand": "PEUGEOT/CITROEN",
        "partNumber": "5271E4",
        "supplierID": 4845
    }
]

Создать заказ

POST /api/order

При размещении заказа, возможно возникновение "коллизий" по цене либо по количеству:

Управлять реакцией на возникающие коллизии можно посредством установки параметра ValidationType в параметрах запроса.

Для авторизации необходимо передавать HTTP-заголовок: 'Authorization: Bearer %ВАШ АВТОРИЗАЦИОННЫЙ ТОКЕН%'

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

Параметр Тип данных Способ передачи Описание
custOrderNum string (body) Клиентский номер заказа
orderNotes string (body) Примечание к заказу
validationType* int32 (body)

Реакция на возникшие коллизии:

0 - В случае любой коллизии заказ не размещать

1 - Разместить все позиции, кроме отсутствующих в остатках. При этом цена всегда наша текущая, а количество при нехватке уменьшается до имеющегося и выравнивается по кратности (поле MinOrderQty в результатах поиска это и есть кратность или 'минимальное количество для заказа')

2 - Коллизии обрабатываются построчно (в каждой строке задаются свои реакции)

isTest* boolean (body)

true - тестовый заказ, не попадает в учётную систему и имеет время жизни ~24ч. (значение по умолчанию)

false - реальный заказ

orderHeadLines* array[] (body) Строки заказа

orderHeadLines

Параметр Тип данных Способ передачи Описание
qty* int32 (body) Количество
price* decimal (body) Цена
reference string (body) Код позиции
reactionByCount byte (body)

Реакция на коллизию по количеству.

(Существуют два вида коллизий: (ко) превышение имеющегося количества, (кр) несоответствие кратности).

0 - При возникновении любой из двух коллизий, позиция отбрасывается, иначе размещаем позицию в заказе с количеством Qty.

1 - При возникновении коллизии (кр), заказываемое количество корректируется вверх до ближайшего по кратности числа. При обнаружении коллизии (ко), позиция отбрасывается, иначе размещаем позицию в заказе со скорректированным количеством.

2 - При возникновении коллизии (кр), заказываемое количество корректируется вниз до ближайшего по кратности числа. При обнаружении коллизии (ко), заказываемое количество корректируется вниз, до ближайшего к имеющимся остаткам кратного числа. Размещаем позицию в заказе со скорректированным количеством, если оно превышает ноль, иначе позиция отбрасывается.

reactionByPrice byte (body)

Реакция на коллизию по цене:

0 - Размещаем не выше указанной в поле Price цены, иначе позиция отбрасывается

1 - Размещаем по нашей текущей цене (независимо от цены в поле Price)

strictlyThisNumber boolean (body) Строго этот номер (замены неприемлемы)
brand* string (body) Бренд
partNumber* string (body) Номер детали
supplierID* int32 (body) Код поставщика

Параметры ответа

Параметр Тип данных Описание
orderID int32 ID заказа
status int32

Статус заказа:

0 - Заказ полностью размещён

1 - Заказ размещён частично (см. Строки заказа)

2 - Заказ не размещён (см. Строки заказа)

total decimal Сумма заказа
orderPlacedLines array[] Строки заказа

orderPlacedLines

Параметр Тип данных Описание
qtyOrder int32 Количество запрошенное клиентом
qtyPlaced int32 Количество размещённое в заказе
priceOrder decimal Цена запрошенная клиентом
pricePlaced decimal Цена размещённая в заказе
status int32

Статус размещения:

0 - Строка успешна размещена

1 - Строка успешно размещена. Количество выровнено по кратности вверх.

2 - Строка успешно размещена. Количество выровнено по кратности вниз (со снижением до остатка при необходимости).

10 - Строка не размещена. Не указано одно из ключевых значений: Brand, PartNumber, SupplierID

11 - Строка не размещена. Не указано количество Qty.

12 - Строка не размещена. Не указана реакция на коллизию по количеству ReactionByCount.

13 - Строка не размещена. Не указана реакция на коллизию по цене ReactionByPrice.

20 - Строка не размещена. Коллизия по количеству.

30 - Строка не размещена. Коллизия по цене.

90 - Строка не размещена. Позиция не найдена в остатках.

reference string Код позиции
brand string Бренд
partNumber string Номер детали
supplierID int32 Код поставщика

Примеры

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

cURL
C# - RestSharp
PHP - cURL
Python - Requests
curl --location --request POST 'http://api.autoallianse.com/api/order' \
--header 'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx' \
--header 'Content-Type: application/json' \
--data-raw '{
  "custOrderNum": "test_order_12345",
  "orderNotes": "text2",
  "validationType": 2,
  "isTest": true,
  "orderHeadLines": [
    {
      "qty": 6,
      "price": 4.23,
      "reference": "ref1",
      "reactionByCount": 1,
      "reactionByPrice": 1,
      "strictlyThisNumber": true,
      "brand": "NGK",
      "partNumber": "1667",
      "supplierID": 5
    },
    {
      "qty": 33,
      "price": 1.03,
      "reference": "ref2",
      "reactionByCount": 0,
      "reactionByPrice": 0,
      "strictlyThisNumber": true,
      "brand": "VAG",
      "partNumber": "101000063AA",
      "supplierID": 5
    }
  ]
}'
var client = new RestClient("http://api.autoallianse.com/api/order");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", 
"{
  \"custOrderNum\": \"test_order_12345\",
  \"orderNotes\": \"text2\",
  \"validationType\": 2,
  \"isTest\": true,
  \"orderHeadLines\": [
    {
      \"qty\": 6,
      \"price\": 4.23,
      \"reference\": \"ref1\",
      \"reactionByCount\": 1,
      \"reactionByPrice\": 1,
      \"strictlyThisNumber\": true,
      \"brand\": \"NGK\",
      \"partNumber\": \"1667\",
      \"supplierID\": 5
    },
	{
	  \"pty\": 33,
	  \"price\": 1.03,
	  \"reference\": \"ref2\",
	  \"reactionByCount\": 0,
	  \"reactionByPrice\": 0,
	  \"strictlyThisNumber\": true,
	  \"brand\": \"VAG\",
	  \"partNumber\": \"101000063AA\",
	  \"supplierID\": 5
	}
  ]
}",  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://api.autoallianse.com/api/order',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "custOrderNum": "test_order_12345",
  "orderNotes": "text2",
  "validationType": 2,
  "isTest": true,
  "orderHeadLines": [
    {
      "qty": 6,
      "price": 4.23,
      "reference": "ref1",
      "reactionByCount": 1,
      "reactionByPrice": 1,
      "strictlyThisNumber": true,
      "brand": "NGK",
      "partNumber": "1667",
      "supplierID": 5
    },
    {
      "qty": 33,
      "price": 1.03,
      "reference": "ref2",
      "reactionByCount": 0,
      "reactionByPrice": 0,
      "strictlyThisNumber": true,
      "brand": "VAG",
      "partNumber": "101000063AA",
      "supplierID": 5
    }
  ]
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests

url = "http://api.autoallianse.com/api/order"

payload="{
  \"custOrderNum\": \"test_order_12345\",
  \"orderNotes\": \"text2\",
  \"validationType\": 2,
  \"isTest\": true,
  \"orderHeadLines\": [
    {
      \"qty\": 6,
      \"price\": 4.23,
      \"reference\": \"ref1\",
      \"reactionByCount\": 1,
      \"reactionByPrice\": 1,
      \"strictlyThisNumber\": true,
      \"brand\": \"NGK\",
      \"partNumber\": \"1667\",
      \"supplierID\": 5
    },
    {
      \"qty\": 33,
      \"price\": 1.03,
      \"reference\": \"ref2\",
      \"reactionByCount\": 0,
      \"reactionByPrice\": 0,
      \"strictlyThisNumber\": true,
      \"brand\": \"VAG\",
      \"partNumber\": \"101000063AA\",
      \"supplierID\": 5
    }
  ]
}"
headers = {
  'Authorization': 'Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Пример ответа

{
    "orderID": 5198,
    "status": 1,
    "total": 13.5200,
    "orderPlacedLines": [
        {
            "qtyOrder": 6,
            "qtyPlaced": 8,
            "priceOrder": 4.23,
            "pricePlaced": 1.6900,
            "status": 1,
            "reference": "ref1",
            "brand": "NGK",
            "partNumber": "1667",
            "supplierID": 5
        },
        {
            "qtyOrder": 33,
            "qtyPlaced": 0,
            "priceOrder": 1.03,
            "pricePlaced": 0.0,
            "status": 30,
            "reference": "ref2",
            "brand": "VAG",
            "partNumber": "101000063AA",
            "supplierID": 5
        }
    ]
}

Получить информацию по заказу

GET /api/status/{orderID}

Для авторизации необходимо передавать HTTP-заголовок: 'Authorization: Bearer %ВАШ АВТОРИЗАЦИОННЫЙ ТОКЕН%'

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

Параметр Тип данных Способ передачи Описание
orderID* int32 (path) ID заказа

Параметры ответа

Параметр Тип данных Описание
orderID int32 ID заказа
custOrderNum string Клиентский номер заказа
orderDate DateTime Дата размещения заказа
completedDate DateTime? Дата завершения заказа
status byte

Статус заказа:

1 - Новый

2 - В работе

3 - Завершён

total decimal Сумма заказа
orderLines array[] Строки заказа

orderLines

Параметр Тип данных Описание
partName string Описание артикула
qty int32 Заказанное количество
price decimal Цена
referenceID string Код позиции
currentStatus byte

Текущий статус:

240 - Новый заказ

10 - Заказ проверен

15 - Заказ невозможен

40 - Заказ принят

50 - Отправлен поставщику

51 - Выход из порта отправителя

52 - Вход в порт прибытия

53 - Вход на таможенный терминал

54 - Выход по маршруту

55 - Выход с таможенного терминала

56 - Поступление на наш склад

57 - На транзитном складе № 1

58 - На транзитном складе № 2

59 - Вход в порт 1

60 - Вход в порт 2

61 - Брак

62 - Недостача

80 - Задержка

90 - Переход номера

100 - Изменение цены

120 - Поступил на склад

140 - Готово к выдаче

160 - Получен клиентом

180 - Поставка невозможна

190 - Выдача невозможна

200 - Отказ клиента

estSupplyDate DateTime? Ожидаемая дата поставки
brand string Бренд
partNumber string Номер детали
supplierID int32 Код поставщика

Примеры

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

cURL
C# - RestSharp
PHP - cURL
Python - Requests
curl --location --request GET 'http://api.autoallianse.com/api/status/5198' \
--header 'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
var client = new RestClient("http://api.autoallianse.com/api/status/5198");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://api.autoallianse.com/api/status/5198',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests

url = "http://api.autoallianse.com/api/status/5198"

payload={}
headers = {
  'Authorization': 'Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Пример ответа

{
    "orderID": 5198,
    "custOrderNum": "test_order_12345",
    "orderDate": "2077-01-21T00:00:00.00",
    "completedDate": "0001-01-01T00:00:00",
    "status": 1,
    "total": 13.52,
    "orderLines": [
        {
            "partName": "Свеча зажигания VL 35 BKR5E NGK 1667",
            "qty": 8,
            "price": 1.69,
            "referenceID": "ref1",
            "currentStatus": 10,
            "estSupplyDate": "2077-01-12T00:00:00",
            "brand": "NGK",
            "partNumber": "1667",
            "supplierID": 5
        }
    ]
}

Получить список заказов

GET /api/getorders/{isActive}/{limit}

Метод возвращает все активные заказы (статусы: 1 - новый и 2 - в работе) или все заказы (+ статус: 3 - завершён) в зависимости от параметра isActive, но не больше параметра limit.

Для авторизации необходимо передавать HTTP-заголовок: 'Authorization: Bearer %ВАШ АВТОРИЗАЦИОННЫЙ ТОКЕН%'

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

Параметр Тип данных Способ передачи Описание
isActive bool (path) Вернуть только активные заказы (true) или все заказы (false). По умолчанию - false.
limit int32 (path) Кол-во заказов, которые нужно вернуть. Допускается любое значение от 1 до 1000. По умолчанию 100.

Параметры ответа

Order[]

Параметр Тип данных Описание
orderID int32 ID заказа
custOrderNum string Клиентский номер заказа
orderDate DateTime Дата размещения заказа
completedDate DateTime? Дата завершения заказа
status byte

Статус заказа:

1 - Новый

2 - В работе

3 - Завершён

total decimal Сумма заказа
orderLines array[] Строки заказа

orderLines

Параметр Тип данных Описание
partName string Описание артикула
qty int32 Заказанное количество
price decimal Цена
referenceID string Код позиции
currentStatus byte

Текущий статус:

240 - Новый заказ

10 - Заказ проверен

15 - Заказ невозможен

40 - Заказ принят

50 - Отправлен поставщику

51 - Выход из порта отправителя

52 - Вход в порт прибытия

53 - Вход на таможенный терминал

54 - Выход по маршруту

55 - Выход с таможенного терминала

56 - Поступление на наш склад

57 - На транзитном складе № 1

58 - На транзитном складе № 2

59 - Вход в порт 1

60 - Вход в порт 2

61 - Брак

62 - Недостача

80 - Задержка

90 - Переход номера

100 - Изменение цены

120 - Поступил на склад

140 - Готово к выдаче

160 - Получен клиентом

180 - Поставка невозможна

190 - Выдача невозможна

200 - Отказ клиента

estSupplyDate DateTime? Ожидаемая дата поставки
brand string Бренд
partNumber string Номер детали
supplierID int32 Код поставщика

Примеры

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

cURL
C# - RestSharp
PHP - cURL
Python - Requests
curl --location --request GET 'http://api.autoallianse.com/api/getorders/true/2' \
	--header 'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
var client = new RestClient("http://api.autoallianse.com/api/getorders/true/2");
	client.Timeout = -1;
	var request = new RestRequest(Method.GET);
	request.AddHeader("Authorization", "Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx");
	IRestResponse response = client.Execute(request);
	Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://api.autoallianse.com/api/getorders/true/2',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests

url = "http://api.autoallianse.com/api/getorders/true/2"

payload={}
headers = {
  'Authorization': 'Bearer 2RQOWS1jxKZ0bYFg0m2ij2LdhXtzPFH9k62QOy2no2JKCkbOEhvUxs9uSCDtH7NVdvRZx_9Jormneb2XybldwVr69IJVTOtSqAyHAaFb2wL2vRsqRQQl35sbsNBzrSq5g_uctP_hPfbeYjgiEDxbT3KtmSQ21AAE_T7LiVfHw0GcvGqXmSZ84icsWdPOGwcsdzpHHSk2sByiIx'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Пример ответа

[
    {
        "orderID": 5282,
        "custOrderNum": "test_order_12345",
        "orderDate": "2021-01-21T17:45:40.21",
        "completedDate": null,
        "status": 1,
        "total": 13.52,
        "orderLines": [
            {
                "partName": "Свеча зажигания VL 35 BKR5E NGK 1667",
                "qty": 8,
                "price": 1.69,
                "referenceID": "ref1",
                "currentStatus": 240,
                "estSupplyDate": null,
                "brand": "NGK",
                "partNumber": "1667",
                "supplierID": 5
            }
        ]
    },
    {
        "orderID": 5276,
        "custOrderNum": "test_order_12345",
        "orderDate": "2021-01-21T17:45:39.81",
        "completedDate": null,
        "status": 1,
        "total": 13.52,
        "orderLines": [
            {
                "partName": "Свеча зажигания VL 35 BKR5E NGK 1667",
                "qty": 8,
                "price": 1.69,
                "referenceID": "ref1",
                "currentStatus": 240,
                "estSupplyDate": null,
                "brand": "NGK",
                "partNumber": "1667",
                "supplierID": 5
            }
        ]
    }
]

* - обязательный параметр