API :: ZReport. Получение электронных Z-отчетов

В системе реализован программный интерфейс для Z-отчетов фискальных регистраторов в электронном виде. Данные выгружаются по http протоколу. Формат на выбор - xml или json.

Максимальная глубина запроса - последние 30 дней.

Пример запроса на получение данных

Пример запроса на получение данных о Z-отчетах:

http://mycompany.virtpos.ru/api/zreport?apikey=MySecret&format=xml&warehouseid=1

Параметры запроса на получение данных

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • date (get only) - Дата, за которую надо вернуть данные. Формат: ГГГГММДД. Необязательный параметр.
  • warehouse_id (get only) - код магазина, для которого надо вернуть отчеты. Если не указан, то возвращаются данные обо всех магазинах. Необязательный параметр.
  • ext_warehouse_id (get only) - код магазина во внешней системе (например, в 1С). Параметр игнорируется, если передан warehouse_id. Необязательный параметр.
  • terminal_id (get only) - код кассового места. Необязательный параметр.
  • fiscal_number (get only) - серийный номер фискального регистратора. Игнорируется, если передан terminal_id. Необязательный параметр.
  • session (get only) - номер смены. Необязательный параметр.

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <success>1</success>
    <type>zreport</type>
    <count>1</count>
    <zreports>
        <zreport>
            <id>1138</id>
            <terminal_id>27</terminal_id>
            <terminal_number>101</terminal_number>
            <warehouse_external_id>111</warehouse_external_id>
            <fiscal_number>00517929</fiscal_number>
            <guid>CE007AB6-EE10-A771-81CC-14996C8083E4</guid>
            <salesamount>4300.00</salesamount>
            <saleschecks>96</saleschecks>
            <session>40</session>
            <open_user_id>32</open_user_id>
            <close_user_id>32</close_user_id>
            <open_user_corp_code>CBX-1111</open_user_corp_code>
            <close_user_corp_code>CBX-1111</close_user_corp_code>
            <open_user_fio>Алексей Р. ..</open_user_fio>
            <close_user_fio>Алексей Р. ..</close_user_fio>
            <open_datetime>2016-10-26 21:58:48</open_datetime>
            <close_datetime>2016-10-26 21:58:48</close_datetime>
            <device_model_name>ШТРИХ-ФР-01Ф</device_model_name>
            <device_model_version>S C.1 34378 13.01.2017 0 0 01.01.1980 1.14 4</device_model_version>
            <short_fiscal_serial_number>234234</short_fiscal_serial_number>
            <fp_reg_oper_sale_counts>2</fp_reg_oper_sale_counts>
            <fp_reg_cash_sale_sum>4300.00</fp_reg_cash_sale_sum>
            <fp_reg_cash_sale_sum_cash>4300.00</fp_reg_cash_sale_sum_cash>
            <fp_reg_cash_sale_sum_credit>0.00</fp_reg_cash_sale_sum_credit>
            <fp_reg_cash_sale_sum_tare>0.00</fp_reg_cash_sale_sum_tare>
            <fp_reg_cash_sale_sum_card>0.00</fp_reg_cash_sale_sum_card>
            <fp_reg_oper_buy_counts>0</fp_reg_oper_buy_counts>
            <fp_reg_cash_buy_sum>0.00</fp_reg_cash_buy_sum>
            <fp_reg_cash_buy_sum_cash>0.00</fp_reg_cash_buy_sum_cash>
            <fp_reg_cash_buy_sum_credit>0.00</fp_reg_cash_buy_sum_credit>
            <fp_reg_cash_buy_sum_tare>0.00</fp_reg_cash_buy_sum_tare>
            <fp_reg_cash_buy_sum_card>0.00</fp_reg_cash_buy_sum_card>
            <fp_reg_oper_saleret_counts>0</fp_reg_oper_saleret_counts>
            <fp_reg_cash_saleret_sum>0.00</fp_reg_cash_saleret_sum>
            <fp_reg_cash_saleret_sum_cash>0.00</fp_reg_cash_saleret_sum_cash>
            <fp_reg_cash_saleret_sum_credit>0.00</fp_reg_cash_saleret_sum_credit>
            <fp_reg_cash_saleret_sum_tare>0.00</fp_reg_cash_saleret_sum_tare>
            <fp_reg_cash_saleret_sum_card>0.00</fp_reg_cash_saleret_sum_card>
            <fp_reg_oper_buyret_counts>0</fp_reg_oper_buyret_counts>
            <fp_reg_cash_buyret_sum>0.00</fp_reg_cash_buyret_sum>
            <fp_reg_cash_buyret_sum_cash>0.00</fp_reg_cash_buyret_sum_cash>
            <fp_reg_cash_buyret_sum_credit>0.00</fp_reg_cash_buyret_sum_credit>
            <fp_reg_cash_buyret_sum_tare>0.00</fp_reg_cash_buyret_sum_tare>
            <fp_reg_cash_buyret_sum_card>0.00</fp_reg_cash_buyret_sum_card>
            <fp_reg_oper_moneyinput_count_global>-1</fp_reg_oper_moneyinput_count_global>
            <fp_reg_oper_moneyinput_count>1</fp_reg_oper_moneyinput_count>
            <fp_reg_cash_moneyinput_sum>2831.00</fp_reg_cash_moneyinput_sum>
            <fp_reg_oper_moneyoutput_count_global>-1</fp_reg_oper_moneyoutput_count_global>
            <fp_reg_oper_moneyoutput_count>0</fp_reg_oper_moneyoutput_count>
            <fp_reg_cash_moneyoutput_sum>0.00</fp_reg_cash_moneyoutput_sum>
            <fp_reg_oper_annulate_count_global>-1</fp_reg_oper_annulate_count_global>
            <fp_reg_oper_annulate_sale_count>-1</fp_reg_oper_annulate_sale_count>
            <fp_reg_cash_annulate_sale_sum>-1.00</fp_reg_cash_annulate_sale_sum>
            <fp_reg_oper_annulate_buy_count>-1</fp_reg_oper_annulate_buy_count>
            <fp_reg_cash_annulate_buy_sum>-1.00</fp_reg_cash_annulate_buy_sum>
            <fp_reg_oper_annulate_saleret_count>-1</fp_reg_oper_annulate_saleret_count>
            <fp_reg_cash_annulate_saleret_sum>-1.00</fp_reg_cash_annulate_saleret_sum>
            <fp_reg_oper_annulate_buyret_count>-1</fp_reg_oper_annulate_buyret_count>
            <fp_reg_cash_annulate_buyret_sum>-1.00</fp_reg_cash_annulate_buyret_sum>
            <fp_reg_cash_allcash_sum>7131.00</fp_reg_cash_allcash_sum>
            <fp_reg_cash_sale_sum_discount>0.00</fp_reg_cash_sale_sum_discount>
            <fp_reg_oper_sale_counts_discount>0</fp_reg_oper_sale_counts_discount>
            <fp_reg_cash_total_sale_sum>0</fp_reg_cash_total_sale_sum>
            <vat>
                        <sale>
                                    <vat10_sum>0.00</vat10_sum>
                                    <vat18_sum>253.98</vat18_sum>
                        </sale>
                        <return>
                                    <vat10_sum/>
                                    <vat18_sum/>
                        </return>
            </vat>
            <sum_with_vat>
                        <sale>
                                    <sum_with_vat_none/>
                                    <sum_with_vat0/>
                                    <sum_with_vat10>91.00</sum_wuth_vat10>
                                    <sum_with_vat18>285.00</sum_wuth_vat18>
                        </sale>
                        <return>
                                    <sum_with_vat_none/>
                                    <sum_with_vat0/>
                                    <sum_with_vat10/>
                                    <sum_with_vat18/>
                        </return>
            </sum_with_vat>
            <discount_misc>0</discount_misc>
        </zreport>
    </zreports>    
</root>    

Структура ответа сервера на примере ККМ Атол

id – сквозной номер z-отчёта в системе

terminal_id – номер принтера чеков в системе

terminal_number - номер кассы в зале

warehouse_external_id - идентификатор магазина во внешней системе

fiscal_number - заводской номер принтера чеков

guid – уникальный идентификатор отчёта

salesamount – Сумма продаж

saleschecks – количество чеков продаж в смену

session – номер смены

open_user_id – ID пользователя, открывшего смену

close_user_id - ID пользователя, закрывшего смену

open_user_corp_code – корпоративный код пользователя, открывшего смену

close_user_corp_code - корпоративный код пользователя, закрывшего смену

open_user_fio – ФИО пользователя, открывшего смену

close_user_fio - ФИО пользователя, закрывшего смену

open_datetime – дата и время открытия смены

close_datetime – дата и время закрытия смены

device_model_name - наименование модели ККМ

device_model_version - версия модели ККТ

short_fiscal_serial_number - краткий серийный номер ККТ

fp_reg_oper_sale_counts – количество всех регистраций по всем типам чеков

fp_reg_cash_sale_sum – сумма всех регистраций по всем типам чеков

fp_reg_cash_sale_sum_cash – сумма платежей тип чека 1, тип закрытия чека 0

fp_reg_cash_sale_sum_credit – сумма платежей тип чека 1, тип закрытия чека 2

fp_reg_cash_sale_sum_tare – сумма платежей тип чека 1, тип закрытия чека 2

fp_reg_cash_sale_sum_card – сумма платежей тип чека 1, тип закрытия чека 3

fp_reg_oper_buy_counts – количество всех регистраций по типу чека 4

fp_reg_cash_buy_sum – сумма всех регистраций по типу чека 4

fp_reg_cash_buy_sum_cash – сумма платежей тип чека 4, тип закрытия чека 0

fp_reg_cash_buy_sum_credit – сумма платежей тип чека 4, тип закрытия чека 1

fp_reg_cash_buy_sum_tare – сумма платежей тип чека 4, тип закрытия чека 2

fp_reg_cash_buy_sum_card – сумма платежей тип чека 4, тип закрытия чека 3

fp_reg_oper_saleret_counts – количество всех регистраций по типу чека 2

fp_reg_cash_saleret_sum – сумма всех регистраций по типу чека 2

fp_reg_cash_saleret_sum_cash – сумма платежей тип чека 2, тип закрытия чека 0

fp_reg_cash_saleret_sum_credit – сумма платежей тип чека 2, тип закрытия чека 1

fp_reg_cash_buyret_sum_tare – сумма платежей тип чека 2, тип закрытия чека 2

fp_reg_cash_saleret_sum_card – сумма платежей тип чека 2, тип закрытия чека 3

fp_reg_oper_buyret_counts – количество всех регистраций по типу чека 5

fp_reg_cash_buyret_sum – сумма всех регистраций по типу чека 5

fp_reg_cash_buyret_sum_cash – сумма платежей тип чека 5, тип закрытия чека 0

fp_reg_cash_buyret_sum_credit – сумма платежей тип чека 5, тип закрытия чека 1

fp_reg_cash_buyret_sum_tare – сумма платежей тип чека 5, тип закрытия чека 2

fp_reg_cash_buyret_sum_card – сумма платежей тип чека 5, тип закрытия чека 3

fp_reg_oper_moneyinput_count_global – не используется

fp_reg_oper_moneyinput_count – Количество всех внесений наличных денег в ККМ

fp_reg_cash_moneyinput_sum – Сумма внесений наличных денег в ККМ

fp_reg_oper_moneyoutput_count_global – не используется

fp_reg_oper_moneyoutput_count – количество всех выплат наличных денег из ККМ

fp_reg_cash_moneyoutput_sum – сумма выплат наличных денег из ККМ

fp_reg_oper_annulate_count_global – не используется

fp_reg_oper_annulate_sale_count – не используется

fp_reg_cash_annulate_sale_sum – не используется

fp_reg_cash_annulate_buy_sum – не используется

fp_reg_oper_annulate_saleret_count – не используется

fp_reg_cash_annulate_saleret_sum – не используется

fp_reg_oper_annulate_buyret_count – не используется

fp_reg_cash_annulate_buyret_sum – не используется

fp_reg_cash_allcash_sum – сумма наличности в ККМ

fp_reg_cash_sale_sum_discount – не используется

fp_reg_oper_sale_counts_discount – не используется

fp_reg_cash_total_sale_sum - необнуляемая сумма на конец смены

discount_misc - cумма продаж по купонам и сертификатам

Тип чека

0 – чек закрыт;

1 – чек прихода;

2 – чек возврата прихода;

4 – чек расхода;

5 – чек возврата расхода;

7 – чек коррекции прихода;

8 – чек коррекции возврата прихода;

9 – чек коррекции расхода;

10 – чек коррекции возврата расхода.

Тип закрытия чека

0 - наличными;

1 - тип оплаты 1;

2 - тип оплаты 2;

3 - тип оплаты 3 – по банковской карте;

4 - тип оплаты 4;

5 - тип оплаты 5.

Данные по итоговым на смену суммам НДС

vat/sale - данные о продажах:

vat/sale/vat10_sum - сумма НДС по ставке 10%

vat/sale/vat18_sum - сумма НДС по ставке 18%

vat/return - данные о возвратах:

vat/return/vat10_sum - сумма НДС по ставке 10%

vat/return/vat18_sum - сумма НДС по ставке 18%

Данные по итоговым на смену суммам чеков, в разрезе различных ставок НДС и типов чеков

sum_with_vat/sale - данные о продажах:

sum_with_vat/sale/sum_with_vat_none - сумма продаж по ставке «НДС не облагается»

sum_with_vat/sale/sum_with_vat0 - сумма продаж по ставке НДС 0%

sum_with_vat/sale/sum_with_vat10 - сумма продаж по ставке НДС 10%

sum_with_vat/sale/sum_with_vat18 - сумма продаж по ставке НДС 18%

sum_with_vat/return - данные о возвратах:

sum_with_vat/return/sum_with_vat_none - сумма возвратов по ставке «НДС не облагается»

sum_with_vat/return/sum_with_vat0 - сумма возвратов по ставке НДС 0%

sum_with_vat/return/sum_with_vat10 - сумма возвратов по ставке НДС 10%

sum_with_vat/return/sum_with_vat18 - сумма возвратов по ставке НДС 18%