CASHDESK API:Создание онлайн заказа: различия между версиями
		
		
		
		
		
		Перейти к навигации
		Перейти к поиску
		
				
		
		
	
| Mediawiki (обсуждение | вклад) | Merkulov (обсуждение | вклад)  | ||
| (не показано 8 промежуточных версий 2 участников) | |||
| Строка 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 запрос следующего вида: | ||
| Строка 15: | Строка 15: | ||
| В '''BODY''' запроса передайте  | В '''BODY''' запроса передайте заказ в JSON согласно структуре описанной в [https://kassa.bifit.com/cashdesk-api/v1/swagger-ui.html#/online_orders/createOnlineOrderUsingPOST SWAGGER]. | ||
| ''Пример JSON:'' | ''Пример JSON:'' | ||
| Строка 75: | Строка 75: | ||
|              "vendorCode": null,                          ''//Артикул производителя''   |              "vendorCode": null,                          ''//Артикул производителя''   | ||
|              "unitCode": 796,                             ''//Код единицы измерения по ОКЕИ''   |              "unitCode": 796,                             ''//Код единицы измерения по ОКЕИ''   | ||
|              "editable": true,                            ''//Признак редактируемости позиции''   |              "editable": true,                            ''//Признак редактируемости позиции в приложении''   | ||
|              "total": null |              "total": null                                 | ||
|          }, |          }, | ||
|          { |          { | ||
|              "nomenclatureId": 22090204, |              "nomenclatureId": 22090204, | ||
|              "description": "Букет роз, 40 шт", |              "description": "Букет роз, 40 шт", | ||
| Строка 104: | Строка 102: | ||
|          }, |          }, | ||
|          { |          { | ||
|              "nomenclatureId": 22090243, |              "nomenclatureId": 22090243, | ||
|              "description": "Букет розовых и белых роз, 15 штук", |              "description": "Букет розовых и белых роз, 15 штук", | ||
| Строка 128: | Строка 124: | ||
|              "total": null |              "total": null | ||
|          } |          } | ||
|      ], |      ],   | ||
|      "properties": {                                     ''//Свойства''  | |||
|          "fullSettlement": true,                         ''//Курьеру разрешено принимать полную оплату''  | |||
|          "prepayment": false,                            ''//Курьеру запрещено принимать предоплату''  | |||
|          "credit": false                                 ''//Курьеру запрещено передавать заказ в кредит''  | |||
|      "properties": { | |||
|          "fullSettlement": true, | |||
|          "prepayment": false, | |||
|          "credit": false | |||
|      }, |      }, | ||
|      "client": { |      "client": { | ||
|          "organizationId": " |          "organizationId": "<''organization_id''>",      ''//ID организации'' | ||
|          "address": "Адрес", |          "address": "Адрес",                             ''//Адрес доставки'' | ||
|          "phone": "79999999999", |          "phone": "79999999999",                         ''//Номер телефона клиента'' | ||
|          "lastName": " |          "lastName": "Иванов",                           ''//Фамилия клиента'' | ||
|          "firstName": " |          "firstName": "Иван",                            ''//Имя клиента клиента'' | ||
|          "patronymic": " |          "patronymic": "Иванович",                       ''//Отчество клиента клиента'' | ||
|          " |          "email": "",                                    ''//Электронная почта клиента, сюда будет отправлен чек'' | ||
|          "comment": null,                                ''//Комментарий'' | |||
|          "comment": null, | |||
|      }, |      }, | ||
|      "organizationId": null, |      "organizationId": null, | ||
Текущая версия на 17:16, 23 марта 2022
CASHDESK API
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,              //Время изменения статуса заказа в формате UNIX TIME
       "substatusId": null,                             //ID пользовательского статуса
       "shopId": null,                                  //ID интернет витрины
       "endLockTime": null,
       "routeSheetDocumentId": null,                    //ID Маршрутного листа
       "routeSheetDocumentPosition": null,              //Номер позиции заказа в маршрутном листе
       "routeSheetDocumentNumber": null,
       "size": null,
       "actualDeliveryTime": null,
       "cashierName": null,                             //Имя кассира
       "clientName": null                               //Имя клиента
   },
   "onlineOrderItems": [
       {
           "nomenclatureId": 22090265,                  //ID номенклатурной позиции из справочника номенклатур
           "description": "Букет белых роз",            //Наименование товарной позиции
           "price": 3000,                               //Цена товарной позиции
           "vatValue": 20,                              //Величина ставки НДС (см. Таблица ставок НДС)
           "quantity": 1,                               //Кол-во
           "discount": 0,                               //% скидки
           "calculationMethod": null,                   //Признак способа расчёта (см. Таблица признаков способа расчётов (тэг 1214))
           "paymentSubject": "PRODUCT",                 //Признак предмета расчёта (см. Таблица признаков предмета расчётов (тэг 1212))
           "contractorAddress": null,                   //Адрес поставщика (при реализации агентских товаров и услуг) 
           "contractorInn": null,                       //ИНН поставщика (при реализации агентских товаров и услуг) 
           "contractorName": null,                      //Наименование организации поставщика (при реализации агентских товаров и услуг) 
           "contractorPhone": null,                     //Телефон поставщика (при реализации агентских товаров и услуг) 
           "organizationPhone": null,                   //Телефон 
           "contractorActivityType": null,              // 
           "markType": "UNKNOWN",                       //Тип маркировки (см. Таблица Типов маркировок) 
           "codeForOfd": null,                          //Код маркировки (КМ) 
           "barcode": null,                             //Штрих код позиции (EAN-8, EAN-13) 
           "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>",      //ID организации
       "address": "Адрес",                             //Адрес доставки
       "phone": "79999999999",                         //Номер телефона клиента
       "lastName": "Иванов",                           //Фамилия клиента
       "firstName": "Иван",                            //Имя клиента клиента
       "patronymic": "Иванович",                       //Отчество клиента клиента
       "email": "",                                    //Электронная почта клиента, сюда будет отправлен чек
       "comment": null,                                //Комментарий
   },
   "organizationId": null,
   "cashierInfos": null
}
Систем налогообложения
| Значение нумератора | Описание | 
|---|---|
| COMMON | (ОСН - Общая система налогообложения) | 
| SIMPLIFIED | (УСН 6% с дохода) | 
| SIMPLIFIED_WITH_EXPENSE | (УСН 15% доход - расход) | 
| ENVD | (ЕНВД не используется с 01.01.2020) | 
| COMMON_AGRICULTURAL | (ЕСН или ЕСХН) | 
| PATENT | (ПАТЕНТНАЯ система налогообложения) | 
Статусы заказов
| Значение нумератора | Описание | 
|---|---|
| NEW | НОВЫЙ | 
| ACCEPTED | ПОДТВЕРЖДЕН | 
| DISTRIBUTED | РАСПРЕДЕЛЕН | 
| ISSUED | ВЫДАННЫЙ | 
| REFUSED | ОТКАЗ | 
| DELETED | УДАЛЕН | 
| FINISHED | ЗАВЕРШЕН | 
Ставки НДС
| Значение нумератора | Описание | 
|---|---|
| null | БЕЗ НДС | 
| 0 | НДС 0% | 
| 10 | НДС 10% | 
| 20 | НДС 20% | 
| 110 | НДС 10/110% | 
| 120 | НДС 20/120% | 
Признаки способа расчётов
| Значение нумератора | Описание | 
|---|---|
| null | ПОЛНАЯ ОПЛАТА | 
| FULL_PAY | ПОЛНАЯ ОПЛАТА | 
| PREPAY_FULL | 100% ПРЕДОПЛАТА | 
| PREPAY | ЧАСТИЧНАЯ ПРЕДОПЛАТА | 
Признаки предмета расчётов
| Значение нумератора | Описание | 
|---|---|
| PRODUCT | ТОВАР | 
| SERVICE | УСЛУГА | 
| EXCISABLE_PRODUCT | ПОДАКЦИЗНЫЙ ТОВАР | 
| JOB | РАБОТА | 
| GAMBLING_RATE | ИГРОВАЯ СТАВКА | 
Типы маркировок
| Значение нумератора | Описание | 
|---|---|
| UNKNOWN | БЕЗ МАРКИРОВКИ | 
| OTHER | МАРКИРОВКА (обувь, шины, духи, лег.пром, молоко) | 
- При создании заказа, есть несколько видов доставки. Ознакомьтесь с типами доставки:
- "COURIER" - в случае, если используется курьерская доставка
- "SELF" - самовывоз, в этом случае адрес доставки не требуется, место расчетов в чеке берется из ККТ/ТО
- "SERVICE" - не используется
 
- Каждому созданному заказу присваивается определенный статус. Ознакомьтесь со статусами заказов:
- "ACCEPTED" - статус “Подтвержден”, заказы в данном статусе доступны для отображения всем сотрудникам на МКТ. Используем при создании заказа.
- "DISTRIBUTED" - статус “Распределен”, заказы в данном статусе доступны для отображения на МКТ только тем сотрудникам, на которых эти заказы назначены.
- "REFUSED" - статус “Отменен”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, либо перевести заказ в данный статус из клиентского ПО, отменить заказ можно только в статусах "DISTRIBUTED","ACCEPTED". Статус REFUSED необходимо использовать при отмене заказа в статусах DISTRIBUTED и ACCEPTED.
- "DELETED" - статус “Удален”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, заказ, в статусе “Удален” не будет доступен для работы, удалить можно только заказ в статусе "currentStatusType": "NEW". Статус DELETED необходимо использовать при отмене заказа только в статусе NEW.
 
