close_shift

Данный метод предназначен для закрытия смены с последующим получением Z-отчета.

Входные данные:

  • null
  • либо CloseShiftRequest, если требуется сохранить и распечатать имя кассира, закрывшего смену.

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

  • Report в случае успеха.
  • ошибка AVQFR_SESSION_NOT_AUTHORIZED в случае, если сессия не авторизована.
  • ошибка AVQFR_SHIFT_IS_CLOSED в случае, если смена закрыта.
  • ошибка AVQFR_NEGATIVE_SHIFT_BALANCE в случае, если имеются наличные в кассе.

Важно: для закрытия смены, требуется полное изъятие наличных.


Примеры

Успех (с именем кассира)

Запрос:

{
  "type": "send",
  "address": "ik.service.token.shift",
  "reply_address": "example",
  "data": {
    "cashier": "Администратор"
  },
  "headers": {
    "action": "closeShift",
    "token": "AVQ11031010703",
    "tokens.refresh": "true"
  }
}

Ответ:

{
  "type": "send",
  "address": "example",
  "reply_address": null,
  "data": {
    "cashier": "Администратор",
    "close_date": "2021-09-13T22:31:24+03:00",
    "company_name": "ИП Моров А.М.",
    "counters": [
      {
        "cancels_count": 0,
        "cancels_sum": "0.00",
        "corrections_count": 0,
        "corrections_sum": "0.00",
        "currency": "BYN",
        "deposits_count": 0,
        "deposits_sum": "0.00",
        "extended_counters": null,
        "income": "4161.40",
        "money_backs_count": 0,
        "money_backs_sum": "0.00",
        "rollbacks_count": 0,
        "rollbacks_sum": "0.00",
        "sales_cash_sum": "0.00",
        "sales_cashless_sum": "0.00",
        "sales_count": 0,
        "sales_sum": "0.00",
        "withdraws_count": 0,
        "withdraws_sum": "0.00"
      }
    ],
    "device_id": 131010703,
    "first_sale_number": 0,
    "last_sale_number": 0,
    "number": 159,
    "open_date": "2021-09-13T22:16:33+03:00",
    "sales_count": 0,
    "tax_number": 191832203,
    "uid": "ACB32AEF876DFDD307CF108F"
  },
  "headers": null
}

Успех (без имени кассира)

Запрос:

{
  "type": "send",
  "address": "ik.service.token.shift",
  "reply_address": "example",
  "data": null,
  "headers": {
    "tokens.refresh": "true",
    "action": "closeShift",
    "token": "AVQ11031010703"
  }
}

Ответ:

{
  "type": "send",
  "address": "example",
  "reply_address": null,
  "data": {
    "cashier": null,
    "close_date": "2021-09-13T22:32:44+03:00",
    "company_name": "ИП Моров А.М.",
    "counters": [
      {
        "cancels_count": 0,
        "cancels_sum": "0.00",
        "corrections_count": 0,
        "corrections_sum": "0.00",
        "currency": "BYN",
        "deposits_count": 0,
        "deposits_sum": "0.00",
        "extended_counters": null,
        "income": "4161.40",
        "money_backs_count": 0,
        "money_backs_sum": "0.00",
        "rollbacks_count": 0,
        "rollbacks_sum": "0.00",
        "sales_cash_sum": "0.00",
        "sales_cashless_sum": "0.00",
        "sales_count": 0,
        "sales_sum": "0.00",
        "withdraws_count": 0,
        "withdraws_sum": "0.00"
      }
    ],
    "device_id": 131010703,
    "first_sale_number": 0,
    "last_sale_number": 0,
    "number": 160,
    "open_date": "2021-09-13T22:32:44+03:00",
    "sales_count": 0,
    "tax_number": 191832203,
    "uid": "369DF290AC86E05D07CF108F"
  },
  "headers": null
}

Ошибка (сессия не авторизована)

Запрос:

{
  "type": "send",
  "address": "ik.service.token.shift",
  "reply_address": "example",
  "data": null,
  "headers": {
    "tokens.refresh": "true",
    "action": "closeShift",
    "token": "AVQ11031010703"
  }
}

Ответ:

{
  "type": "error",
  "address": "example",
  "reply_address": null,
  "data": {
    "description": "сессия не авторизована (команда требует обязательной авторизации)",
    "name": "AVQFR_SESSION_NOT_AUTHORIZED"
  },
  "headers": null
}

Ошибка (смена закрыта)

Запрос:

{
  "type": "send",
  "address": "ik.service.token.shift",
  "reply_address": "example",
  "data": null,
  "headers": {
    "tokens.refresh": "true",
    "action": "closeShift",
    "token": "AVQ11031010703"
  }
}

Ответ:

{
  "type": "error",
  "address": "example",
  "reply_address": null,
  "data": {
    "description": "смена закрыта (команда возможна только при открытой смене)",
    "name": "AVQFR_SHIFT_IS_CLOSED"
  },
  "headers": null
}

Ошибка (Имеются наличные в СКО)

Запрос:

{
  "type": "send",
  "address": "ik.service.token.shift",
  "reply_address": "example",
  "data": null,
  "headers": {
    "tokens.refresh": "true",
    "action": "closeShift",
    "token": "AVQ11031010703"
  }
}

Ответ:

{
  "type": "error",
  "address": "example",
  "reply_address": null,
  "data": {
    "description": "получен отрицательный сменный баланс",
    "name": "AVQFR_NEGATIVE_SHIFT_BALANCE"
  },
  "headers": null
}

Пример запроса с комментариями

{
	"type": "send",
	"address": "ik.service.token.shift",
	"data": {
		"cashier": "Администратор",
		"comments": {
			"top": {
				"before": "Магазин ASD"
			}
		}
	},
	"headers": {
		"action": "closeShift",
		"token": "AVQ11071080699",
		"tokens.refresh": "true",
		"sid": "f46dfb7b-2124-4790-ad89-32f3adbe2edf",
		"printer.usb.vendor": "1137",
		"printer.usb.product": "85"
	}
}