Работа со сменами
Открытие смены на кассе
Вернет данные созданной смены в теле ответа и Uid для создания чековых операций в заголовке ответа.
Открытие смены возможно осуществить в автономном режиме, если у клиента есть лицензия нац. банка на такой режим. При автономном режиме работы в тело запроса добавляется поле Date. Если поле есть, то операция автономная, и если поля нет, то обычная.
1
2
3
4
{
"IdKkm": 77505,
"Date": "2020-12-20T06:34:46+00:00"
}
Описание переменных
Название переменной Тип переменной Оп исание переменной IdKkm int Обязательный. Идентификатор ККМ, на которой нужно открыть смену Date string Дата при автономном режиме работы
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"Status": 200,
"Message": "ОК",
"Data": {
"Shift": {
"Id": 22,
"IdUser": 1,
"IdKkm": 78909,
"IdStatusShift": 1,
"DateOpen": "2019-04-19T09:01:29.222Z"
}
}
}
Описание переменных
Название переменной Тип переменной Описание переменной Shift object Данные созданной смены Id int Идентификатор новой смены IdUser int Идентификатор пользователя, открывшего смену IdKkm int Идентификатор ККМ, на которой открыта смена IdStatusShift int Идентификатор статуса смены DateOpen string Дата открытия смены
Описание значения поля IdStatusShift
Значение статуса Описание статуса 1 Смена открыта 2 Смена закрыта
После 24 часов с момента открытия смены она переходит в статус просрочена. Для того чтобы продолжить работать, нужно закрыть смену и заново ее открыть.
Ошибки
Status Message Способ устранения Примечание 401 Unauthorized: token is expired by 2h36m46s Получить новый токен 403 Forbidden: Доступ к указанному ресурсу закрыт. Про верить IdKkm кассы, выбрать IdKkm кассы 403 Forbidden: на данной ККМ уже открыта смена Если пользователь пытается открыть смену на кассе, на которой смена уже открыта 403 Forbidden: касса заблокирована Связаться с тех. поддержкой Если пользователь пытается открыть смену на заблокированной кассе 424 Forbidden: за данным пользователем уже числится открытая смена Если пользователь пытается открыть смену, когда за ним уже числится открытая смена 500 Internal Server Error Обратиться в тех. поддержку
Блок-схема
Получить информацию о смене
Возвращает данные:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"Status": 200,
"Message": "OK",
"Data": {
"BalanceClose": 0,
"BalanceCloseNonCash": 0,
"BalanceOpen": 51690,
"Company": { object },
"DateClose": "0001-01-01T00:00:00Z",
"DateOpen": "2020-06-30T17:28:12.6624564Z",
"Id": 11344,
"IdCompany": 20,
"IdKkm": 2062,
"IdStatusShift": 1,
"IdUser": 1032,
"KKM": { object },
"ShiftIndex": 8,
"StatusShift": {
"Id": 1,
"Name": "open"
},
"User": {
"Id": 1032,
"IdShift": 11344,
"Lock": true,
"Name": "first cashier",
"PhoneLogin": "77078385387"
}
}
}
Описание переменных
Название переменной Тип переменной Описание переменной BalanceClose float Средства на момент закрытия смены BalanceCloseNonCash float Безналичные средства на момент закрытия смены BalanceOpen float Средства на момент открытия смены Company object Данные о компании (см. GET /company) DateClose string Дата закрытия смены DateOpen string Дата открытия смены Shift object Объект смены Id int Идентификатор смены IdCompany int Идентификатор компании IdKkm int Идентификатор кассы IdStatusShift int Идентификатор статуса смены IdUser int Идентификатор пользователя (кассира) на смене Kkm object Данные о ККМ (см. GET /kkms/:IdKkm) ShiftIndex int Порядковый номер смены на кассе StatusShift object Статус смены Id int Идентификатор статуса смены Name string Название идентификатора статуса смены User object Информация о пользователе Id int Идентификатор пользователя (кассира) IdShift int Идентификатор открытой смены или последней открытой смены Lock bool Признак блокировки смены Name string Имя пользователя PhoneLogin string Номер пользователя
Описание значения поля IdStatusShift
Значение статуса Описание статуса 1 Смена открыта 2 Смена закрыта
После 24 часов с момента открытия смены она переходит в статус просрочена. Для того чтобы продолжить работать, нужно закрыть смену и заново ее открыть.
Ошибки
Status Message Способ устранения 401 Unauthorized: token is expired by 2h36m46s Получить новый токен 403 Forbidden: Доступ к указанному ресурсу закрыт. Проверить IdShift смены 500 Internal Server Error Обратиться в тех. поддержку
Блок-схема
Получить X-отчет
Возвращает данные:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{
"Status": 200,
"Message": "OK",
"Data": {
"Count": 1,
"Kkm": { object },
"Sections": { object },
"Operations": [ array ],
"OperatorCode": "",
"Total": {
"Sales": {
"Qty": 1,
"Amount": 100.00,
"Cumulative": 1228340.94
},
"Purchases": {
"Qty": 0,
"Amount": 0.00,
"Cumulative": 154990.88
},
"Refunds": {
"Qty": 0,
"Amount": 0.00,
"Cumulative": 795774.92
},
"PurchaseRefunds": {
"Qty": 0,
"Amount": 0.00,
"Cumulative": 53272.72
},
"Expenses": {
"Qty": 0,
"Amount": 0.00,
"Cumulative": 19146.36
},
"Incomes": {
"Qty": 0,
"Amount": 0.00,
"Cumulative": 61511.53
}
},
"BalanceOpen": 93794.10,
"BalanceClose": 93894.10,
"BalanceCloseNonCash": 0.00,
"Count": 1,
"TotalAmount": 100.00,
"TotalCashReceivedAmount": 100.00,
"TotalChangeAmount": 0.00,
"TotalDiscountAmount": 0.00,
"TotalMarkupAmount": 0.00,
"TotalNdsAmount": 10.71
}
}
Описание переменных
Название переменной Тип переменной Описание переменной BalanceClose float Средства на момент закрытия смены BalanceCloseNonCash float Безналичные средства на момент закрытия смены BalanceOpen float Средства на момент открытия смены Count int Общее кол-во операций Kkm object Данные о ККМ, включая вложенный документ о юр. лице и балансах (см. GET /kkms/:IdKkm) Operations array Массив списка операций (см. POST /kkms/:IdKkm/reports) OperatorCode string Sections object Объект с информацией об отчетах по секциям Total object Промежуточные итоги Expenses object Служебный расход Amount float Общая сумма операций Cumulative float Накопительная сумма операций за все смены Qty int Кол-во операций Incomes object Служебный приход Purchases object Покупка Refunds object Возврат Sales object Продажа TotalAmount float TotalCashReceivedAmount float TotalChangeAmount float TotalDiscountAmount float TotalMarkupAmount float TotalNdsAmount float
Ошибки
Status Message Способ устранения Примечание 401 Unauthorized: token is expired by 2h36m46s Получить новый токен 403 Forbidden: Доступ к указанному ресурсу закрыт. Проверить IdShift смены 403 Указан неверный идентификатор смены Если идентификатор смены указан с ошибкой или если отчет запросил кассир, который не открывал эту смену 403 Forbidden: касса заблокирова на Связаться с тех. поддержкой 410 Данная смена уже закрыта 500 Internal Server Error Обратиться в тех. поддержку
Блок-схема
Получить отчет по секциям
1
GET /shifts/:IdShift/sections/reports
Возвращает данные:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"Status": 200,
"Message": "OK",
"Data": {
"Sections": [
"76634": {
"Name": "НДС 12%",
"Sales": 300.22,
"Purchases": 150,
"Refunds": 0,
"PurchaseRefunds": 655.5
},
"76635": {
"Name": "Без НДС",
"Sales": 0,
"Purchases": 0,
"Refunds": 0,
"PurchaseRefunds": 0
},
...
]
}
}
Описание переменных
Название переменной Тип переменной Описание переменной Sections object Объект с информацией об отчетах по секциям 3050 object Идентификат ор секции (см. GET /kkms/:IdKkm/sections) Name string Название секции Sales float Операции продажи Purchases float Операции покупки Refunds float Возвраты продажи PurchaseRefunds float Возвраты покупок
Ошибки
Status Message Способ устранения Примечание 401 Unauthorized: token is expired by 2h36m46s Получить новый токен 403 Forbidden: Доступ к указанному ресурсу закрыт. Проверить IdShift смены 500 Internal Server Error Обратиться в тех. поддержку
Блок-схема
Принимает Uid в заголовке запроса. Ожидает в теле запроса Id кассы.
Закрытие смены возможно осуществить в автономном режиме, если у клиента есть лицензия нац. банка на такой режим. При автономном режиме работы в тело запроса добавляется поле Date. Если поле есть, то операция автономная, и если поля нет, то обычная.
1
POST /shifts/:IdShift/z
Данные на вход:
1
2
3
4
{
"IdKkm": 77505
"Date": "2020-12-20T06:34:46+00:00"
}
Описание переменных
Название переменной Тип переменной Описание переменной IdKkm int Обязательный. Идентификатор ККМ, на которой нужно закрыть смену Date string Дата при автономном режиме работы
Возвращает данные:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{
"Status": 200,
"Message": "OK",
"Data": {
"Kkm": { object },
"Operations": [ array ],
"OperatorCode": "1032",
"Total": {
"Sales": {
"Qty": 1,
"Amount": 500,
"Cumulative": 500
},
"Purchases": {
"Qty": 1,
"Amount": 500,
"Cumulative": 500
},
"Refunds": {
"Qty": 1,
"Amount": 500,
"Cumulative": 500
},
"PurchaseRefunds": {
"Qty": 1,
"Amount": 100,
"Cumulative": 100
},
"Expenses": {
"Qty": 1,
"Amount": 3000,
"Cumulative": 3500
},
"Incomes": {
"Qty": 1,
"Amount": 5000,
"Cumulative": 5000
}
},
"BalanceOpen": 82388,
"BalanceClose": 83888,
"BalanceCloseNonCash": 0,
"DateOpen": "2020-07-16T10:39:56.4900144Z",
"DateClose": "2020-07-16T10:42:59.35454613Z",
"DateReportTaken": "2020-07-16T10:42:59.35454613Z",
"Count": 5,
"TotalAmount": 0,
"TotalCashReceivedAmount": 0,
"TotalChangeAmount": 0,
"TotalDiscountAmount": 0,
"TotalMarkupAmount": 0,
"TotalNdsAmount": 0,
}
}
Описание переменных
Название переменной Тип переменной Описание переменной Kkm object Данные о ККМ, включая вложенный документ о юр. лице и балансах (см. GET /kkms/:IdKkm) Operations array Массив списка операций (см. POST /kkms/:IdKkm/reports) OperatorCode string Sections object Объект с информацией об отчетах по секциям Total object Промежуточные итоги Sales object Операции продажи Qty int Кол-во операций Amount float Общая сумма операций Cumulative float Накопительная сумма операций за все смены Purchases object Покупки Expenses object Служебные расходы Refunds object Возвраты продаж PurchaseRefunds object Возвраты покупок Incomes object Служебные приходы BalanceOpen float Средства на момент открытия смены BalanceClose float Средства на момент закрытия смены BalanceCloseNonCash float Безналичные средства на момент закрытия смены DateOpen string Дата открытия смены DateClose string Дата закрытия смены DateReportTaken string Дата получения отчета Count int