CASHDESK API:Создание онлайн заказа

Материал из Касса
Перейти к навигации Перейти к поиску

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",                       //Тип доставки COURIER - Курьером (либо SELF - Самовывоз)
       "deliveryAmount": null,                          //
       "deliveryTime": null,                            //Дата доставки в формате UNIX TIME
       "paid": false,                                   //Признак оплаты заказа
       "orderTime": 1644828134297,
       "clientId": 124329,                              //ID клиента
       "address": "Адрес",                              //Адрес доставки
       "responsiblePersonLogin": "7xxxxxxxxxx",         //Логин (номер телефона) ответственного сотрудника. После создания заказа логин будет равен логину создателя заказа
       "discount": 0.00,                                //Величина скидки на заказ (не используется)
       "discountType": 0,                               //Тип скидки на заказ (не используется)
       "location": null,                                //GPS координаты курьера
       "totalAmount": 14500.00,                         //Итоговая стоимость заказа
       "comment": null,                                 //Комментарий к заказу
       "currentStatusType": "NEW",                      //Текущий статус заказа 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.