CASHDESK API:Создание онлайн заказа
Версия от 13:17, 14 февраля 2022; Mediawiki (обсуждение | вклад)
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, "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 | (ПАТЕНТНАЯ система налогообложения) |
Статусы заказов
Значение нумератора | Описание |
---|---|
NEW | НОВЫЙ |
ACCEPTED | ПОДТВЕРЖДЕН |
DISTRIBUTED | РАСПРЕДЕЛЕН |
ISSUED | ВЫДАННЫЙ |
REFUSED | ОТКАЗ |
DELETED | УДАЛЕН |
FINISHED | ЗАВЕРШЕН |
- При создании заказа, есть несколько видов доставки. Ознакомьтесь с типами доставки:
- "COURIER" - в случае, если используется курьерская доставка
- "SELF" - самовывоз, в этом случае адрес доставки не требуется, место расчетов в чеке берется из ККТ/ТО
- "SERVICE" - не используется
- Каждому созданному заказу присваивается определенный статус. Ознакомьтесь со статусами заказов:
- "ACCEPTED" - статус “Подтвержден”, заказы в данном статусе доступны для отображения всем сотрудникам на МКТ. Используем при создании заказа.
- "DISTRIBUTED" - статус “Распределен”, заказы в данном статусе доступны для отображения на МКТ только тем сотрудникам, на которых эти заказы назначены.
- "REFUSED" - статус “Отменен”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, либо перевести заказ в данный статус из клиентского ПО, отменить заказ можно только в статусах "DISTRIBUTED","ACCEPTED". Статус REFUSED необходимо использовать при отмене заказа в статусах DISTRIBUTED и ACCEPTED.
- "DELETED" - статус “Удален”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, заказ, в статусе “Удален” не будет доступен для работы, удалить можно только заказ в статусе "currentStatusType": "NEW". Статус DELETED необходимо использовать при отмене заказа только в статусе NEW.