WarehouseSafeboxTransaction. Движение денежных средств на главной кассе (ПКО/РКО)
Метод возвращает операции по главной кассе (сейфу) магазина: приходные (ПКО) и расходные (РКО) кассовые ордера — выручку из операционных касс, инкассации, выдачу разменной монеты, выплаты и другие. Операции можно только читать.
Как получить ключ, как формируются запросы и какие бывают ответы и ошибки — в статье Общие сведения. Здесь описаны только особенности метода warehouseSafeboxTransaction.
Запрос
Параметр id читается только из адресной строки (GET). Остальные параметры принимаются и в адресной строке, и в теле POST.
GET https://[компания].myvirtualpos.ru/api/warehouseSafeboxTransaction?apikey=MySecret&warehouse_id=6&datefrom=20260901&dateto=20260930&type=income
Параметры запроса
| id | Число. Ид операции. Если указан, вернётся только она. Только GET |
| warehouse_id | Число. Ид точки продаж |
| ext_warehouse_id | Строка. Код точки продаж во внешней системе. Действует, если не указан warehouse_id. Если точки с таким кодом нет, возвращается пустой список |
| type | Строка. income — приход, outcome — расход. Без параметра возвращаются оба типа |
| date | Дата ГГГГММДД. Операции, созданные в этот день |
| datefrom, dateto | Дата ГГГГММДД. Операции, созданные с указанной даты и по указанную включительно |
| format | json (по умолчанию) или xml |
Условия объединяются по «и». Названия параметров datefrom и dateto пишутся слитно (в отличие от date_from и date_to в методе инкассаций); неизвестные параметры игнорируются. Даты передаются строго в формате ГГГГММДД, иначе метод вернёт ошибку Incorrect date format.
Ограничения по дате по умолчанию нет. Без параметров метод собирает операции по всем точкам продаж за всё время вместе со связанными документами; в реальных базах это десятки тысяч записей, и запрос может закончиться ошибкой сервера. Всегда ограничивайте выборку датами и точкой продаж.
Типы и подтипы операций
Тип операции — income (приход) или outcome (расход). Подтип (subtype) уточняет назначение. Системные подтипы:
| Подтип | Тип | Назначение | Связанный документ (rel_type) |
|---|---|---|---|
terminal_cash_earning | income | Выручка из операционной кассы | Zreport |
zreport_changing_return | income | Возврат разменной монеты при закрытии смены | Zreport |
pos_cash_surplus | income | Излишек на операционной кассе | Zreport |
cash_changing_return | income | Ручной возврат разменной монеты | CashFlow |
cash_surplus | income | Излишек | нет |
encashment | outcome | Инкассация | WarehouseEncashment |
cash_changing | outcome | Выдача разменной монеты на операционную кассу | CashFlow |
pos_lack_of_cash | outcome | Недосдача на операционной кассе | Zreport |
zreport_other_payments | outcome | Прочие выплаты в смену | Zreport |
lack_of_cash | outcome | Недосдача | нет |
Помимо системных, в данных встречаются подтипы, созданные пользователями (например, «Зарплата», «Хоз. нужды»). Их название приходит в subtype.
Структура ответа
| success | 1 — данные получены |
| type | Тип данных, всегда warehouseSafeboxTransaction |
| count | Количество операций в ответе |
| warehouseSafeboxTransactions | Список операций. Каждая обёрнута в объект warehouseSafeboxTransaction |
Поля операции
Пустые значения в JSON приходят как null, в XML — как пустой элемент.
Основное
| id | Число. Ид операции |
| guid | Строка. Уникальный идентификатор (GUID) |
| warehouse_id | Число. Ид точки продаж |
| ext_warehouse_id | Строка. Код точки продаж во внешней системе |
| warehouse_safebox_id | Число. Ид главной кассы |
| type, typeName | Строка. Тип операции (income или outcome) и его название («Приход», «Расход») |
| subtype | Строка. Подтип операции |
| subtypeName | Строка. Название подтипа |
| subtype_name | Строка. Название вида операции из справочника подтипов |
| subtype_external_id | Строка. Код подтипа во внешней системе |
| doc_num | Число. Номер ордера |
| comment | Строка. Комментарий |
| application | Строка. Приложение к ордеру |
| reason | Строка. Основание |
| created_date, last_update_date | Строка. Дата и время создания и последнего изменения |
Суммы
| cash_before | Строка. Остаток на главной кассе до операции |
| cash_after | Строка. Остаток после операции |
| cash_change | Строка. Сумма операции: положительная для прихода, отрицательная для расхода |
Бухгалтерские счета
| credit_account | Строка. Счёт по кредиту |
| correspondent_account | Строка. Корреспондентский счёт |
Люди
| responsible_user_id, responsible_user_corp_code, responsible_user_full_name | Материально ответственное лицо: ид, корпоративный код, полное имя |
| manager_user_id, manager_user_corp_code, manager_user_full_name | Руководитель, утвердивший ордер: ид, корпоративный код, полное имя |
| created_by, created_by_corp_code, created_by_full_name | Создатель операции: ид, корпоративный код, полное имя |
| last_update_by | Число. Ид пользователя, изменившего операцию |
Связанный документ
| rel_id | Число. Ид связанного документа |
| rel_type | Строка. Тип связанного документа: Zreport, CashFlow или WarehouseEncashment. Пусто, если связанного документа нет |
| rel_document | Объект. Данные связанного документа. Пусто, если документа нет |
| terminal_user_corp_code | Строка. Корпоративный код кассира (для операций по сменам и внесениям разменной монеты) |
| terminal_machine_number | Строка. Регистрационный номер кассы |
| terminal_session | Число. Номер смены |
| terminal_open_datetime | Строка. Дата и время открытия смены |
Реквизиты инкассации (только у подтипа encashment)
| agent_bank_name, agent_bank_id, agent_bank_external_id | Название, ид и код во внешней системе банка-агента |
| recipient_bank_name, recipient_bank_id, recipient_bank_external_id | Название, ид и код во внешней системе банка-получателя |
| bank_account_num | Строка. Номер счёта банка |
| org_account_num | Строка. Расчётный счёт организации |
Пример ответа
{
"success": 1,
"type": "warehouseSafeboxTransaction",
"count": 1,
"warehouseSafeboxTransactions": [
{
"warehouseSafeboxTransaction": {
"id": 31308,
"guid": "5A07A106-A1A8-ECBC-2BA7-113B8662F9AF",
"warehouse_safebox_id": 6,
"warehouse_id": 6,
"ext_warehouse_id": "WH-6",
"type": "outcome",
"typeName": "Расход",
"subtype": "encashment",
"subtype_name": "Инкассация",
"subtypeName": "Инкассация",
"subtype_external_id": "",
"cash_before": "70870.49",
"cash_after": "20870.49",
"cash_change": "-50000.00",
"doc_num": 1,
"comment": "Инкассация за сентябрь",
"rel_id": 1,
"rel_type": "WarehouseEncashment",
"rel_document": { "id": 1, "amount": "50000.00" },
"responsible_user_id": 113,
"responsible_user_corp_code": "",
"responsible_user_full_name": "Иванова Анна Сергеевна",
"manager_user_id": 3,
"manager_user_corp_code": "",
"manager_user_full_name": "Петров Пётр Петрович",
"application": "",
"reason": "",
"credit_account": "",
"correspondent_account": "",
"created_date": "2026-09-30 20:35:21",
"created_by": 113,
"created_by_corp_code": "",
"created_by_full_name": "Иванова Анна Сергеевна",
"last_update_date": "2026-09-30 20:35:21",
"last_update_by": 113,
"agent_bank_name": null,
"recipient_bank_name": null,
"bank_account_num": "30101810000000000201",
"org_account_num": "40802810102890010436",
"terminal_user_corp_code": null,
"terminal_machine_number": null,
"terminal_session": null,
"terminal_open_datetime": null
}
}
]
}
В примере для краткости сокращены поля связанного документа и опущены идентификаторы банков. Тот же ответ при format=xml (сокращённо):
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <type>warehouseSafeboxTransaction</type> <count>1</count> <warehouseSafeboxTransactions> <warehouseSafeboxTransaction> <id>31308</id> <type>outcome</type> <subtype>encashment</subtype> <cash_change>-50000.00</cash_change> <!-- остальные поля операции --> </warehouseSafeboxTransaction> </warehouseSafeboxTransactions> </root>
Примеры запросов
| Задача | Запрос |
|---|---|
| Операции точки за месяц | /api/warehouseSafeboxTransaction?apikey=MySecret&warehouse_id=6&datefrom=20260901&dateto=20260930 |
| Только приходы за день | /api/warehouseSafeboxTransaction?apikey=MySecret&warehouse_id=6&date=20260901&type=income |
| Одна операция по ид | /api/warehouseSafeboxTransaction?apikey=MySecret&id=31308 |
| Операции точки по её коду в 1С | /api/warehouseSafeboxTransaction?apikey=MySecret&ext_warehouse_id=WH-6&datefrom=20260901 |
Ошибки
Ошибка авторизации и общие ошибки описаны в статье Общие сведения.
| Сообщение | Причина | Что делать |
|---|---|---|
| Incorrect date format '…'. Valid format is: YYYYMMDD | Дата в параметре не в формате ГГГГММДД | Передайте дату как 20260901 |
Если по условиям ничего не найдено, метод возвращает успешный ответ с count равным 0 и пустым списком.