[base url: https://api.apec-uae.com]

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

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

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

Alternate Text
Postman

Чтобы воспользоваться функциональностью API Вы можете скачать данный файл (или указать на него ссылку) в Postman.

Инструкция: в программе Postman нажмите File → Import

Collection v2.1

Возможности

  • Различные code snippet для ЯП
  • Правильное указание: params, authorization, headers, body...

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

POST https://api.apec-uae.com/token

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

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

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

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

Параметр Тип данных Описание
access_token string Авторизационный токен
token_type string Тип токена
expires_in integer Время жизни токена (сек)

Примеры

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

cURL
Python - Requests
C# - RestCharp
PHP - cURL
Test Method
curl --location --request POST 'https://api.apec-uae.com/token' \
--header 'Content-Type: text/plain' \
--data-raw 'username=test&password=test&grant_type=password'
import requests

url = "https://api.apec-uae.com/token"

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

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

print(response.text)
var client = new RestClient("https://api.apec-uae.com/token");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "text/plain");
var body = @"username=test&password=test&grant_type=password";
request.AddParameter("text/plain", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apec-uae.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=test&password=test&grant_type=password',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: text/plain'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

						

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

{
    "access_token": "Xdc5LWL4PTDdYzrKMenu_rt1aErVcj__nzxf-bt1FKy1DAdkdsF8wH3NlvqDBEzE0soFBC9b-pAB3RAnsBE3MrTeDTOK6FcKWzzp9e8xihv7vEIIGOvKQ1TbXsW7m1wAxq1NEN0ybheo",
    "token_type": "bearer",
    "expires_in": 1209599
}

Проценка деталей

POST https://api.apec-uae.com/api/search

На входе список позиций для проценки (Артикул + Бренд) и ID способа доставки, на выходе список проценённых позиций (если все поля кроме ReqPN, ReqBrand и SupplierID заполнены null-значениями это означает что запрашиваемся деталь не найдена). Максимальное кол-во позиций для единоразовой проценки = 1000!

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

Для получения ID способа доставки см. метод /api/getdeliverypoints

Также в данном методе необходимо передавать HTTP-заголовок: 'Content-Type: application/json'

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

Параметр Тип данных Способ передачи Описание
PartRequest* array[] (body) Cписок позиций для проценки
deliveryPointID integer (query) ID способа доставки (по умолчанию 0)

PartRequest

Параметр Тип данных Способ передачи Описание
PartNumber* string (body) Номер детали
Brand* string (body) Бренд

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

Array[]

Параметр Тип данных Описание
ReqPN string Запрошенная деталь
ReqBrand string Запрошенный бренд
MinOrderQty integer Минимальное кол-во для заказа
Price number Цена
DeliveryDaysMin integer Минимальный срок поставки
DeliveryDaysMax integer Максимальный срок поставки
Qty integer Количество, доступное к заказу на складе поставщика (0 - нет информации)
Name string Описание детали
WeightPhysical number Физ. вес, кг
Brand string Бренд
PartNumber string Номер детали
SupplierID integer Код поставщика

Примеры

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

cURL
Python - Requests
C# - RestCharp
PHP - cURL
curl --location --request POST 'https://api.apec-uae.com/api/search' \
--header 'Authorization: Bearer IomMbXq8W5JkAJOo3zZOEndNGooDh0yeq81Xdc5LWL4PTDdYzrKMenu_rt1aErVcj__nzxf-bt1FKy1DAdkdsF8wH3NlvqDBEzE0soFBC9b-pAB3RAnsBE3MrTeDTOK6FcKWzzp9e8xihv7vEIIGOvKQ1TbXsW7m1wAxq1NEN0ybheo' \
--header 'Content-Type: application/json' \
--data-raw '[
  {
    "PartNumber": "ik16",
    "Brand": "denso"
  },
  {
    "PartNumber": "1010",
    "Brand": "denso"
  }
]'
import requests
import json

url = "https://api.apec-uae.com/api/search"

payload = json.dumps([
  {
    "PartNumber": "ik16",
    "Brand": "denso"
  },
  {
    "PartNumber": "1010",
    "Brand": "denso"
  }
])
headers = {
  'Authorization': 'Bearer oDh0yeq81Xdc5LWL4PTDdYzrKMenu_rt1aErVcj__nzxf-bt1FKy1DAdkdsF8wH3NlvqDBEzE0soFBC9b-pAB3RAnsBE3MrTeDTOK6FcKWzzp9e8xihv7vEIIGOvKQ1TbXsW7m1wAxq1NEN0ybheo',
  'Content-Type': 'application/json'
}

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

print(response.text)
var client = new RestClient("https://api.apec-uae.com/api/search?deliveryPointID=2");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q");
request.AddHeader("Content-Type", "application/json");
var body = @"[
" + "\n" +
@"  {
" + "\n" +
@"    ""PartNumber"": ""ik16"",
" + "\n" +
@"    ""Brand"": ""denso""
" + "\n" +
@"  },
" + "\n" +
@"  {
" + "\n" +
@"    ""PartNumber"": ""1010"",
" + "\n" +
@"    ""Brand"": ""denso""
" + "\n" +
@"  }
" + "\n" +
@"]";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apec-uae.com/api/search?deliveryPointID=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 => 'POST',
  CURLOPT_POSTFIELDS =>'[
  {
    "PartNumber": "ik16",
    "Brand": "denso"
  },
  {
    "PartNumber": "1010",
    "Brand": "denso"
  }
]',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

[
    {
        "ReqPN": "ik16",
        "ReqBrand": "denso",
        "MinOrderQty": 1,
        "Price": 5.4000,
        "DeliveryDaysMin": 31,
        "DeliveryDaysMax": 46,
        "Qty": 25,
        "Name": "SPARK PLUG",
        "WeightPhysical": 0.057,
        "Brand": "DENSO",
        "PartNumber": "IK16",
        "SupplierID": 9553
    },
    {
        "ReqPN": "ik16",
        "ReqBrand": "denso",
        "MinOrderQty": 1,
        "Price": 7.6600,
        "DeliveryDaysMin": 13,
        "DeliveryDaysMax": 15,
        "Qty": 629,
        "Name": "SPARK PLUG",
        "WeightPhysical": 0.057,
        "Brand": "DENSO",
        "PartNumber": "IK16",
        "SupplierID": 9064
    }
]

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

GET https://api.apec-uae.com/api/search/{pn}/brands

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

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

Для получения ID способа доставки см. метод /api/getdeliverypoints

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

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

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

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

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

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

Array[]

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

Примеры

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

cURL
Python - Requests
C# - RestCharp
PHP - cURL
curl --location --request GET 'https://api.apec-uae.com/api/search/1010/brands?analogues=true' \
--header 'Authorization: Bearer WBE3MrTeDTOK6FcKWzzp9e8xihv7vEIIGOvKQ1TbXsW7m1wAxq1NEN0ybheo'
import requests

url = "https://api.apec-uae.com/api/search/1010/brands?analogues=true"

payload={}
headers = {
  'Authorization': 'Bearer WfbezHVcj__nzxf-bt1FKy1DAdkdsF8wH3NlvqDBEzE0soFBC9b-pAB3RAnsBE3MrTeDTOK6FcKWzzp9e8xihv7vEIIGOvKQ1TbXsW7m1wAxq1NEN0ybheo'
}

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

print(response.text)
var client = new RestClient("https://api.apec-uae.com/api/search/ik16/brands?deliveryPointID=1&analogues=true");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apec-uae.com/api/search/ik16/brands?deliveryPointID=1&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 znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

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

[
    {
        "Brand": "ABS",
        "Description": "Sparepart"
    },
    {
        "Brand": "FEBI",
        "Description": "Sparepart"
    }
]

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

GET https://api.apec-uae.com/api/search/{pn}/brand/{brand}

Метод позволяет получить список запчастей по переданным параметрам: Артикул + Бренд + искать ли аналоги

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

Для получения ID способа доставки см. метод /api/getdeliverypoints

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

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

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

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

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

deliveryPointID integer (query) ID способа доставки (по умолчанию 0)

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

Array[]

Параметр Тип данных Описание
PartName string Описание артикула
DeliveryDaysMin integer Минимальный срок поставки
DeliveryDaysMax integer Максимальный срок поставки
QtyInStock integer Количество, доступное к заказу на складе поставщика (0 - В наличии на складе поставщика)
MinOrderQty integer Минимальное количество для заказа
Price number Цена
Brand string Бренд
PartNumber string Номер детали
SupplierID integer Код поставщика

Примеры

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

cURL
Python - Requests
C# - RestCharp
PHP - cURL
curl --location --request GET 'https://api.apec-uae.com/api/search/ik16/brand/denso?deliverypointID=1&analogues=false' \
--header 'Authorization: Bearer 48oHTM9kKVYDGCX3pqVolQC28JxkriyzAtPWHo3zNkzRZbRhiISQBJoAHnMN4vq1-TEgkntQVDWFfH0NjANqNwQ8HWAgWMGlvL-0g8XWEBNXlVRkAcgbRH4bTpSv-9AaCCPfK8aX_CNxsd6tdEA'
import requests

url = "https://api.apec-uae.com/api/search/ik16/brand/denso?deliverypointID=1&analogues=false"

payload={}
headers = {
  'Authorization': 'Bearer 48oHTM9kKVYDGCX3pqVolQC28JxkriyzAtPWHo3zNkzRZbRhiISQBJoAHnMHAZc_CadbhKtPNwMtzkPFz_gDEWdyxTEnxxX-k35HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA'
}

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

print(response.text)
var client = new RestClient("https://api.apec-uae.com/api/search/ik16/brand/denso?analogues=false&deliveryPointID=1");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apec-uae.com/api/search/ik16/brand/denso?analogues=false&deliveryPointID=1',
  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 znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

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

[
    {
        "PartName": "SPARK PLUG",
        "DeliveryDaysMin": 40,
        "DeliveryDaysMax": 55,
        "QtyInStock": 25,
        "MinOrderQty": 1,
        "Price": 5.8300,
        "Brand": "DENSO",
        "PartNumber": "IK16",
        "SupplierID": 9553
    },
    {
        "PartName": "SPARK PLUG",
        "DeliveryDaysMin": 22,
        "DeliveryDaysMax": 24,
        "QtyInStock": 629,
        "MinOrderQty": 1,
        "Price": 8.0900,
        "Brand": "DENSO",
        "PartNumber": "IK16",
        "SupplierID": 9064
    },
    {
        "PartName": "SPARK PLUG",
        "DeliveryDaysMin": 18,
        "DeliveryDaysMax": 20,
        "QtyInStock": 520,
        "MinOrderQty": 1,
        "Price": 8.0900,
        "Brand": "DENSO",
        "PartNumber": "IK16",
        "SupplierID": 9068
    }
]

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

POST https://api.apec-uae.com/api/order

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

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

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

Для получения ID способа доставки см. метод /api/getdeliverypoints

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

Параметр Тип данных Способ передачи Описание
CustOrderNum string (body) Клиентский номер заказа
OrderNotes string (body) Примечание к заказу
ValidationType* integer (body)

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

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

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

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

IsTest* boolean (body)

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

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

OrderHeadLines* array[] (body) Строки заказа
GroupRefs string (body) Список групповых рефок через разделитель ;
DeliveryPointID integer (body) ID способа доставки (по умолчанию 0)

OrderHeadLines

Параметр Тип данных Способ передачи Описание
Count* integer (body) Количество
Price number (body) Цена
Reference string (body) Код позиции
ReactionByCount integer (body)

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

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

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

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

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

ReactionByPrice integer (body)

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

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

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

StrictlyThisNumber boolean (body) Строго этот номер (замены неприемлемы)
ReferenceGroup string (body) Групповой референс
Brand* string (body) Бренд
PartNumber* string (body) Номер детали
SupplierID* integer (body) Код поставщика

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

Параметр Тип данных Описание
OrderID integer ID заказа
Status integer

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

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

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

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

Total number Сумма заказа
OrderPlacedLines array[] Строки заказа

OrderPlacedLines

Параметр Тип данных Описание
CountOrder integer Количество запрошенное клиентом
CountPlaced integer Количество размещённое в заказе
PriceOrder number Цена запрошенная клиентом
PricePlaced number Цена размещённая в заказе
Status integer

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

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

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

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

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

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

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

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

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

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

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

Reference string Код позиции
Brand string Бренд
PartNumber string Номер детали
SupplierID integer Код поставщика

Примеры

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

cURL
Python - Requests
C# - RestCharp
PHP - cURL
curl --location --request POST 'https://api.apec-uae.com/api/order' \
--header 'Authorization: Bearer 48oHTM9kKVYDGCX3pqVolQC28JxkOkbTZyntVWAUaQHAZc_CadbhKtPNwMtzkPFz_gDEWdyxTEnxxX-k35HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA' \
--header 'Content-Type: application/json' \
--data-raw '{
    "CustOrderNum": "123456",
    "OrderNotes": "Какой то комментарий",
    "ValidationType": 1,
    "IsTest": true,
    "OrderHeadLines": [
        {
            "Count": 1,
            "Price": 6.5,
            "Reference": "!!!ТЕСТОВЫЙ API DP: 1!!!",
            "ReactionByCount": 0,
            "ReactionByPrice": 0,
            "StrictlyThisNumber": true,
            "Brand": "DENSO",
            "PartNumber": "IK16",
            "SupplierID": 9553
        }
    ],
    "DeliveryPointID": 1
}'
import requests
import json

url = "https://api.apec-uae.com/api/order"

payload = json.dumps({
  "CustOrderNum": "123456",
  "OrderNotes": "Какой то комментарий",
  "ValidationType": 1,
  "IsTest": True,
  "OrderHeadLines": [
    {
      "Count": 1,
      "Price": 6.5,
      "Reference": "!!!ТЕСТОВЫЙ API DP: 1!!!",
      "ReactionByCount": 0,
      "ReactionByPrice": 0,
      "StrictlyThisNumber": True,
      "Brand": "DENSO",
      "PartNumber": "IK16",
      "SupplierID": 9553
    }
  ],
  "DeliveryPointID": 1
})
headers = {
  'Authorization': 'Bearer 48oHTM9kKVYDGCX3pqVolQC28JxkriyzAtPWAUaQHAZc_CadbhKtPNwMtzkPFz_gDEWdyxTEnxxX-k35HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA',
  'Content-Type': 'application/json'
}

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

print(response.text)
var client = new RestClient("https://api.apec-uae.com/api/order");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q");
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@"    ""CustOrderNum"": ""!!!ТЕСТОВЫЙ API!!!"",
" + "\n" +
@"    ""OrderNotes"": ""!!!ТЕСТОВЫЙ API!!!"",
" + "\n" +
@"    ""ValidationType"": 1,
" + "\n" +
@"    ""IsTest"": true,
" + "\n" +
@"    ""OrderHeadLines"": [
" + "\n" +
@"        {
" + "\n" +
@"            
" + "\n" +
@"            ""Count"": 1,
" + "\n" +
@"            ""Price"": 6.5,
" + "\n" +
@"            ""Reference"": ""!!!ТЕСТОВЫЙ API DP: 1!!!"",
" + "\n" +
@"            ""ReactionByCount"": 0,
" + "\n" +
@"            ""ReactionByPrice"": 0,
" + "\n" +
@"            ""StrictlyThisNumber"": true,
" + "\n" +
@"            ""Brand"": ""DENSO"",
" + "\n" +
@"            ""PartNumber"": ""IK16"",
" + "\n" +
@"            ""SupplierID"": 9553
" + "\n" +
@"        }
" + "\n" +
@"    ],
" + "\n" +
@"    ""DeliveryPointID"": 0
" + "\n" +
@"}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apec-uae.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": "!!!ТЕСТОВЫЙ API!!!",
    "OrderNotes": "!!!ТЕСТОВЫЙ API!!!",
    "ValidationType": 1,
    "IsTest": true,
    "OrderHeadLines": [
        {
            
            "Count": 1,
            "Price": 6.5,
            "Reference": "!!!ТЕСТОВЫЙ API DP: 1!!!",
            "ReactionByCount": 0,
            "ReactionByPrice": 0,
            "StrictlyThisNumber": true,
            "Brand": "DENSO",
            "PartNumber": "IK16",
            "SupplierID": 9553
        }
    ],
    "DeliveryPointID": 0
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

{
    "OrderId": 84804,
    "Status": 0,
    "Total": 5.8300,
    "OrderPlacedLines": [
        {
            "CountOrder": 1,
            "CountPlaced": 1,
            "PriceOrder": 6.5,
            "PricePlaced": 5.8300,
            "Status": 0,
            "Reference": "!!!ТЕСТОВЫЙ API DP: 1!!!",
            "Brand": "DENSO",
            "PartNumber": "IK16",
            "SupplierID": 9553
        }
    ]
}

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

GET https://api.apec-uae.com/api/status/{orderID}

Для получения статуса конкретной строки см. поле CurrentStatus объекта OrderLines

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

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

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

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

Параметр Тип данных Описание
OrderID integer ID заказа
CustOrderNum string Клиентский номер заказа
OrderDate string Дата размещения заказа
CompletedDate string Дата завершения заказа
Status integer

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

1 - Новый

2 - В работе

3 - Завершён

Total number Сумма заказа
OrderLines array[] Строки заказа

OrderLines

Параметр Тип данных Описание
PartName string Описание артикула
Qty integer Заказанное количество
Price number Цена
ReferenceID string Код позиции
ReferenceGroup string Групповой референс
CurrentStatus integer

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

10, 240 - new order (Новый заказ)

40 - the order is accepted (Заказ принят)

50 - sent to the supplier (Отправлен поставщику)

70 - quantity change (Изменение количества)

80 - delay (Задержка)

90 - superseded part (Переход номера)

100 - price change (Изменение цены)

120 - in stock (Поступил на склад)

140 - ready for dispatch (Готово к выдаче)

160 - received by the customer (Получен клиентом)

180 - delivery is impossible (Поставка невозможна)

190 - dispatch is impossible temporarily (Выдача невозможна)

200 - canceled by the customer (Отказ клиента)

Brand string Бренд
PartNumber string Номер детали
SupplierID integer Код поставщика

Примеры

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

cURL
Python - Requests
C# - RestCharp
PHP - cURL
curl --location --request GET 'https://api.apec-uae.com/api/status/84804' \
--header 'Authorization: Bearer 48oHTM9kKVDHOkbTZyntVWAUaQHAZc_CadbhKtPNwMtzkPFz_gDEWdyxTEnxxX-k35HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA'
import requests

url = "https://api.apec-uae.com/api/status/84804"

payload={}
headers = {
  'Authorization': 'Bearer 48oHTM9kKVYDGCX3pqVolQC28JxkriyzAtPWHo3zNkzRZbRhiISQBJoAHnMN4vq1-TEUaQHAZc_CadbhKtPNwMtzkPFz_gDEWdyxTEnxxX-k35HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA'
}

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

print(response.text)
var client = new RestClient("https://api.apec-uae.com/api/status/84884");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apec-uae.com/api/status/84884',
  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 znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

{
    "OrderID": 84804,
    "CustOrderNum": "123456",
    "OrderDate": "2021-11-22T14:58:34.043",
    "CompletedDate": "0001-01-01T00:00:00",
    "Status": 1,
    "Total": 5.83,
    "OrderLines": [
        {
            "PartName": "SPARK PLUG",
            "Qty": 1,
            "Price": 5.83,
            "ReferenceID": "!!!ТЕСТОВЫЙ API DP: 1!!!",
            "ReferenceGroup": null,
            "CurrentStatus": 240,
            "Brand": "DENSO",
            "PartNumber": "IK16",
            "SupplierID": 9553
        }
    ]
}

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

GET https://api.apec-uae.com/api/getorders/{isActive}/{limit}

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

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

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

Параметр Тип данных Способ передачи Описание
isActive* bool (path)

Вернуть:

true - только активные заказы

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

limit* integer (path) Количество заказов, которые нужно вернуть. Допускается любое значение от 1 до 1000. По умолчанию 100.

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

Order[]

Параметр Тип данных Описание
OrderID integer ID заказа
CustOrderNum string Клиентский номер заказа
OrderDate string Дата размещения заказа
CompletedDate string Дата завершения заказа
Status integer

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

1 - Новый

2 - В работе

3 - Завершён

Total number Сумма заказа
OrderLineInfo array[] Строки заказа

OrderLineInfo[]

Параметр Тип данных Описание
PartName string Описание артикула
Qty integer Заказанное количество
Price number Цена
ReferenceID string Код позиции
ReferenceGroup string Групповой референс
CurrentStatus integer

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

10, 240 - new order (Новый заказ)

40 - the order is accepted (Заказ принят)

50 - sent to the supplier (Отправлен поставщику)

70 - quantity change (Изменение количества)

80 - delay (Задержка)

90 - superseded part (Переход номера)

100 - price change (Изменение цены)

120 - in stock (Поступил на склад)

140 - ready for dispatch (Готово к выдаче)

160 - received by the customer (Получен клиентом)

180 - delivery is impossible (Поставка невозможна)

190 - dispatch is impossible temporarily (Выдача невозможна)

200 - canceled by the customer (Отказ клиента)

Brand string Бренд
PartNumber string Номер детали
SupplierID integer Код поставщика

Примеры

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

cURL
Python - Requests
C# - RestCharp
PHP - cURL
curl --location --request GET 'https://api.apec-uae.com/api/getorders?isActive=true&limit=3' \
    --header 'Authorization: Bearer 48oHTM9kKVYDGCX3pqVolZyntVWAUaQHAZc_CadbhKtPNwMtzkPFz_gDEWdyxTEnxxX-k35HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA'
import requests

url = "https://api.apec-uae.com/api/getorders?isActive=true&limit=3"

payload={}
headers = {
  'Authorization': 'Bearer 48oHTM9kKVYDGCX3pqVolQC28JxkriyzAtPWHo3zNkzRZbRhiISQBJoAHnMN4vq1-TEgkntQVDWFfH0NjANqNwQ8HWAgWMGlvL-0g8XWEBNXlVRkAcgbRH4bTpSvhW9RY2nHbaJPKVyI0MVShwc9kTso-MLrV0FORDkaAeU-a-8fjfOKX8BDHOkbTZyntVWAUaQHAZc_CadbhKtPNwMtzkPFz_gDEWdyxTEnxxX-k35HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA'
}

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

print(response.text)
var client = new RestClient("https://api.apec-uae.com/api/getorders/false/3");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apec-uae.com/api/getorders/false/3',
  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 znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

[
    {
        "OrderID": 84804,
        "CustOrderNum": "123456",
        "OrderDate": "2021-11-22T14:58:34.043",
        "CompletedDate": "0001-01-01T00:00:00",
        "Status": 1,
        "Total": 5.83,
        "OrderLines": [
            {
                "PartName": "SPARK PLUG",
                "Qty": 1,
                "Price": 5.83,
                "ReferenceID": "!!!ТЕСТОВЫЙ API DP: 1!!!",
                "ReferenceGroup": null,
                "CurrentStatus": 240,
                "Brand": "DENSO",
                "PartNumber": "IK16",
                "SupplierID": 9553
            }
        ]
    },
    {
        "OrderID": 84799,
        "CustOrderNum": "123456",
        "OrderDate": "2021-11-22T14:12:15.9",
        "CompletedDate": "0001-01-01T00:00:00",
        "Status": 1,
        "Total": 5.83,
        "OrderLines": [
            {
                "PartName": "SPARK PLUG",
                "Qty": 1,
                "Price": 5.83,
                "ReferenceID": "!!!ТЕСТОВЫЙ API DP: 1!!!",
                "ReferenceGroup": null,
                "CurrentStatus": 240,
                "Brand": "DENSO",
                "PartNumber": "IK16",
                "SupplierID": 9553
            }
        ]
    }
]

Способы доставки

GET https://api.apec-uae.com/api/getdeliverypoints

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

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

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

Array[]

Параметр Тип данных Описание
DeliveryPointID integer ID способа доставки
DeliveryPointName string Название способа доставки

Примеры

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

cURL
Python - Requests
C# - RestCharp
PHP - cURL
curl --location --request GET 'https://api.apec-uae.com/api/getdeliverypoints' \
--header 'Authorization: Bearer 48oHTM9kKVYDGCX3pqVolQC28J5HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA'
import requests

url = "https://api.apec-uae.com/api/getdeliverypoints"

payload={}
headers = {
  'Authorization': 'Bearer 48oHTM9kKVYDGCX3pqVolQC28JxkriyzAtPWHo3zNkzRZbRhic_CadbhKtPNwMtzkPFz_gDEWdyxTEnxxX-k35HpsFn0LgyD0SBW_vtQcoT3fFGJCq3XyAJSvM904Dz-9AaCCPfK8aX_CNxsd6tdEA'
}

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

print(response.text)
var client = new RestClient("https://api.apec-uae.com/api/getdeliverypoints");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apec-uae.com/api/getdeliverypoints',
  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 znDA17Xj3j1Wa-xbwWWh40IyxfvEOmNBsqPc1qShYd77MeeErI19j9aKOXHuRlBfo7m6O97Do6BGmnOvTc4ALDGAhd6e2_3IlFiIpcMP80b2idlugGQudzKmqQbscpnzx-8mDUhEE_gD8pJ-BoOMNdHIXhFzZkgi53nQYeawHLTi3gE71HWPmuIGGjCex1WyQNsEKMI8nhQT4VecsTZ83n7_1gd3byMWWi-l5Gwr7T94wz00YV2gYPyBd2MmEqpkiUfsmjOtUZJXJGOurIWI54fR6MOMqFCOthZfmUkEq-Q'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

[
    {
        "DeliveryPointID": 0,
        "DeliveryPointName": "EXW Dubai"
    },
    {
        "DeliveryPointID": 1,
        "DeliveryPointName": "AIR Moscow"
    },
    {
        "DeliveryPointID": 2,
        "DeliveryPointName": "AIR Novosibirsk"
    },
    {
        "DeliveryPointID": 3,
        "DeliveryPointName": "AIR Kiev"
    },
    {
        "DeliveryPointID": 4,
        "DeliveryPointName": "AIR Almaty"
    },
    {
        "DeliveryPointID": 5,
        "DeliveryPointName": "AIR Bishkek"
    }
]

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