Отчет по сменам

Возвращает список смен с указанием времени их открытия и закрытия, количества и суммы чеков, способов расчета и типов операций за заданный период.

  1. Формат запроса
  2. Формат ответа
  3. Коды ответа
  4. Пример запроса

Формат запроса

POST https://api.ofd.yandex.net/{v1}/docs/aggregations/shifts
Path-параметры
v1Номер версии API ОФД.

Заголовок запроса

Заголовки запроса должны содержать ключи (см. раздел Доступ к API):

Заголовок Значение
X-Yandex-Key <аутентификационный ключ>
X-OFD-Key <авторизационный ключ>
Content-Type application/json

Тело запроса

{
    "date_from": "{string}",
    "date_to": "{string}",
    "limit": {integer},
    "offset": {integer},
    "company_ids": ["{string}"],
    "retail_point_ids": ["{string}"],
    "cashbox_ids": ["{string}"],
    "document_types": ["{string}"],
    "operation_types": ["{string}"],
    "taxation_types": ["{string}"],
    "shifts": {integer},
    "orders": ["{string}"]
 }
date_from *

Дата начала отчетного периода (включительно). Формат: YYYY-MM-DD hh:mm:ss. Если время не задано, значение автоматически устанавливается на начало дня: 00:00:00.

date_to *

Дата завершения отчетного периода (включительно). Формат: YYYY-MM-DD hh:mm:ss. Если время не задано, значение автоматически устанавливается на конец дня: 23:59:59.

limit

Максимальное количество объектов, возвращаемое в ответе.

offset

Смещение от начала списка объектов.

company_ids

Список идентификаторов компаний, по ККТ (кассам) которых будет построен отчет.

retail_point_ids

Список идентификаторов точек продаж, по ККТ которых будет построен отчет.

cashbox_ids

Список идентификаторов ККТ, по которым будет построен отчет.

document_types

Тип чека. Можно указать несколько значений в рамках одного запроса. Возможные значения:

  • fiscalReport — отчет о регистрации;
  • fiscalReportCorrection — отчет об изменении параметров регистрации;
  • openShift — открытие смены;
  • closeShift — закрытие смены;
  • receipt — чек;
  • receiptCorrection — чек коррекции;
  • bso — бланк строгой отчетности (БСО);
  • bsoCorrection — БСО коррекции;
  • currentStateReport — отчет о состоянии расчетов;
  • closeArchive — закрытие ФН.
operation_types

Тип операции. Можно указать несколько значений в рамках одного запроса. Возможные значения:

  • income — приход;
  • income_return — возврат прихода;
  • outcome — расход;
  • outcome_return — возврат расхода.
taxation_types

Тип налогообложения. Можно указать несколько значений в рамках одного запроса. Возможные значения:

  • osn — общая (ОСН);
  • usn_income — упрощенная (6% дохода);
  • usn_income_wo_expenditure — упрощенная (доход-расход);
  • esn_agricultural — единый сельскохозяйственный (ЕСХН);
  • psn — патент (ПСН).
shifts

Номер смены.

orders

Способ сортировки данных в отчете. По умолчанию значения располагаются по возрастанию. Чтобы расположить значения в отчете по убыванию, используйте префикс - (например, -open). Можно задать несколько способов сортировки. В этом случае применяться они будут последовательно в том порядке, в котором указаны в запросе.

Возможные способы сортировки:

  • open — по дате и времени открытия смены;
  • close — по дате и времени закрытия смены;
  • shift — по номеру смены;
  • rn — по регистрационному номеру ККТ;
  • fn — по идентификационному номеру ФН;
  • income — по сумме прихода;
  • income_return — по сумме возврата прихода;
  • outcome — по сумме расхода;
  • outcome_return — по сумме возврата расхода.

Обязательный параметр

Общий формат ответа приведен ниже. В реальном ответе порядок следования элементов может отличаться, а некоторые элементы могут отсутствовать. Также в ответе могут находиться служебные параметры, которые не описаны в документе.

Формат ответа

{
    "data": [
        {
            "outcome": {
                "ecashTotal_count": {integer},
                "credit_sum": {float},
                "cashTotal_count": {integer},
                "ecashTotal_sum": {float},
                "total_sum": {float},
                "prepaid_sum": {float},
                "prepaid_count": {integer},
                "total_count": {integer},
                "credit_count": {integer},
                "provision_count": {integer},
                "cashTotal_sum": {float},
                "provision_sum": {float}
            },
            "open": "{string}",
            "outcome_return": {
                "ecashTotal_count": {integer},
                "total_sum": {float},
                "cashTotal_count": {integer},
                "ecashTotal_sum": {float},
                "credit_sum": {float},
                "prepaid_sum": {float},
                "prepaid_count": {integer},
                "total_count": {integer},
                "credit_count": {integer},
                "provision_count": {integer},
                "cashTotal_sum": {float},
                "provision_sum": {float}
            },
            "close": "{string}",
            "shift": {integer},
            "income_return": {
                "ecashTotal_count": {integer},
                "total_sum": {float},
                "cashTotal_count": {integer},
                "ecashTotal_sum": {float},
                "credit_sum": {float},
                "prepaid_sum": {float},
                "prepaid_count": {integer},
                "total_count": {integer},
                "credit_count": {integer},
                "provision_count": {integer},
                "cashTotal_sum": {float},
                "provision_sum": {float}
            },
            "income": {
                "ecashTotal_count": {integer},
                "credit_sum": {float},
                "cashTotal_count": {integer},
                "ecashTotal_sum": {float},
                "total_sum": {float},
                "prepaid_sum": {float},
                "prepaid_count": {integer},
                "total_count": {integer},
                "credit_count": {integer},
                "provision_count": {integer},
                "provision_sum": {float},
                "cashTotal_sum": {float}
            },
            "fn": "{string}",
            "rn": "{string}"
        }
    ],
    "total": {integer}
}
data

Информация по каждой смене, соответствующей параметрам запроса.

outcome

Данные по операциям с типом «outcome» (расход) за смену.

ecashTotal_count

Количество чеков с безналичной оплатой.

credit_sum

Сумма по чекам с постоплатой (кредит).

cashTotal_count

Количество чеков с оплатой наличными.

ecashTotal_sum

Сумма по чекам с безналичной оплатой.

total_sum

Полная сумма по чекам.

prepaid_sum

Сумма по чекам с предоплатой.

prepaid_count

Количество чеков с предоплатой (зачет аванса и или других платежей).

total_count

Общее количество чеков.

credit_count

Количество чеков с постоплатой (кредит).

provision_count

Количество чеков с оплатой встречным представлением (другой способ оплаты).

cashTotal_sum

Сумма по чекам с оплатой наличными.

provision_sum

Сумма по чекам с оплатой встречным представлением (другой способ оплаты).

open

Дата и время открытия смены.

outcome_return

Данные по операциям с типом «outcome-return» (возврат расхода) за смену.

close

Дата и время закрытия смены.

shift

Номер смены.

income_return

Данные по операциям с типом «income-return» (возврат прихода) за смену.

income

Данные по операциям с типом расчета «income» (приход) за смену.

fn

Идентификационный номер ФН.

rn

Регистрационный номер ККТ.

total

Общее количество смен в отчете.

Пример запроса

Метод и адрес:

https://api.ofd.yandex.net/v1/docs/aggregations/shifts
Заголовки:
x-yandex-key: 74f...e8ca
x-ofd-key: eka...b17eae
Content-Type: application/json

Тело:

{
    "date_from": "2018-04-01",
    "date_to": "2019-08-13",
    "company_ids": [
        "301"
    ],
    "limit": 20,
    "offset": 0,
    "document_types": [
        "receipt",
        "receiptCorrection",
        "bso",
        "bsoCorrection",
        "openShift",
        "closeShift"
    ],
    "orders": [
        "open"
    ]
}
Пример запроса в формате cURL
curl -X POST \
  https://api.ofd.yandex.net/v1/docs/aggregations/shifts \
  -H 'Content-Type: application/json' \
  -H 'x-ofd-key: eka...b17eae' \
  -H 'x-yandex-key: 74f...e8ca' \  -d '{
    "date_from": "2018-04-01",
    "date_to": "2019-08-13",
    "company_ids": [
        "301"
    ],
    "limit": 20,
    "offset": 0,
    "document_types": [
        "receipt",
        "receiptCorrection",
        "bso",
        "bsoCorrection",
        "openShift",
        "closeShift"
    ],
    "orders": [
        "open"
    ]
}'

Ответ:

{
    "data": [
        {
            "income": {
                "credit_sum": 0.0,
                "provision_count": 0,
                "cashTotal_sum": 140.0,
                "total_sum": 140.0,
                "prepaid_count": 0,
                "credit_count": 0,
                "ecashTotal_count": 0,
                "ecashTotal_sum": 0.0,
                "provision_sum": 0.0,
                "prepaid_sum": 0.0,
                "cashTotal_count": 2,
                "total_count": 2
            },
            "outcome": {
                "credit_sum": 0.0,
                "provision_count": 0,
                "cashTotal_sum": 0.0,
                "total_sum": 0.0,
                "prepaid_count": 0,
                "credit_count": 0,
                "ecashTotal_count": 0,
                "ecashTotal_sum": 0.0,
                "provision_sum": 0.0,
                "prepaid_sum": 0.0,
                "cashTotal_count": 0,
                "total_count": 0
            },
            "rn": "3546446467562434",
            "close": "2018-06-18 11:22:00",
            "shift": 2,
            "fn": "4346576876976321",
            "outcome_return": {
                "credit_sum": 0.0,
                "provision_count": 0,
                "cashTotal_sum": 0.0,
                "total_sum": 0.0,
                "prepaid_count": 0,
                "credit_count": 0,
                "ecashTotal_count": 0,
                "total_count": 0,
                "provision_sum": 0.0,
                "prepaid_sum": 0.0,
                "cashTotal_count": 0,
                "ecashTotal_sum": 0.0
            },
            "income_return": {
                "credit_sum": 0.0,
                "provision_count": 0,
                "cashTotal_sum": 0.0,
                "total_sum": 0.0,
                "prepaid_count": 0,
                "credit_count": 0,
                "ecashTotal_count": 0,
                "ecashTotal_sum": 0.0,
                "provision_sum": 0.0,
                "prepaid_sum": 0.0,
                "cashTotal_count": 0,
                "total_count": 0
            },
            "open": "2018-06-15 14:02:00"
        }
    ],
    "total": 1
}