CASHDESK API:Создание онлайн заказа: различия между версиями
Перейти к навигации
Перейти к поиску
Merkulov (обсуждение | вклад) |
Merkulov (обсуждение | вклад) |
||
| (не показано 35 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
== CASHDESK API== | |||
'''API''' (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой. | '''API''' (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой. | ||
| Строка 10: | Строка 11: | ||
base URL: https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders | base URL: https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders | ||
В | В '''HEADERS''' укажите значение access_token согласно: | ||
'''authorization''': Bearer <значение '''acces_token'''> | |||
В '''BODY''' запроса передайте заказ в JSON согласно структуре описанной в [https://kassa.bifit.com/cashdesk-api/v1/swagger-ui.html#/online_orders/createOnlineOrderUsingPOST 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 | |||
} | |||
=== Систем налогообложения === | |||
{| 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> | {{ Note |'''''Примечание'''''<br> | ||
Текущая версия на 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.