Create BillListItemPack: відмінності між версіями
Перейти до навігації
Перейти до пошуку
Немає опису редагування |
Немає опису редагування |
||
| (Не показані 13 проміжних версій 2 користувачів) | |||
| Рядок 53: | Рядок 53: | ||
{ | { | ||
"OperType": 1, | "OperType": 1, | ||
"TarifItemID": | "TarifItemID": 11467, //ИД позиции из Get_TarifItem 3209125 | ||
"BillItemID": 1, | "BillItemID": 1, | ||
"ParentID": null, | "ParentID": null, | ||
| Рядок 62: | Рядок 62: | ||
{ | { | ||
"OperType": 1, | "OperType": 1, | ||
"TarifItemID": | "TarifItemID": 11467, //ИД позиции из Get_TarifItem 3209087 | ||
"BillItemID": 2, | "BillItemID": 2, | ||
"ParentID": null, | "ParentID": null, | ||
| Рядок 83: | Рядок 83: | ||
! scope="col"| Опис | ! scope="col"| Опис | ||
|- | |- | ||
| | | | ||
| SystemCode | | SystemCode | ||
| String [32] | | String [32] | ||
| Рядок 105: | Рядок 105: | ||
| Datetime | | Datetime | ||
| Дата закінчення надання послуг, допустиме значення NUL | | Дата закінчення надання послуг, допустиме значення NUL | ||
|- | |||
|<span style="color:#ff0000"><center>*</center></span> | |||
| IsPickup | |||
| Bool | |||
| true -Самовивіз; <br> false - звичайний рахунок. | |||
|- | |||
|<span style="color:#ff0000"><center>*</center></span> | |||
| KitchenID | |||
| int | |||
| Id кухні (використовується для доставки) | |||
|- | |- | ||
|<span style="color:#ff0000"><center>*</center></span> | |<span style="color:#ff0000"><center>*</center></span> | ||
| Рядок 136: | Рядок 146: | ||
| Компанія, допустиме значення NULL | | Компанія, допустиме значення NULL | ||
|- | |- | ||
| | | | ||
| Class | | Class | ||
| String [20] | | String [20] | ||
| Рядок 161: | Рядок 171: | ||
| Блокувати рахунок | | Блокувати рахунок | ||
|- | |- | ||
| | | | ||
| NumType | | NumType | ||
| Int | | Int | ||
| Рядок 181: | Рядок 191: | ||
| Вартість доставки ** | | Вартість доставки ** | ||
|- | |- | ||
| | | | ||
| Total | | Total | ||
| Decimal | | Decimal | ||
| Рядок 189: | Рядок 199: | ||
| Deposite | | Deposite | ||
| Decimal | | Decimal | ||
| Сума створеня рахунку передоплати | | Сума створеня рахунку передоплати{{якорь|Примітка4}} | ||
|- | |- | ||
| | | | ||
| Рядок 199: | Рядок 209: | ||
| PhoneNumber | | PhoneNumber | ||
| String | | String | ||
| Номер телефону | | Номер телефону (в форматі 380993332211) *Якщо використовується данний параметр ми перевіряєм чи є в нас такий клієнт з таким № телефону. Якщо є то привязуєм цього клієнта до рахунку аналогічно методу SetParamsBillDeliverySite Якщо даного № немає то ми створюєм нову персону й карту (номер телефону = номеру карти) | ||
|- | |||
| | |||
| DeliveryTimeType | |||
| Int | |||
| Використовується для доставки.<br> 0 - Якнайшвидше; <br>1 - На визначений час | |||
|- | |||
| | |||
| DeliveryDateTime | |||
| DateTime | |||
| Використовується для доставки. Дата та час в форматі "YYYY-MM-DD HH-MM-SS" приклад ("2025-08-25 17:35:00"). Працює лише з DeliveryTimeType = 1 | |||
|- | |- | ||
| | | | ||
| Рядок 391: | Рядок 411: | ||
!style="width:50%; background:#accae4;" scope="row" colspan="4"| **Необов'язковий параметр.Якщо він буде переданий, в рахунок буде доданий товар з налаштування з кількістю 1 і з ручною ціною, вказаний в CostOfDelivery і дорівнює значенню в полі вартість доставки | !style="width:50%; background:#accae4;" scope="row" colspan="4"| **Необов'язковий параметр.Якщо він буде переданий, в рахунок буде доданий товар з налаштування з кількістю 1 і з ручною ціною, вказаний в CostOfDelivery і дорівнює значенню в полі вартість доставки | ||
|- | |- | ||
!style="width:50%; background:#accae4;" scope="row" colspan="4"| ***Необов'язковий параметр. Якщо він буде переданий, до рахунку буде застосовано Total | !style="width:50%; background:#accae4;" scope="row" colspan="4"| ***Необов'язковий параметр. Якщо він буде переданий, до рахунку буде застосовано Total але для застосування ціни відмінної від прайсу має бути встановлений параметр IsManualPrice | ||
|- | |- | ||
!style="width:50%; background:#accae4;" scope="row" colspan="4"| | !style="width:50%; background:#accae4;" scope="row" colspan="4"| [[#Примітка4:]] Необов'язковий параметр. Створить рахунок передоплати. Якщо в налаштуваннях вказаний код оплати, рахунок буде закрито | ||
|- | |- | ||
|} | |} | ||
Поточна версія на 14:53, 25 серпня 2025
Створення рахунку, і додавання вмісту рахунку на декілька позицій, в тому числі управління складом позиції
Розділ містить методи, необхідні для створення рахунку і управлінням його вмістом
| Опис | Створення рахунку. |
|---|---|
| Метод | POST |
| URL | /POSExternal/Create_BillListItemPack |
| Request Headers | |
|---|---|
| KEY | VALUE |
| Content-Type | application/json |
| AccessToken | |
| Body raw (json) |
|---|
{
"SystemCode": "123",
"BillType": 1,
// "FirstDate": null,
// "LastDate": null,
// "UserName": null,
// "CompanyName": "TestCompany",
// "Class": "3", //string[20] доп.поле идентификации устройства
// "Description": "",
// "Locked": false,
// "NumType": 0,
// "GuestCount": 0,
// "CostOfDelivery": 0,
"Items": [
{
"OperType": 1,
"TarifItemID": 11467, //ИД позиции из Get_TarifItem 3209125
"BillItemID": 1,
"ParentID": null,
"Quantity": 3,
"Price": null,
"ModifierID": null
},
{
"OperType": 1,
"TarifItemID": 11467, //ИД позиции из Get_TarifItem 3209087
"BillItemID": 2,
"ParentID": null,
"Quantity": 1,
"Price": null,
"ModifierID": null
}
]
}
| Типи даних Body | |||
|---|---|---|---|
| * | Параметр | Тип | Опис |
| SystemCode | String [32] | Код системи | |
| BillType | Int | Тип рахунку:
1 – звичайний рахунок; | |
| FirstDate | Datetime | Дата початку надання послуг, допустиме значення NULL | |
| LastDate | Datetime | Дата закінчення надання послуг, допустиме значення NUL | |
| IsPickup | Bool | true -Самовивіз; false - звичайний рахунок. | |
| KitchenID | int | Id кухні (використовується для доставки) | |
| UserName | String [64] | Користувач що створив рахунок, допустиме значення NULL | |
| PlaceCode | String [32] | Код місця надання послуги (обов'язковий параметр для рахунків бронювання), допустиме значення NULL для інших | |
| EventID | String [32] | ID заходу для рахунків бронювання, допустиме значення NULL для інших | |
| EventName | String [32] | Назва заходу для рахунків бронювання, допустиме значення NULL для інших | |
| CompanyCode | String [32] | Код компанії, допустиме значення NULL | |
| CompanyName | String [32] | Компанія, допустиме значення NULL | |
| Class | String [20] | Клас | |
| Model | String [20] | Модель пристрою | |
| OSDevice | String [20] | ОС пристрою | |
| Description | Bool | Опис рахунку, допустиме значення NULL | |
| Locked | String [20] | Блокувати рахунок | |
| NumType | Int | Вид рахунку | |
| GuestCount | Int | Кількість гостей | |
| idTemp | Int | Тимчасовий ID | |
| CostOfDelivery | Decimal | Вартість доставки ** | |
| Total | Decimal | Загалом по рахунку *** | |
| Deposite | Decimal | Сума створеня рахунку передоплатиШаблон:Якорь | |
| String | |||
| PhoneNumber | String | Номер телефону (в форматі 380993332211) *Якщо використовується данний параметр ми перевіряєм чи є в нас такий клієнт з таким № телефону. Якщо є то привязуєм цього клієнта до рахунку аналогічно методу SetParamsBillDeliverySite Якщо даного № немає то ми створюєм нову персону й карту (номер телефону = номеру карти) | |
| DeliveryTimeType | Int | Використовується для доставки. 0 - Якнайшвидше; 1 - На визначений час | |
| DeliveryDateTime | DateTime | Використовується для доставки. Дата та час в форматі "YYYY-MM-DD HH-MM-SS" приклад ("2025-08-25 17:35:00"). Працює лише з DeliveryTimeType = 1 | |
| Discounts | Discounts [] | Масив дисконтів. Елементи масиву структури з такими полями: | |
| | CardCode | String | Код картки | |
| | DiscountType | Int | Тип знижки: 1 картка, | |
| | OwnerID | Int | ID персони (якщо застосовується картка) | |
| | OwnerCode | String | Kод персони (якщо застосовується картка) | |
| | BraceletCode | String | Kод браслету (якщо застосовується картка) | |
| | PersonDiscountID | Int | ID картки (якщо застосовується картка) | |
| | Discount | Decimal | Дисконт | |
| | DiscountGroup | Int | Група дисконту | |
| | IsLoyalty | Int | Якщо застосовується лояльність - 1, інакше - 0 | |
| Items | Items [] | Масив позицій комплексного блюда. Елементи масиву структури з такими полями: | |
| | OperType | Int | Код операції: 1 – додавання нової позиції в рахунок, | |
| | BillItemID | Int | ID позиції. Якщо OperType=1, новий запис буде оновленно відповідно до цього параметру, згенерованому застосунком | |
| | TarifItemID | Int | ID номенклатури що дoдається (актуально лише за додавання позиції і заміни комплексу) | |
| | ModifierID | Int | ID модифікатора стану | |
| | ParentID | Int | ID базової позиції рахунку, якщо номенклатура що додається є модифікатором. Якшо ні, то NULL | |
| | Quantity | Decimal | Kількість номенклатури що додається або змінюється. Не аналізується за операції видалення | |
| | IsManualPrice | Int | Чи встановлюється ручна ціна. Якщо 1 то застосовується ціна з Price | |
| | Price | Decimal | Ціна номенклатури. Не аналізується для операції видалення | |
| | PickUp | Int | Ознака страви «З собою» (1-так, 0-ні) | |
| | Comment | String | Коментар до позиції | |
| Bool | Замовити і роздрукувати позицію | ||
| | Seat | Int | Номер клієнта | |
| | SectionID | Int | ID відділу | |
| | Pos | Int | Порядок виносу | |
| | TimeOut | Int | Через скільки хвилин винос | |
| | ComplexID | Int | ID групи комплексу | |
| | SubItemID | Int | ID тарифної позиції за замовчуванням | |
| | CmxPrice | Decimal | Нова ціна позиції комплексу (для кіоску) | |
| | UseCmxPrice | Int | 1- використовувати ціну 0 – не використовувати (для кіоску) | |
| | TarifItemCode2 | String | Код зведення тарифної позиції* | |
| | PrintTaskCode | Int | Код для друку задачі на принтер( замовлення/повторення замовлення/відміна замовлення) | |
| | Total | Decimal | Сума позиції. Якщо = 0 то тотал вираховується через ціну і кількість. Якщо > 0 приводиться до цієї суми через знижку | |
| | ExciseStamps | String [] | Масив акцизних марок | |
| Payment | Payment [] | Оплата рахунку. Включає в себе поля як в функції BillPaymentExt (Наприклад: «Payment»:{«PaymentID»:3133,»Summ»:20} ). Необов'язковий параметр. | |
| * - позначення обов’язкового параметру | |||
| *TarifItemCode2 вказується для випадків коли TarifItemID невідомий або має більшу перевагу для використання | |||
| **Необов'язковий параметр.Якщо він буде переданий, в рахунок буде доданий товар з налаштування з кількістю 1 і з ручною ціною, вказаний в CostOfDelivery і дорівнює значенню в полі вартість доставки | |||
| ***Необов'язковий параметр. Якщо він буде переданий, до рахунку буде застосовано Total але для застосування ціни відмінної від прайсу має бути встановлений параметр IsManualPrice | |||
| #Примітка4: Необов'язковий параметр. Створить рахунок передоплати. Якщо в налаштуваннях вказаний код оплати, рахунок буде закрито | |||
| Додатковий опис вихідних параметрів |
|---|
| Response (json) |
|---|
{
"Error": "",
"Success": true,
"BillID": 19903,
"BillNumber": 16097,
"BillTotal": 1400.00,
"NumType": null,
"Items": [
{
"BillItemID": 25936,
"AppBillItemID": 1,
"ParentID": 0,
"Error": null
},
{
"BillItemID": 25937,
"AppBillItemID": 2,
"ParentID": 0,
"Error": null
}
],
"Discounts": [],
"AllItems": [
{
"BillItemID": 25936,
"Total": 1050.00,
"ParentID": null,
"TarifitemID": 14467,
"Name": "Ананас",
"ShortName": "Ананас",
"Amount": 3.000,
"Price": 350.00,
"BillItemTempID": 1,
"ModifierID": 0,
"Status": 0,
"ComplexID": null,
"ItemType": " ",
"SubItemID": null,
"SectionID": 12747,
"ExciseStamps": null
},
{
"BillItemID": 25937,
"Total": 350.00,
"ParentID": null,
"TarifitemID": 14467,
"Name": "Ананас",
"ShortName": "Ананас",
"Amount": 1.000,
"Price": 350.00,
"BillItemTempID": 2,
"ModifierID": 0,
"Status": 0,
"ComplexID": null,
"ItemType": " ",
"SubItemID": null,
"SectionID": 12747,
"ExciseStamps": null
}
],
"GUID": "8E7C8545-F81E-4CC8-AF7D-B23CD4B5D066"
}
| Типи даних Response | |||
|---|---|---|---|
| * | Параметр | Тип | Опис |
| Error | String [] | Опис помилки, що виникла | |
| Success | Bool | Успіх виконання запиту | |
| BillID | Int | ID рахунку | |
| BillNumber | Int | Hомер рахунку | |
| BillTotal | Decimal | Cума по рахунку | |
| NumType | Int | Bид рахунку | |
| Discounts | Discounts [] | Mасив результату застосування знижок. Елементи масиву структури з такими полями: | |
| | DiscountType | Int | Tип дисконту | |
| | Error | String | Повідомлення про помилку | |
| | BillDiscountID | Int | ID дисконту | |
| Items | Items [] | Масив позицій комплексного блюда. Елементи масива структури з такими полями: | |
| | BillItemID | Int | ID позиції рахунку | |
| | AppBillItemID | Int | ID позиції згенерований мобільним додатком | |
| | ParentID | Int | ID батьківської позиції | |
| | Error | String | Опис помилки що виникла | |
| | AllItems | AllItems [] | Масив позицій . Елементи масиву структури з такими полями: | |
| || BillItemID | Int | ID позиції | |
| || Total | Decimal | Cума | |
| || ParentID | Int | ID батьківської позиції | |
| || TarifitemID | Int | ID тарифної позиції | |
| || Name | String | Hазва | |
| || Amount | Decimal | Kількість | |
| || Price | Decimal | Ціна | |
| || ExciseStamps | String [] | Mасив акцизних марок | |
| || ModifierID | Int | ID модифікатору | |
| || ComplexID | Int | ID категорії комплексу | |
| || SubItemID | Int | ID тарифна позиція за замовчуванням | |
| || Status | Int | Cтатус | |
| || BillItemTempID | Int | Tимчасовий ID позиції | |
| || ItemType | String [32] | Tип суб-позиції | |
| * Позначення обов’язкового параметру | |||
| Додатковий опис вхідних параметрів |
|---|