Работа со сменами
Открытие смены на кассе
Вернет данные созданной смены в теле ответа и 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
{
"Status": 200,
"Message": "OK",
"Data": {
"BalanceClose": 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 int Средства на момент закрытия смены BalanceOpen int Средства на момент открытия смены 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
{
"Status": 200,
"Message": "OK",
"Data": {
"BalanceClose": "0.0000",
"BalanceOpen": "62184.0000",
"Count": 1,
"Kkm": { object },
"Operations": [ array ],
"OperatorCode": "",
"Total": {
"Expenses": {
"Amount": "0",
"Qty": 0
},
"Incomes": {
"Amount": "0",
"Qty": 0
},
"Purchases": {
"Amount": "0",
"Qty": 0
},
"Refunds": {
"Amount": "0",
"Qty": 0
},
"Sales": {
"Amount": "0",
"Qty": 0
}
},
"TotalAmount": "0",
"TotalCashReceivedAmount": "0",
"TotalChangeAmount": "0",
"TotalDiscountAmount": "0",
"TotalMarkupAmount": "0",
"TotalNdsAmount": "0"
}
}
Описание переменных
Название переменной Тип переменной Описание переменной BalanceClose string Средства на момент закрытия смены BalanceOpen string Средства на момент открытия смены Count int Общее кол-во операций Kkm object Данные о ККМ, включая вложенный документ о юр. лице и балансах (см. GET /kkms/:IdKkm) Operations array Массив списка операций (см. POST /kkms/:IdKkm/reports) OperatorCode string Total object Промежуточные итоги Expenses object Служебный расход Amount string Общая сумма операций Qty int Кол-во операций Incomes object Служебный приход Purchases object Покупка Refunds object Возврат Sales object Продажа TotalAmount string TotalCashReceivedAmount string TotalChangeAmount string TotalDiscountAmount string TotalMarkupAmount string TotalNdsAmount string
Ошибки
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
24
25
{
"Status": 200,
"Message": "OK",
"Data": {
"Sections": {
"3050": {
"Expenses": null,
"Incomes": null,
"Name": "first section",
"Purchases": "200.0000",
"Refunds": "100.0000",
"Sales": "400.0000"
},
"3051": {
"Expenses": null,
"Incomes": null,
"Name": "second section",
"Purchases": null,
"Refunds": null,
"Sales": null
},
...
}
}
}
Описание переменных
Название переменной Тип переменной Описание переменной Sections object Объект с информацией об отчетах по секциям 3050 object Идентификатор секции (см. GET /kkms/:IdKkm/sections) Expenses string Служебные расходы Incomes string Служебные приходы Name string Название секции Purchases string Покупки Refunds string Возвраты Sales string Операции продажи
Ошибки
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
{
"Status": 200,
"Message": "OK",
"Data": {
"Kkm": { object },
"OperatorCode": "1032",
"Total": {
"Sales": {
"Qty": 1,
"Amount": "500.0000"
},
"Purchases": {
"Qty": 1,
"Amount": "500.0000"
},
"Expenses": {
"Qty": 1,
"Amount": "3000.0000"
},
"Refunds": {
"Qty": 1,
"Amount": "500.0000"
},
"Incomes": {
"Qty": 1,
"Amount": "5000.0000"
}
},
"BalanceOpen": "82388.0000",
"BalanceClose": "83888.0000",
"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.0000",
"TotalCashReceivedAmount": "-0.0000",
"TotalChangeAmount": "0.0000",
"TotalDiscountAmount": "0.0000",
"TotalMarkupAmount": "0.0000",
"TotalNdsAmount": "0.0000",
"Operations": [ array ]
}
}
Описание переменных
Название переменной Тип переменной Описание переменной Kkm object Данные о ККМ, включая вложенный документ о юр. лице и балансах (см. GET /kkms/:IdKkm) OperatorCode string Total object Промежуточные итоги Sales object Операции продажи Qty int Кол-во операций Amount string Общая сумма операций Purchases object Покупки Expenses object Служебные расходы Refunds object Возвраты Incomes object Служебные приходы BalanceOpen string Средства на момент открытия смены BalanceClose string Средства на момент закрытия смены DateOpen string Дата открытия смены DateClose string Дата закрытия смены DateReportTaken string Дата получения отчета Count int Общее кол-во операций TotalAmount string TotalCashReceivedAmount string TotalChangeAmount string TotalDiscountAmount string TotalMarkupAmount string TotalNdsAmount string Operations array Массив списка операций (см. POST /kkms/:IdKkm/reports)
Ошибки
Status Message Способ устранения Примечание 401 Unauthorized: token is expired by 2h36m46s Получить новый токен 403 Forbidden: Доступ к указанному ресурсу закрыт. Проверить IdKkm кассы, выбрать IdKkm кассы 403 Forbidden: данный кассир не имеет прав для закрытия данной сессии Закрыть смену кассиром который ее открывал Если кассир пытается закрыть смену, которую открывал не он 403 Forbidden: данная смена уже закрыта Проверить IdShift смены Если смена уже была закрыта 403 Forbidden: смена с указанным id не найдена Проверить IdShift смены Если идентификатор смены не найден в БД (такая смена не открывалась) 403 Forbidden: касса заблокирована Связаться с тех. поддержкой Если касса была заблокирована из-за проблем отправки данных в ОФД 452 Некорректный Uid Запросить новый Uid 500 Internal Server Error Обратиться в тех. поддержку
Блок-схема