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

Внимание

Новые ключи временно не выпускаются в связи с обновлением продукта.

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

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

POST https://api.ofd.yandex.net/{v1}/docs/aggregations/shifts
  • 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
    Общее количество смен в отчете.

Коды ответа

Список кодов, которые поддерживаются в API ОФД см. в разделе Коды ответов и ошибки.

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

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

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
}