QUINCE API. Замовлення

Список методів

/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.

Методи підтримують два режими:

  1. Якщо в запиті вказати ознаку “strict” = true , то поля, які представляють собою посилання на довідники (наприклад, товар, партнер та ін), мають передавати ідентифікатори сутностей системи Quincefin. Значення “Store” та “Company” беруться з налаштувань за замовчуванням адміністратора.

Параметри запиту додавання:

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** - Відсоток знижки

Результат запиту:

Метод повертає об’єкт з наступними полями:

successtrue или 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
                }
            ]
        }
    ]
}
  1. Якщо “strict” = false , то замість Id потрібно передавати поля (назва, артикул, тощо) за якими буде відбуватись пошук елементу довідника. В системі Quincefin знайдений за назвою елемент довідника буде прив’язаний до замовлення. В іншому випадку автоматично створений. Значення “Store” та “Company” беруться з налаштувань за замовчуванням адміністратора.

Особливості режиму:

  • Поле “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
Email
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* - Відсоток знижки
    • обо’язкове поле

Результат запиту:

Метод повертає об’єкт з наступними полями:

successtrue или 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"
        },
        ...
    ]
}