CASHDESK API:Создание онлайн заказа: различия между версиями
Merkulov (обсуждение | вклад) |
Mediawiki (обсуждение | вклад) |
||
Строка 20: | Строка 20: | ||
В массив '''onlineOrder''' передаются следующие обязательные значения: | В массив '''onlineOrder''' передаются следующие обязательные значения: | ||
{ | |||
"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": [ | "onlineOrderItems": [ |
Версия 15:26, 11 февраля 2022
API (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.
Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации OAuth2. С инструкцией авторизации по API можно ознакомиться здесь.
Создание заказа
Подготовьте POST запрос следующего вида:
base URL: https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders
В рамках согласованного процесса, заказы создаются в статусе “Подтвержден” или “Новый”.
- Для заказов, передаваемых курьерам необходимо использовать статус NEW при создании заказа
- Для заказов самовывоза необходимо использовать статус ACCEPTED при создании заказа
Для самовывоза или доставки необходимо передавать "employeeAccess": null
В массив onlineOrder передаются следующие обязательные значения:
{ "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", "address": "adress", "phone": "79999999977", "lastName": "Фамилия", "firstName": "Имя", "organizationInn": "7735598855", "organizationName": "Жилищник", "email": "string@string.ru" }
При добавлении в заказ Оплаты, необходимо в запрос добавить следующую конструкцию:
"onlineOrderPayments": [], "properties": { "fullSettlement": true, "prepayment": false, \\ Предоплата "credit": false \\ Кредит },
- При создании заказа, есть несколько видов доставки. Ознакомьтесь с типами доставки:
- "COURIER" - в случае, если используется курьерская доставка
- "SELF" - самовывоз, в этом случае адрес доставки не требуется, место расчетов в чеке берется из ККТ/ТО
- "SERVICE" - не используется
- Каждому созданному заказу присваивается определенный статус. Ознакомьтесь со статусами заказов:
- "ACCEPTED" - статус “Подтвержден”, заказы в данном статусе доступны для отображения всем сотрудникам на МКТ. Используем при создании заказа.
- "DISTRIBUTED" - статус “Распределен”, заказы в данном статусе доступны для отображения на МКТ только тем сотрудникам, на которых эти заказы назначены.
- "REFUSED" - статус “Отменен”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, либо перевести заказ в данный статус из клиентского ПО, отменить заказ можно только в статусах "DISTRIBUTED","ACCEPTED". Статус REFUSED необходимо использовать при отмене заказа в статусах DISTRIBUTED и ACCEPTED.
- "DELETED" - статус “Удален”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, заказ, в статусе “Удален” не будет доступен для работы, удалить можно только заказ в статусе "currentStatusType": "NEW". Статус DELETED необходимо использовать при отмене заказа только в статусе NEW.