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

Материал из Касса
Перейти к навигации Перейти к поиску
Строка 5: Строка 5:
Для работы с 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>.


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


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


  base URL: https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders
  base URL: https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders
В рамках согласованного процесса, заказы создаются в статусе “Подтвержден” или “Новый”.
* Для заказов, передаваемых курьерам необходимо использовать статус NEW при создании заказа
* Для заказов самовывоза необходимо использовать статус ACCEPTED при создании заказа


Для самовывоза или доставки необходимо передавать "employeeAccess": null
Для самовывоза или доставки необходимо передавать "employeeAccess": null




В массив '''onlineOrder''' передаются следующие обязательные значения:
В '''body''' запроса передайте структура заказа в JSON


  {
    "visible": "true",  \\ Видимость онлайн-заказа
    "organizationId": "16286094820321052850480", \\ В какую организацию создаем заказ
    "tradeObjectId": "1628609482057-1613612358", \\ В какой торговый объект создаем заказ
    "taxSystem": "COMMON", \\ СНО заказа
    "externalId": "VQ12345678", \\ Номер заказа во внешней системе
    "deliveryType": "COURIER", \\ Тип доставки
    "paid": "false", \\ Флаг оплачен ли заказ, если значение true, привязать оплату более нельзя
    "employeeAccess": "NULL", \\ Поле, указывающее какому сотруднику принадлежит заказ, поле необязательное
    "orderTime": "1631094730812", \\ Время заказа - указываем фактическое время создания заказа, т.к в МКТ по данному времени будут сортироваться заказы
    "address": "Адрес", \\ Адрес доставки, для заказа вида "COURIER"
    "responsiblePersonLogin": "79295444301", \\ Логин Сотрудника, на кого назначается заказ. Ответственный за заказ.
    "currentStatusType": "NEW", \\ Поле статуса заказа
    "currentStatusTime": "1630936599865" \\ Время изменения статуса заказа, обязательное к передачи, при создании онлайн-заказа можно передавать то-же время что и в order_time
    "comment": "Комментарий",
    "totalAmount": "95", \\ Итоговая сумма заказа со всеми скидками, заказ будет считаться завершенным, после погашения данной суммы, данная сумма должна быть равна сумме цены всех позиций с учетом их кол-ва, скидок и НДС
  }
"onlineOrderItems": [
{"description": "бананы", \\ Наименование товара
"price": 1, \\ Цена продажи
"vatValue": null, \\ НДС
"quantity": 2, \\ Количество
"calculationMethod": "PREPAY_FULL", \\ Метод рассчета
"paymentSubject": "PRODUCT" }],
"client":
  {
  {
"organizationId": "1581081291940921668559",
    "onlineOrder": {
"address": "adress",
        "visible": true,
"phone": "79999999977",
        "created": 1644828163053,
"lastName": "Фамилия",
        "changed": 1644828163053,
"firstName": "Имя",
        "organizationId": "1579776541385873338810",
"organizationInn": "7735598855",
        "tradeObjectId": "1579776541389-605245476",
"organizationName": "Жилищник",
        "taxSystem": "COMMON",
"email": "string@string.ru" }
        "externalId": "BFt-002",
 
        "deliveryType": "COURIER",
При добавлении в заказ Оплаты, необходимо в запрос добавить следующую конструкцию:
        "deliveryAmount": null,
 
        "deliveryTime": null,
"onlineOrderPayments": [],
        "paid": false,
"properties": {
        "orderTime": 1644828134297,
"fullSettlement": true,
        "clientId": 124329,
"prepayment": false, \\ Предоплата
        "address": "Адрес",
"credit": false \\ Кредит
        "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
  }
,


{{ Note |'''''Примечание'''''<br>  
{{ Note |'''''Примечание'''''<br>  

Версия 11:47, 14 февраля 2022

CASHDESK service

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

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

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

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

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

Для самовывоза или доставки необходимо передавать "employeeAccess": null


В body запроса передайте структура заказа в JSON

{
   "onlineOrder": {
       "visible": true,
       "created": 1644828163053,
       "changed": 1644828163053,
       "organizationId": "1579776541385873338810",
       "tradeObjectId": "1579776541389-605245476",
       "taxSystem": "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
}

,

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

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