Создание онлайн заказа по API: различия между версиями

Материал из Касса
Перейти к навигации Перейти к поиску
 
(не показано 12 промежуточных версий 2 участников)
Строка 1: Строка 1:
== CASHDESK API==
= CASHDESK API=


'''API''' (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.
'''API''' (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.


Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации OAuth2. С инструкцией авторизации по API можно ознакомиться <b>[https://kassa.bifit.com/wiki/index.php?title=ИНСТРУКЦИИ:Авторизация_при_интеграции_по_API здесь]</b>.
Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации OAuth2. С инструкцией авторизации по API можно ознакомиться <b>[https://kassa.bifit.com/wiki/index.php?title=ИНСТРУКЦИИ:Авторизация_при_интеграции_по_API здесь]</b>.
= Нумераторы =
{{ProductTable-2
|title-left='''TaxSystem''' - cистема налогообложения (тэг 1055). Если при регистрации устройства в ФНС было выбрано более одного режима налогообложения, то в '''TaxSystem''' необходимо указать, к какой системе налогообложения относится данный чек.
|title-right=
|content-left=
&nbsp;
* '''COMMON'''
* '''SIMPLIFIED'''
* '''SIMPLIFIED_WITH_EXPENSE'''
* '''COMMON_AGRICULTURAL'''
* '''PATENT'''
|content-right=
&nbsp;
* ОСН
* УСН доход
* УСН доход - расход
* ЕСХН
* ПАТЕНТ
|}}<br>
{{ProductTable-2
|title-left='''CalculationMethod''' - признак способа расчета (тэг 1214).
|title-right=
|content-left=
&nbsp;
* '''PREPAY_FULL'''
* '''PREPAY_PARTIAL '''
* '''AVANS'''
* '''FULL_PAY'''
* '''PARTIAL_SETTLEMENT_AND_CREDIT'''
* '''TRANSFER_ON_CREDIT'''
* '''CREDIT_PAYMENT'''
|content-right=
&nbsp;
* Полная предварительная оплата до момента передачи предмета расчёта
* Частичная предварительная оплата до момента передачи предмета расчёта
* Аванс
* Полная оплата, в том числе с учётом аванса (предварительной оплаты) в момент передачи предмета расчёта
* Частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит
* Передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит
* Оплата предмета расчёта после его передачи с оплатой в кредит (оплата кредита)
|}}<br>
{{ProductTable-2
|title-left='''vat''' - ставка НДС (тэг 1199).
|title-right=
|content-left=
&nbsp;
* '''WITHOUT_VAT'''
* '''VAT_0'''
* '''VAT_10'''
* '''VAT_20'''
* '''VAT_110'''
* '''VAT_120'''
|content-right=
&nbsp;
* Без НДС
* НДС 0%
* НДС 10%
* НДС 20% 
* НДС 10/110
* НДС 20/120
|}}<br>
{{ProductTable-2
|title-left='''PaymentSubject''' - признак предмета расчета (тэг 1212).
|title-right=
|content-left=
&nbsp;
* '''PRODUCT'''
* '''EXCISABLE_PRODUCT'''
* '''JOB'''
* '''SERVICE'''
* '''GAMBLING_RATE'''
* '''GAMBLING_WIN'''
* '''LOTTERY_TICKET'''
* '''LOTTERY_WIN'''
* '''PROVISION_RID'''
* '''PAYMENT'''
* '''AGENCY'''
* '''COMPOUND_SUBJECT'''
* '''OTHER_SUBJECT'''
* '''PROPERTY_LAW'''
* '''NON_OPERATING_INCOME'''
* '''INSURANCE_CONTRIBUTIONS'''
* '''TRADE_FEE'''
* '''RESORT_FEE'''
* '''PLEDGE'''
* '''CONSUMPTION'''
* '''CONTRIBUTIONS_MPI_SE'''
* '''CONTRIBUTIONS_MPI'''
* '''CONTRIBUTIONS_CHI_SE'''
* '''CONTRIBUTIONS_CHI'''
* '''CONTRIBUTIONS_MSI'''
* '''CASINO_PAYMENT'''
* '''MONEY_PAYMENT'''
* '''ATNM'''
* '''ATM'''
* '''TNM'''
* '''TM'''
|content-right=
&nbsp;
* Товар
* Подакцизный товар
* Работа
* Услуга
* Ставка азартной игры
* Выигрыш азартной игры
* Лотерейный билет
* Выигрыш лотереи
* Предоставление РИД
* Платеж
* Агентское вознаграждение
* Составной предмет расчета
* Иной предмет расчета
* Имущественное право
* Внереализованный доход
* Страховые взносы
* Торговый сбор
* Курортный сбор
* Залог
* Расход
* Взносы на ОПС ИП
* Взносы на ОПС
* Взносы на ОМС ИП
* Взносы на ОМС
* Взносы на ОСС
* Платеж казино
* Выплата
* Подакцизный маркируемый товар без КМ
* Подакцизный маркируемый товар c КМ
* Маркируемый товар без КМ
* Маркируемый товар с КМ
|}}<br>
{{ProductTable-2
|title-left='''address''' - телефон или электронный адрес покупателя (тэг 1008).
|title-right= 
|content-left= Телефон передаётся в формате "7ХХХХХХХХХХ"
|content-right=
|}}<br>


= Создание заказа =
= Создание заказа =
Строка 19: Строка 164:


{{Note|'''''Важно!'''''<br>
{{Note|'''''Важно!'''''<br>
В '''HEADERS''' укажите значение '''access_token''' согласно:'''authorization''': Bearer <значение '''acces_token'''> .|800}}
В '''HEADERS''' укажите значение '''access_token''' согласно:'''authorization''': Bearer <значение '''access_token'''> .|800}}
<br>


{{ProductTable-2
  |title-left= Request HEADERS
  |title-right='''HEADERS'''
|content-left=&nbsp;
* передача access_token
* отключение компрессии
|content-right=
<syntaxhighlight lang="JSON">
Authorization: "Bearer <значение access_token>"
Accept-Encoding: "deflate"
</syntaxhighlight>
|}}<br>


{{ProductTable-2
{{ProductTable-2
Строка 281: Строка 439:
{{Note|'''''Примечание'''''<br>
{{Note|'''''Примечание'''''<br>
После получения ID созданного онлайн заказа, укажите его в поисковом запросе  https://kassa.bifit.com/cashdesk/#/app_cashdesk/online_orders/list/  после знака /.|800}}
После получения ID созданного онлайн заказа, укажите его в поисковом запросе  https://kassa.bifit.com/cashdesk/#/app_cashdesk/online_orders/list/  после знака /.|800}}
== Дополнительные материалы ==
=== Систем налогообложения ===
{| class="wikitable"
|+ Таблица систем налогообложения
|-
! Значение нумератора !! Описание
|-
| '''COMMON''' || (ОСН - Общая система налогообложения)
|-
| '''SIMPLIFIED''' || (УСН 6% с дохода)
|-
| '''SIMPLIFIED_WITH_EXPENSE'''  || (УСН 15% доход - расход)
|-
|'''ENVD''' || ('''ЕНВД не используется с 01.01.2020''')
|-
| '''COMMON_AGRICULTURAL''' || (ЕСН или ЕСХН)
|-
| '''PATENT''' || (ПАТЕНТНАЯ система налогообложения)
|}
=== Статусы заказов ===
{| class="wikitable"
|+ Таблица статусов заказов
|-
! Значение нумератора !! Описание
|-
| '''NEW''' || НОВЫЙ
|-
| '''ACCEPTED''' || ПОДТВЕРЖДЕН
|-
| '''DISTRIBUTED'''  || РАСПРЕДЕЛЕН
|-
|'''ISSUED''' || ВЫДАННЫЙ
|-
| '''REFUSED''' || ОТКАЗ
|-
| '''DELETED''' || УДАЛЕН
|-
| '''FINISHED''' || ЗАВЕРШЕН
|}
=== Ставки НДС ===
{| class="wikitable"
|+ Таблица ставок НДС
|-
! Значение нумератора !! Описание
|-
| '''null''' || БЕЗ НДС
|-
| '''0''' || НДС 0%
|-
| '''10'''  || НДС 10%
|-
|'''20''' || НДС 20%
|-
| '''110''' || НДС 10/110%
|-
| '''120''' || НДС 20/120%
|}
=== Признаки способа расчётов ===
{| class="wikitable"
|+ Таблица признаков способа расчётов (тэг 1214)
|-
! Значение нумератора !! Описание
|-
| '''null''' || ПОЛНАЯ ОПЛАТА
|-
| '''FULL_PAY''' || ПОЛНАЯ ОПЛАТА
|-
| '''PREPAY_FULL'''  || 100% ПРЕДОПЛАТА
|-
|'''PREPAY''' || ЧАСТИЧНАЯ ПРЕДОПЛАТА
|}
=== Признаки предмета расчётов ===
{| class="wikitable"
|+ Таблица признаков предмета расчётов (тэг 1212)
|-
! Значение нумератора !! Описание
|-
| '''PRODUCT''' || ТОВАР
|-
| '''SERVICE''' || УСЛУГА
|-
| '''EXCISABLE_PRODUCT '''  || ПОДАКЦИЗНЫЙ ТОВАР
|-
|'''JOB''' || РАБОТА
|-
|'''GAMBLING_RATE''' || ИГРОВАЯ СТАВКА
|}
=== Типы маркировок ===
{| class="wikitable"
|+ Таблица типов маркировок
|-
! Значение нумератора !! Описание
|-
| '''UNKNOWN ''' || БЕЗ МАРКИРОВКИ
|-
| '''OTHER''' || МАРКИРОВКА (обувь, шины, духи, лег.пром, молоко)
|}
{{ Note |'''''Примечание'''''<br>
* При создании заказа, есть несколько видов доставки. Ознакомьтесь с типами доставки:
** "COURIER" - в случае, если используется курьерская доставка
** "SELF" - самовывоз, в этом случае адрес доставки не требуется, место расчетов в чеке берется из ККТ/ТО
** "SERVICE" - не используется
* Каждому созданному заказу присваивается определенный статус. Ознакомьтесь со статусами заказов:
** "ACCEPTED" -  статус “Подтвержден”, заказы в данном статусе доступны для отображения всем сотрудникам на МКТ. Используем при создании заказа.
** "DISTRIBUTED" - статус “Распределен”, заказы в данном статусе доступны для отображения на МКТ только тем сотрудникам, на которых эти заказы назначены.
** "REFUSED" - статус “Отменен”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, либо перевести заказ в данный статус из клиентского ПО, отменить заказ можно только в статусах "DISTRIBUTED","ACCEPTED".  Статус REFUSED необходимо использовать при отмене заказа в статусах DISTRIBUTED и ACCEPTED.
**"DELETED" - статус “Удален”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, заказ, в статусе “Удален” не будет доступен для работы, удалить можно только заказ в статусе "currentStatusType": "NEW". Статус DELETED необходимо использовать при отмене заказа только в статусе NEW.
|800}}

Текущая версия на 12:06, 28 июня 2024

CASHDESK API

API (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.

Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации OAuth2. С инструкцией авторизации по API можно ознакомиться здесь.

Нумераторы

TaxSystem - cистема налогообложения (тэг 1055). Если при регистрации устройства в ФНС было выбрано более одного режима налогообложения, то в TaxSystem необходимо указать, к какой системе налогообложения относится данный чек.
 
  • COMMON
  • SIMPLIFIED
  • SIMPLIFIED_WITH_EXPENSE
  • COMMON_AGRICULTURAL
  • PATENT
 
  • ОСН
  • УСН доход
  • УСН доход - расход
  • ЕСХН
  • ПАТЕНТ


CalculationMethod - признак способа расчета (тэг 1214).
 
  • PREPAY_FULL
  • PREPAY_PARTIAL
  • AVANS
  • FULL_PAY
  • PARTIAL_SETTLEMENT_AND_CREDIT
  • TRANSFER_ON_CREDIT
  • CREDIT_PAYMENT
 
  • Полная предварительная оплата до момента передачи предмета расчёта
  • Частичная предварительная оплата до момента передачи предмета расчёта
  • Аванс
  • Полная оплата, в том числе с учётом аванса (предварительной оплаты) в момент передачи предмета расчёта
  • Частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит
  • Передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит
  • Оплата предмета расчёта после его передачи с оплатой в кредит (оплата кредита)


vat - ставка НДС (тэг 1199).
 
  • WITHOUT_VAT
  • VAT_0
  • VAT_10
  • VAT_20
  • VAT_110
  • VAT_120
 
  • Без НДС
  • НДС 0%
  • НДС 10%
  • НДС 20%
  • НДС 10/110
  • НДС 20/120



PaymentSubject - признак предмета расчета (тэг 1212).
 
  • PRODUCT
  • EXCISABLE_PRODUCT
  • JOB
  • SERVICE
  • GAMBLING_RATE
  • GAMBLING_WIN
  • LOTTERY_TICKET
  • LOTTERY_WIN
  • PROVISION_RID
  • PAYMENT
  • AGENCY
  • COMPOUND_SUBJECT
  • OTHER_SUBJECT
  • PROPERTY_LAW
  • NON_OPERATING_INCOME
  • INSURANCE_CONTRIBUTIONS
  • TRADE_FEE
  • RESORT_FEE
  • PLEDGE
  • CONSUMPTION
  • CONTRIBUTIONS_MPI_SE
  • CONTRIBUTIONS_MPI
  • CONTRIBUTIONS_CHI_SE
  • CONTRIBUTIONS_CHI
  • CONTRIBUTIONS_MSI
  • CASINO_PAYMENT
  • MONEY_PAYMENT
  • ATNM
  • ATM
  • TNM
  • TM
 
  • Товар
  • Подакцизный товар
  • Работа
  • Услуга
  • Ставка азартной игры
  • Выигрыш азартной игры
  • Лотерейный билет
  • Выигрыш лотереи
  • Предоставление РИД
  • Платеж
  • Агентское вознаграждение
  • Составной предмет расчета
  • Иной предмет расчета
  • Имущественное право
  • Внереализованный доход
  • Страховые взносы
  • Торговый сбор
  • Курортный сбор
  • Залог
  • Расход
  • Взносы на ОПС ИП
  • Взносы на ОПС
  • Взносы на ОМС ИП
  • Взносы на ОМС
  • Взносы на ОСС
  • Платеж казино
  • Выплата
  • Подакцизный маркируемый товар без КМ
  • Подакцизный маркируемый товар c КМ
  • Маркируемый товар без КМ
  • Маркируемый товар с КМ



address - телефон или электронный адрес покупателя (тэг 1008).
Телефон передаётся в формате "7ХХХХХХХХХХ"


Создание заказа

Запрос POST
 
base URL: https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders
https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders


Note.svg Важно!
В HEADERS укажите значение access_token согласно:authorization: Bearer <значение access_token> .


Request HEADERS HEADERS
 
  • передача access_token
  • отключение компрессии
Authorization: "Bearer <значение access_token>"
Accept-Encoding: "deflate"


Request Body type: raw (JSON)
 

onlineOrder:

  • visible: Признак видимости заказа
  • created: Время создания в формате UNIX TIME
  • changed: Время создания в формате UNIX TIME
  • organizationId: ID организации
  • tradeObjectId: ID торгового объекта
  • taxSystem: Система налогообложения
  • externalId: Номер заказа в информационной системе интегратора
  • deliveryType: Тип доставки COURIER - Курьером (либо SELF - Самовывоз)
  • deliveryAmount: Стоимость услуги доставки
  • deliveryTime: Время доставки в формате UNIX TIME
  • paid: Признак оплаты заказа
  • orderTime:
  • clientId: ID клиента
  • address: Адрес доставки
  • responsiblePersonLogin: Логин (номер телефона) ответственного сотрудника. После создания заказа логин будет равен логину создателя заказа
  • discount: Величина скидки на заказ
  • discountType: Тип скидки на заказ
  • location: GPS координаты курьера
  • totalAmount: Итоговая стоимость заказа
  • comment: Комментарий к заказу
  • currentStatusType: Текущий статус заказа
  • currentStatusTime: Время изменения статуса заказа в формате UNIX TIME
  • substatusId: ID пользовательского статуса
  • shopId: ID интернет витрины
  • endLockTime:
  • routeSheetDocumentId: ID Маршрутного листа
  • routeSheetDocumentPosition:Номер позиции заказа в маршрутном листе
  • routeSheetDocumentNumber:
  • size:
  • actualDeliveryTime:
  • cashierName: Имя кассира
  • clientName: Имя клиента

onlineOrderItems:

  • nomenclatureId: ID номенклатурной позиции из справочника номенклатур
  • description: Наименование товарной позиции
  • price: Цена товарной позиции
  • vatValue: Величина ставки НДС
  • quantity: Кол-во
  • discount: % скидки
  • calculationMethod: Признак способа расчёта
  • paymentSubject: Признак предмета расчёта
  • contractorAddress: Адрес поставщика (при реализации агентских товаров и услуг)
  • contractorInn: ИНН поставщика (при реализации агентских товаров и услуг)
  • contractorName: Наименование организации поставщика (при реализации агентских товаров и услуг)
  • contractorPhone: Телефон поставщика (при реализации агентских товаров и услуг)
  • organizationPhone: Телефон
  • contractorActivityType: Вид деятельности поставщика
  • markType: Тип маркировки
  • codeForOfd: Код маркировки (КМ)
  • barcode: Штрих код позиции (EAN-8, EAN-13)
  • vendorCode: Артикул производителя
  • unitCode: Код единицы измерения по ОКЕИ
  • editable: Признак редактируемости позиции в приложении
  • total:
  • nomenclatureId:
  • description:
  • price:
  • vatValue:
  • quantity:
  • discount:
  • calculationMethod:
  • paymentSubject:
  • contractorAddress:
  • contractorInn:
  • contractorName:
  • contractorPhone:
  • organizationPhone:
  • contractorActivityType:
  • markType:
  • codeForOfd:
  • barcode:
  • vendorCode:
  • unitCode:
  • editable:
  • total:
  • nomenclatureId:
  • description:
  • price:
  • vatValue:
  • quantity:
  • discount:
  • calculationMethod:
  • paymentSubject:
  • contractorAddress:
  • contractorInn:
  • contractorName:
  • contractorPhone:
  • organizationPhone:
  • contractorActivityType:
  • markType:
  • codeForOfd:
  • barcode:
  • vendorCode:
  • unitCode:
  • editable:
  • total:

properties: Свойства

  • fullSettlement: Курьеру разрешено принимать полную оплату
  • prepayment: Курьеру запрещено принимать предоплату
  • credit: Курьеру запрещено передавать заказ в кредит

client:

  • organizationId: ID организации
  • address: Адрес доставки
  • phone: Номер телефона клиента
  • lastName: Фамилия клиента
  • firstName: Имя клиента клиента
  • patronymic: Отчество клиента клиента
  • email: Электронная почта клиента, сюда будет отправлен чек
  • comment: Комментарий
  • organizationId:
  • cashierInfos:
 {
    "onlineOrder": {
        "visible": true,                          
        "created": 1644828163053,         
        "changed": 1644828163053,          
        "organizationId": "<organization_id>",    
        "tradeObjectId": "<trade_object_id>",       
        "taxSystem": "COMMON",                      
        "externalId": "BFt-002",                     
        "deliveryType": "COURIER",       
        "deliveryAmount": null,           
        "deliveryTime": null,       
        "paid": false,           
        "orderTime": 1644828134297,
        "clientId": 124329,                  
        "address": "Адрес",               
        "responsiblePersonLogin": "7xxxxxxxxxx",  
        "discount": 0.00,     
        "discountType": 0,                           
        "location": null,                       
        "totalAmount": 14500.00,                     
        "comment": null,                              
        "currentStatusType": "NEW",                     
        "currentStatusTime": 1644828159791,            
        "substatusId": null,             
        "shopId": null,                        
        "endLockTime": null,
        "routeSheetDocumentId": null,           
        "routeSheetDocumentPosition": null,          
        "routeSheetDocumentNumber": null,
        "size": null,
        "actualDeliveryTime": null,
        "cashierName": null,      
        "clientName": null   
    },
    "onlineOrderItems": [
        {
            "nomenclatureId": 22090265,               
            "description": "Букет белых роз",      
            "price": 3000,                    
            "vatValue": 20,                        
            "quantity": 1,                 
            "discount": 0,                
            "calculationMethod": null,                  
            "paymentSubject": "PRODUCT",            
            "contractorAddress": null,                 
            "contractorInn": null,                    
            "contractorName": null,                     
            "contractorPhone": null,                 
            "organizationPhone": null,             
            "contractorActivityType": null,     
            "markType": "UNKNOWN",             
            "codeForOfd": null,         
            "barcode": null,           
            "vendorCode": null,      
            "unitCode": 796,                       
            "editable": true,                     
            "total": null                                
        },
        {
            "nomenclatureId": 22090204,
            "description": "Букет роз, 40 шт",
            "price": 7000,
            "vatValue": 20,
            "quantity": 1,
            "discount": 0,
            "calculationMethod": null,
            "paymentSubject": "PRODUCT",
            "contractorAddress": null,
            "contractorInn": null,
            "contractorName": null,
            "contractorPhone": null,
            "organizationPhone": null,
            "contractorActivityType": null,
            "markType": "UNKNOWN",
            "codeForOfd": null,
            "barcode": null,
            "vendorCode": null,
            "unitCode": 796,
            "editable": true,
            "total": null
        },
        {
            "nomenclatureId": 22090243,
            "description": "Букет розовых и белых роз, 15 штук",
            "price": 4500,
            "vatValue": 20,
            "quantity": 1,
            "discount": 0,
            "calculationMethod": null,
            "paymentSubject": "PRODUCT",
            "contractorAddress": null,
            "contractorInn": null,
            "contractorName": null,
            "contractorPhone": null,
            "organizationPhone": null,
            "contractorActivityType": null,
            "markType": "UNKNOWN",
            "codeForOfd": null,
            "barcode": null,
            "vendorCode": null,
            "unitCode": 796,
            "editable": true,
            "total": null
        }
    ],  
    "properties": {         
        "fullSettlement": true,     
        "prepayment": false, 
        "credit": false      
    },
    "client": {
        "organizationId": "<organization_id>", 
        "address": "Адрес",       
        "phone": "79999999999",  
        "lastName": "Иванов",    
        "firstName": "Иван", 
        "patronymic": "Иванович",          
        "email": "",                           
        "comment": null,                           
    },
    "organizationId": null,
    "cashierInfos": null
 }



Response
 
ID созданного онлайн заказа
406707


Note.svg Примечание
После получения ID созданного онлайн заказа, укажите его в поисковом запросе https://kassa.bifit.com/cashdesk/#/app_cashdesk/online_orders/list/ после знака /.