| /order/list | Отримання списку замовлень |
| /order/add | Створення нового замовлення |
| /order/update | Внесення змін до замовлення |
Назва методу: /order/list
Повертає список замовлень. Для навігації використовується номер сторінки (page).
Розмір сторінки фіксований і дорівнює 100 елементам.
| filter Тип: object | Доступні поля для фільтрації (Фільтр завжди використовує логіку “AND“): |
| Id - ідентифікатор замовлення. Необов'язковий параметр | |
| DateFrom - дата, починаючи з якої повертати замовлення. Обов'язковий параметр | |
| DateTo - дата по яку повертати замовлення. Обов'язковий параметр | |
| DateModifiedFrom - дата, З якої були зміни у замовленні | |
| DateModifiedTo - дата, ДО якої були зміни у замовленні | |
| Company - ідентифікатор компанії, за якою отримуються замовлення. Необов'язковий параметр | |
| Status - масив Id статусів замовлення | |
| page Тип: integer (необов'язковий) | Якщо в запиті не передати, за замовчуванням буде встановлена перша сторінка. |
Якщо в запиті фільтр відсутній, то повертається список замовлень у порядку зростання Id.
Значення полів замовлень, що повертаються методом:
| Id | Ідентифікатор замовлення |
| Date | Дата замовлення (string) |
| DateCreated | Дата створення (string) |
| DateModified | Дата останнього редагування (string) |
| UserCreated | Користувач, що створив документ. Об'єкт з полями "Id" та "PersonName" |
| UserModified | Користувач, який останнім редагував документ. Об'єкт з полями "Id" та "PersonName" |
| Number | Номер (string) |
| NumberOrderSite | Зовнішній номер (string) |
| Sum | Сума замовлення (decimal) |
| StoresInRows | Вказує на наявність складів у табличній частині (boolean) |
| VatInclude | Суми включають ПДВ (boolean) |
| SumVat | Сума ПДВ (decimal) |
| SumWithoutVat | Сума без ПДВ (decimal) |
| Comment | Коментар (string(500)) |
| ExtraComment | Розширений коментар (string(4000)) |
| DeliveryAddress | Адреса доставки (string) |
| DateScheduleShipment | Дата доставки (string) |
| Fixed | Ознака публікації документа |
| Partner | Об'єкт з полями "Id" та "Name" |
| Store | Об'єкт з полями "Id" та "Name" |
| Status | Об'єкт з полями "Id" та "Name" |
| Company | Об'єкт з полями "Id" та "Name" |
| Contract | Об'єкт з полями "Id" та "Name" |
| PriceType | Об'єкт з полями "Id" та "Name" |
| DiscountType | Об'єкт з полями "Id" та "Name" |
| Responsible | Відповідальний за замовлення. Об'єкт з полями "Id" та "PersonName" |
| BankAccount | Об'єкт з полями "Id", "Name", код валюти та IBAN код |
| Rows | Товарні позиції. Об'єкт з наступними полями: |
| Id - Ідентифікатор позиції | |
| RowNo - Номер рядка | |
| Product - Ідентифікатор товару | |
| Price - Ціна | |
| Qty - Кількість | |
| Sum - Сума | |
| SumVat - СумаПДВ | |
| PriceWithoutDiscount - Ціна без знижки | |
| PercentDiscount - Відсоток знижки | |
| Kind - Вид. Приймає значення "P" або "S" (товар або послуга) |
Запит:
{
"filter": {
"DateFrom": "2026-03-01",
"DateTo": "2026-03-11",
"Status": [111, 192]
},
"page": 1
}
Результат:
{
"success": true,
"data": [
{
"Id": 8027,
"NumberOrderSite": "2",
"Date": "2022-07-01T00:00:00Z",
"Number": 1,
"DeliveryAddress": "Осіння 105, Дніпро, 15151",
"DateScheduleShipment": null,
"Sum": 3278.90,
"StoresInRows": false,
"Fixed": false,
"Void": false,
"Partner": {
"Id": 53869,
"Name": "Buyer"
},
"Store": {
"Id": 346,
"Name": "Store_5"
},
"Status": {
"Id": 1173,
"Name": "Новий"
},
"Company": {
"Id": 298,
"Name": "Наше підприємство"
},
"Contract": {
"Id": 54066,
"Name": "Основний контракт (грн)"
},
"PriceType": {
"Id": 335,
"Name": "Ціна продажу"
},
"DiscountType": {},
"Responsible": {
"Id": 898,
"PersonName": "ivan"
},
"BankAccount": {
"Id": 214,
"Name": "Bank #1",
"Currency": 980,
"IBAN": "1234567890"
},
"Rows": [
{
"Id": 15705,
"RowNo": 4,
"Product": 89274,
"Price": 324.940000,
"Qty": 1.000000,
"Sum": 324.94,
"PriceWithoutDiscount": 324.940000,
"PercentDiscount": 0.00,
"Kind": "P",
"Store": {
"Id": null,
"Name": null
}
},
...
]
},
...
]
}
Метод створення замовлення: /api/v2/order/add
Метод оновлення замовлення: /api/v2/order/update
Методи додають або оновлюють замовлення. Максимальна кількість замовлень в одному пакеті - 100.
Методи підтримують два режими:
| array Тип: масив (Обов'язковий) | Кожне замовленння в масиві являє собою об'єкт з переліком полів. Доступні поля: |
| NumberOrderSite | Номер замовлення зовнішьої системи |
| Date | Дата замовлення. Фортмат: yyyy-mm-dd |
| Sum | Загальна сумма |
| Comment | Коментар |
| DeliveryAddress | Адреса доставки |
| DateScheduleShipment | Запланована дата доставки. Фортмат: yyyy-mm-dd |
| Partner | Ідентифікатор партнера |
| Contract | Ідентифікатор контракту |
| Status | Ідентифікатор статусу замовлення |
| PriceType | Ідентифікатор типу ціни |
| DiscountType | Ідентифікатор типу скидки |
| PaymentOption | Ідентифікатор типу варіанту оплати |
| ShippingOption | Ідентифікатор типу варіанту відвантаження |
| **InformationSource ** | Ідентифікатор джерела інформації |
| Responsible | Ідентифікатор користувача |
| Company | Ідентифікатор компанії |
| BankAccount | Ідентифікатор банківського рахунку |
| Rows | Товарні позиції. Об'єкт з наступними полями: |
| Product - Ідентифікатор товару | |
| Price - Ціна | |
| Qty - Кількість | |
| Sum - Сума | |
| ** PriceWithoutDiscount** - Ціна без знижки | |
| ** PercentDiscount** - Відсоток знижки |
Метод повертає об'єкт з наступними полями:
| success | true или false |
| data | Масив ідентифікаторів створених замовлень |
| error | Зміст помилки (вказується, якщо success = false) |
Приклад запиту додавання ("strict" = true):
{
"strict": true,
"array": [
{
"Comment": "Comment",
"Date": "2022-07-20",
"Sum": 1000,
"Partner": 53869,
"Status": 1397,
"Contract": 54065,
"PriceType": 610,
"Responsible": 898,
"Company": 112,
"BankAccount": 214,
"Rows": [
{
"Product": 89272,
"Price": 6.67,
"PriceWithoutDiscount": 6.67,
"Qty": 2,
"Sum": 1.2,
"PercentDiscount": 50,
"RowNo": 1
}
]
}
]
}
Результат:
{
"success": true,
"data": [
{
"Id": 12617
}
]
}
Приклад запиту оновлення ("strict" = true)
Якщо в масиві Rows вказати Id товарної позиції, то рядок буде оновлений. Якщо не вказати Id, рядок буде доданий до замовлення.
{
"strict": true,
"array": [
{
"Id": 225,
"Comment": "Comment_2",
"Partner": 111,
"Contract": 151,
"Responsible": 100,
"Rows": [
{
"Id": 244,
"RowNo": 2
}
]
}
]
}
Особливості режиму:
Поле "NumberOrderSite" є обов'язковим. По ньому виконується пошук замовлення при оновленні документа, тому необхідно забезпечити унікальність значення цього поля.
При оновленні поля "Partner" необхідно передавати також "Contract". Та навпаки - при оновленні "Contract" необхідно передавати "Partner".
Поле "Name" об'єкта "Partner" використовується для пошуку існуючого партнера в довіднику партнерів. Якщо потрібно виконувати пошук за поштою або телефоном, в тілі запиту потрібно вказати ключ "search-partner-by" і одне зі значень {Name | Email | Phone}. Якщо ключ "search-partner-by" не вказаний, пошук буде виконуватись за назвою.
Оновлення товарних позицій не підтримується (для цього можна використовувати режим strict = true)
Відповідальним за замовлення автоматично призначається головний користувач - адміністратор.
Пошук товару в системі відбувається спочатку по артикулу, якщо присутній, потім за назвою.
Для полів "Company" та "BankAccount" потрібно передавати об'єкт з Id компанії та банківського рахунку.
| array Тип: масив (Обов'язковий) | Кожне замовленння в масиві являє собою об'єкт з переліком полів. Доступні поля: |
| NumberOrderSite* | Номер замовлення зовнішьої системи |
| Sum* | Загальна сумма |
| Date* | Дата замовлення. Фортмат: yyyy-mm-dd |
| Comment | Коментар |
| DeliveryAddress | Адреса доставки |
| DateScheduleShipment | Запланована дата доставки. Фортмат: yyyy-mm-dd |
| Partner* | Об'єкт з наступними полями: |
| Name* - Назва партнера. Пошук в системі за назвою. | |
| Phone | |
| Status* | Об'єкт з наступними полями: |
| Name* - Назва статусу. Пошук в системі за назвою. | |
| Contract* | Об'єкт з наступними полями: |
| Name* - Назва контракту. Пошук за назвою. | |
| Currency* - Код валюти | |
| PriceType* | Об'єкт з наступними полями: |
| Name* - Назва типу ціни. Пошук за назвою. | |
| Currency* - Код валюти | |
| DiscountType | Об'єкт з наступними полями: |
| Name* - Назва типу знижки. Пошук за назвою. | |
| Percent * - відсоток | |
| Company | Об'єкт з наступними полями: |
| Id - Ідентифікатор компанії. Пошук по Id. | |
| BankAccount | Об'єкт з наступними полями: |
| Id - Ідентифікатор банківського рахунку. Пошук по Id. | |
| Rows* | Товарні позиції. Об'єкт з наступними полями: |
| Product* - об'єкт з наступними полями: | |
| - Name* - Назва товару. Пошук за назвою. | |
| - Article - Артикул товару. Найвищий приорітет пошуку. | |
| - Unit* - Одиниця виміру | |
| - Kind* - Вид. Приймає значення "P" або "S" (товар або послуга) | |
| ** Price*** - Ціна | |
| ** Qty*** - Кількість | |
| ** Sum*** - Сума | |
| ** PriceWithoutDiscount*** - Ціна без знижки | |
| PercentDiscount* - Відсоток знижки |
Метод повертає об'єкт з наступними полями:
| success | true или false |
| data | Масив об'єктів, кожен з яких зберігає ідентифікатор створеного замовлення та номер замовлення зовнішьої системи, який передавався в запиті |
| error | Зміст помилки (вказується, якщо success = false) |
Приклад запиту додавання ("strict" = false):
{
"strict": false,
"search-partner-by": "Email",
"array": [
{
"NumberOrderSite": "api_order_5",
"Comment": "comment_134",
"Date": "2022-07-20",
"DeliveryAddress": "м. Дніпро, вул. Осіння 100",
"DateScheduleShipment": "2022-07-25",
"Sum": 6.66,
"Partner": {
"Name": "Partner_1",
"Phone": "0677255253",
"Email": "vanjuteam@gmail.com"
},
"Contract": {
"Name": "Contract_12",
"Currency": "USD"
},
"Status": {
"Name": "Виготовлено"
},
"PriceType": {
"Name": "Цена продажи",
"Currency": "UAH"
},
"DiscountType": {
"Name": "Discount_1",
"Percent": 20.2
},
"Company": {
"Id": 111
},
"BankAccount": {
"Id": 214
},
"Rows": [
{
"Product": {
"Name": "product_2",
"Article": "article_2",
"Unit": "шт",
"Kind": "P"
},
"Price": 6.67,
"PriceWithoutDiscount": 6.67,
"Qty": 2,
"Sum": 1.2,
"PercentDiscount": 50,
"RowNo": 1
},
...
]
},
...
]
}
Результат:
{
"success": true,
"data": [
{
"Id": 12641,
"NumberOrderSite": "api_order_5"
},
...
]
}
Приклад запиту оновлення ("strict" = false):
{
"strict": false,
"array": [
{
"NumberOrderSite": "api_order_5",
"Comment": "Сomment_12345",
"DeliveryAddress": "м. Дніпро, вул. Осіння 101",
"DateScheduleShipment": "2022-07-28",
"Status": {
"Name": "Виготовлено"
},
...
}
]
}
Результат:
{
"success": true,
"data": [
{
"Id": 12641,
"NumberOrderSite": "api_order_5"
},
...
]
}