Перейти к основному контенту

Работа со сменами

Открытие смены на кассе

Вернет данные созданной смены в теле ответа и Uid для создания чековых операций в заголовке ответа.

Открытие смены возможно осуществить в автономном режиме, если у клиента есть лицензия нац. банка на такой режим. При автономном режиме работы в тело запроса добавляется поле Date. Если поле есть, то операция автономная, и если поля нет, то обычная.

POST /shifts

Данные на вход:

{ 
"IdKkm": 77505,
"Date": "2020-12-20T06:34:46+00:00"
}

Описание переменных

Название переменной Тип переменной Описание переменной
IdKkm int Обязательный. Идентификатор ККМ, на которой нужно открыть смену
Date string Дата при автономном режиме работы

Возвращает данные:

{
"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

"IdStatusShift": 1
Значение статуса Описание статуса
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 Обратиться в тех. поддержку

Блок-схема

Circuitblock-openshift11 (1).png

Получить информацию о смене

GET /shifts/:IdShift

Возвращает данные:

{
"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 Объект cмены
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

"IdStatusShift": 1
Значение статуса Описание статуса
1 Смена открыта
2 Смена зарыта

После 24 часов с момента открытия смены она переходит в статус просрочена. Для того чтобы продолжить работать, нужно закрыть смену и заново ее открыть.

Ошибки

Status Message Способ устранения
401 Unauthorized: token is expired by 2h36m46s Получить новый токен
403 Forbidden: Доступ к указанному ресурсу закрыт. Проверить IdShift смены
500 Internal Server Error Обратиться в тех. поддержку

Блок-схема

Circuitblock-infshift11.png

Получить X-отчет

GET /shifts/:IdShift/x

Возвращает данные:

{
"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 Обратиться в тех. поддержку

Блок-схема

Circuitblock-xreportshift11.png

Получить отчет по секциям

GET /shifts/:IdShift/sections/reports

Возвращает данные:

{
"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 Обратиться в тех. поддержку

Блок-схема

Circuitblock-sectionsreportshift11.png

Создать Z-отчет и закрыть смену

Принимает Uid в заголовке запроса. Ожидает в теле запроса Id кассы.

Закрытие смены возможно осуществить в автономном режиме, если у клиента есть лицензия нац. банка на такой режим. При автономном режиме работы в тело запроса добавляется поле Date. Если поле есть, то операция автономная, и если поля нет, то обычная.

POST /shifts/:IdShift/z

Данные на вход:

{ 
"IdKkm": 77505
"Date": "2020-12-20T06:34:46+00:00"
}

Описание переменных

Название переменной Тип переменной Описание переменной
IdKkm int Обязательный. Идентификатор ККМ, на которой нужно закрыть смену
Date string Дата при автономном режиме работы

Возвращает данные:

{
"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 не найдена Проверить IdSh\ift смены Если идентификатор смены не найден БД (такая смена не открывалась)
403 Forbidden: касса заблокирована Связаться с тех. поддержкой Если касса была заблокирована из-за проблем отправки данных в ОФД
452 Некорректный Uid Запросить новый Uid
500 Internal Server Error Обратиться в тех. поддержку

Блок-схема

Circuitblock-closeshift11.png