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

Материал из Касса
Перейти к навигации Перейти к поиску
Запрос регистрации чека (маркированный товар) 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"



Note.svg Важно!
В случае использования аптечной организацией ККТ предусмотрена возможность передачи сведений о розничной продаже ЛП* через ОФД* в соответствии с Федеральным законом от 22.05.2003 № 54-ФЗ.
Сведения о продаже ЛП в рамках розничной торговли передаются в ИС МДЛП* средствами путем взаимодействия с информационными системами ОФД. В связи с этим в чек должны передаваться обязательные реквизиты.

  • ЛП - Лекарственные препараты для медицинского применения
  • ОФД - Оператор фискальных данных
  • ИС МДЛП - Федеральная государственная информационная система мониторинга движения лекарственных препаратов для медицинского применения


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: сумма товарной позиции с учетом примененных скидок/надбавок
  • OperationalRequisite: отраслевой реквизит (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ при реализации лекарственных препаратов)
    • data : значение реквизита "идентификатор ФОИВ". По умолчанию "020" - Министерство здравоохранения Российской Федерации (Таблица 149. Значения реквизита "идентификатор ФОИВ" (тег 1262)) (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • date : Дата документа основания (указывается в формате "ДД.MM.ГГГГ" по умолчанию "14.12.2018") (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • id : Номер документа основания (по умолчанию: "1556" - Положение о системе мониторинга № 1556) (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • total: итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • payments: типы оплаты. В чеке должен быть указан хотя бы один тип оплаты (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • CASH: сумма по типу оплаты наличными (не обязательный реквизит)
 
{
    "type": "SALE",
    "taxSystem": "COMMON",
    "contractorAddress": "г. Москва",
    "contractorInn": "7719617469",
    "contractorName": "АО БИФИТ",
    "contractorPhone": "79999999999",
    "organizationPhone": "79999999999",
    "contractorActivityType": null,
    "cashier": {
        "name": "Иванов И.И."
    },
    "client": {
        "address": "test@test.com"
    },
    "items": [
        {
            "calculationMethod": "FULL_PAY",
            "paymentSubject": "PRODUCT",
            "name": "Тест запрос Лекарства",
            "groupSeparator": "KM",
            "rawcode": "010466006821276821zWyn8vjJ2rp0uKM91ffd0KM92uMMKlJp9zosKgBPHZlTt0o5MO/LvWVC/g1cZZGHIJDJ5r3YiMTZbGKNWxRpyNCJL+0c8/cvWySuAEv2niJD2sg==",
            "price": 100.00,
            "quantity": 1,
            "vat": "VAT_20",
            "total": 100.00
        }
    ],
    "OperationalRequisite": {
        "data": "020",
        "date": "14.12.2018",
        "id": "1556"
    },
    "total": 100.00,
    "payments": {
        "CASH": 100.00
    }
}


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

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

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


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


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


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


См. также