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

Материал из Касса
Перейти к навигации Перейти к поиску
Строка 24: Строка 24:
         "created": 1644828163053,                        //Дата создания в формате UNIX TIME
         "created": 1644828163053,                        //Дата создания в формате UNIX TIME
         "changed": 1644828163053,                        //Дата создания в формате UNIX TIME
         "changed": 1644828163053,                        //Дата создания в формате UNIX TIME
         "organizationId": "<''organization_id''>",       //ID организации
         "organizationId": "<''organization_id''>",       //ID организации
         "tradeObjectId": "<''trade_object_id''>",       //ID торгового объекта
         "tradeObjectId": "<''trade_object_id''>",         //ID торгового объекта
         "taxSystem": "COMMON",                          //Система налогообложения '''COMMON''' - ОСН (см. раздел СИСТЕМЫ НАЛОГООБЛОЖЕНИЯ)
         "taxSystem": "COMMON",                          //Система налогообложения '''COMMON''' - ОСН (см. "Таблицу систем налогообложения")
         "externalId": "BFt-002",
         "externalId": "BFt-002",
         "deliveryType": "COURIER",
         "deliveryType": "COURIER",

Версия 12:55, 14 февраля 2022

CASHDESK service

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

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

Создание заказа в статусе НОВЫЙ

Подготовьте POST запрос следующего вида:

base URL: https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders

В HEADERS укажите значение access_token согласно:

authorization: Bearer <значение acces_token>


В BODY запроса передайте заказа в JSON согласно структуре описанной в SWAGGER.

Пример JSON:

{
   "onlineOrder": {
       "visible": true,                                 //Признак видимости заказа
       "created": 1644828163053,                        //Дата создания в формате UNIX TIME
       "changed": 1644828163053,                        //Дата создания в формате UNIX TIME
       "organizationId": "<organization_id>",        //ID организации
       "tradeObjectId": "<trade_object_id>",         //ID торгового объекта
       "taxSystem": "COMMON",                           //Система налогообложения COMMON - ОСН (см. "Таблицу систем налогообложения")
       "externalId": "BFt-002",
       "deliveryType": "COURIER",
       "deliveryAmount": null,
       "deliveryTime": null,
       "paid": false,
       "orderTime": 1644828134297,
       "clientId": 124329,
       "address": "Адрес",
       "responsiblePersonLogin": "79916871260",
       "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": [
       {
           "id": 1822619,
           "onlineOrderId": 313626,
           "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
       },
       {
           "id": 1822620,
           "onlineOrderId": 313626,
           "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
       },
       {
           "id": 1822621,
           "onlineOrderId": 313626,
           "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
       }
   ],
   "onlineOrderStatuses": [
       {
           "id": 1514412,
           "onlineOrderId": 313626,
           "statusType": "NEW",
           "substatusId": null,
           "statusDate": 1644828159791,
           "statusInfo": null,
           "userLogin": "79916871260"
       }
   ],
   "onlineOrderPayments": [],
   "properties": {
       "fullSettlement": true,
       "prepayment": false,
       "credit": false
   },
   "onlineOrderReceipts": [],
   "onlineOrderReceiptsItems": [],
   "onlineOrderReceiptsHistories": [],
   "responsiblePerson": {
       "lastName": "Иванов",
       "firstName": "Иван",
       "patronymic": "Иванович",
       "phoneNumber": "79916871260",
       "organizationId": "1579776541385873338810",
       "position": null,
       "userRole": "Администратор",
       "rolePerms": 4641661977478446448639
   },
   "client": {
       "organizationId": "1579776541385873338810",
       "address": "Адрес",
       "phone": "79999999999",
       "lastName": "Тестов",
       "firstName": "Тест",
       "patronymic": "Тестович",
       "organizationInn": "7743012365",
       "organizationName": "Сбер покупатель",
       "email": "",
       "comment": null,
       "status": "ACTIVE",
       "loyalty": "111111",
       "id": 124329
   },
   "organizationId": null,
   "cashierInfos": null
}

Систем налогообложения

Таблица систем налогообложения
Значение нумератора Описание
COMMON (ОСН - Общая система налогообложения)
SIMPLIFIED (УСН 6% с дохода)
SIMPLIFIED_WITH_EXPENSE (УСН 15% доход - расход)
ENVD (ЕНВД не используется с 01.01.2020)
COMMON_AGRICULTURAL (ЕСН или ЕСХН)
PATENT (ПАТЕНТНАЯ система налогообложения)

Note.svg Примечание

  • При создании заказа, есть несколько видов доставки. Ознакомьтесь с типами доставки:
    • "COURIER" - в случае, если используется курьерская доставка
    • "SELF" - самовывоз, в этом случае адрес доставки не требуется, место расчетов в чеке берется из ККТ/ТО
    • "SERVICE" - не используется
  • Каждому созданному заказу присваивается определенный статус. Ознакомьтесь со статусами заказов:
    • "ACCEPTED" - статус “Подтвержден”, заказы в данном статусе доступны для отображения всем сотрудникам на МКТ. Используем при создании заказа.
    • "DISTRIBUTED" - статус “Распределен”, заказы в данном статусе доступны для отображения на МКТ только тем сотрудникам, на которых эти заказы назначены.
    • "REFUSED" - статус “Отменен”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, либо перевести заказ в данный статус из клиентского ПО, отменить заказ можно только в статусах "DISTRIBUTED","ACCEPTED". Статус REFUSED необходимо использовать при отмене заказа в статусах DISTRIBUTED и ACCEPTED.
    • "DELETED" - статус “Удален”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, заказ, в статусе “Удален” не будет доступен для работы, удалить можно только заказ в статусе "currentStatusType": "NEW". Статус DELETED необходимо использовать при отмене заказа только в статусе NEW.