Облачная Касса: Отправка документа на фискализацию в процессинг (маркированный товар)

Материал из Касса
Перейти к навигации Перейти к поиску
Запрос регистрации чека (маркированный товар) POST
https://fp-test.bifit.com/processing-api/protected/documents/registration/receipts
https://fp-test.bifit.com/processing-api/protected/documents/registration/receipts


Request Headers
 
  • authorization: переменная для передачи access_token. Введите тип токена (в нашем случае слово "Bearer") перед значением access_token
  • idempotency-key: ключ идемпотентности. Уникальный идентификатор документа в рамках сервиса БИФИТ Онлайн. Ключ генерируется на стороне клиента и обеспечивает невозможность повторного выполнения запроса регистрации чека на сервере. Варианты формирования ключа:
    • Используйте GUID для генерации ключа идемпотентности (Рекомендуется)
    • Используйте правило генерации ключа: SHA256(Локальный номер документа & PIN(4 символа) & Сумма чека(ххх.хх) & ДатаВремя(ДД.ММ.ГГГГ ЧЧ:ММ)) для случаев, когда необходимо воспроизвести ключ по исходным данным с ИС отправителя запросов
      • Локальный номер документа: Локальный инкрементируемый счетчик в ИС отправителя запросов;
      • PIN: Зафиксированное значение в ИС отправителя запросов;
      • Сумма чека: Сумма чека, переданная в переменную total;
      • Время чека: Время зафиксированное в ИС отправителя;
 
authorization: "Bearer ero3UNcffhlKdn5e76i...edfr_JU"
idempotency-key: "sdftfc-KF784mkd-skdhkaasca_lf34hKxsf"


Request Body JSON структура
 
  • type: тип фискального документа, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • taxSystem: система налогообложения, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • cashier: информация о кассире
    • name: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • inn: ИНН кассира (не обязательный реквизит)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит)
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • groupSeparator: параметр для обозначения разделителей в кодах маркировки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • rawCode: Код маркировки товара (по ФФД 1.2).(ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ) Использование параметра code с 1 апреля 2022 года запрещено.
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
  • total: итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • payments: типы оплаты. В чеке должен быть указан хотя бы один тип оплаты (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • CASH: сумма по типу оплаты наличными (не обязательный реквизит)
 
{
    "type": "SALE",
    "taxSystem": "COMMON",
    "cashier": {
        "name": "Иванов И.И."
    },
    "client": {
        "address": "test@test.com"
    },
    "items": [
        {
            "calculationMethod": "FULL_PAY",
            "paymentSubject": "PRODUCT",
            "name": "Тест запрос",
            "groupSeparator": "KM",
            "rawСode": "010466006821276821zWyn8vjJ2rp0uKM91ffd0KM92uMMKlJp9zosKgBPHZlTt0o5MO/LvWVC/g1cZZGHIJDJ5r3YiMTZbGKNWxRpyNCJL+0c8/cvWySuAEv2niJD2sg==",
            "price": 100.00,
            "quantity": 1,
            "vat": "VAT_20",
            "total": 100.00
        }
    ],
    "total": 100.00,
    "payments": {
        "CASH": 100.00
    }
}


Note.svg Примечание
Все коды маркировки, за исключением Табачной, имеют в своем коде так называемые "разделители". Пример кода маркировки под ФФД 1.2 (обувь):

010466006821276821zWyn8vjJ2rp0u�91ffd092uMMKlJp9zosKgBPHZlTt0o5MO/LvWVC/g1cZZGHIJDJ5r3YiMTZbGKNWxRpyNCJL+0c8/cvWySuAEv2niJD2sg==
  • � - являются разделителями

При передаче кодов маркировки касса может не воспринять эти символы и код будет считаться некорректным.


   Для корректности передачи кодов маркировки существует параметр groupSeparator. Значение groupSeparator задается вручную (допустимо задать любое значение).


   Далее при передаче кодов маркировки через кассу необходимо заменить значки разделителей на значение groupSeparator, которое вы задали самостоятельно. Касса будет воспринимать это значение как "разделитель" и код маркировки будет передан корректно.


Response
 
  • Ответ сервера содержит ID зарегистрированного чека
 
257415


См. также