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

Материал из Касса
Перейти к навигации Перейти к поиску
Строка 20: Строка 20:
В массив '''onlineOrder''' передаются следующие обязательные значения:
В массив '''onlineOrder''' передаются следующие обязательные значения:


"visible": "true",  \\ Видимость онлайн-заказа
  {
!"organizationId": "16286094820321052850480", \\ В какую организацию создаем заказ
    "visible": "true",  \\ Видимость онлайн-заказа
!"tradeObjectId": "1628609482057-1613612358", \\ В какой торговый объект создаем заказ
    "organizationId": "16286094820321052850480", \\ В какую организацию создаем заказ
!"taxSystem": "COMMON", \\ СНО заказа
    "tradeObjectId": "1628609482057-1613612358", \\ В какой торговый объект создаем заказ
"externalId": "VQ12345678", \\ Номер заказа во внешней системе
    "taxSystem": "COMMON", \\ СНО заказа
!"deliveryType": "COURIER", \\ Тип доставки
    "externalId": "VQ12345678", \\ Номер заказа во внешней системе
!"paid": "false", \\ Флаг оплачен ли заказ, если значение true, привязать оплату более нельзя
    "deliveryType": "COURIER", \\ Тип доставки
"employeeAccess": "NULL", \\ Поле, указывающее какому сотруднику принадлежит заказ, поле необязательное
    "paid": "false", \\ Флаг оплачен ли заказ, если значение true, привязать оплату более нельзя
"orderTime": "1631094730812", \\ Время заказа - указываем фактическое время создания заказа, т.к в МКТ по данному времени будут сортироваться заказы
    "employeeAccess": "NULL", \\ Поле, указывающее какому сотруднику принадлежит заказ, поле необязательное
"address": "Адрес", \\ Адрес доставки, для заказа вида "COURIER"
    "orderTime": "1631094730812", \\ Время заказа - указываем фактическое время создания заказа, т.к в МКТ по данному времени будут сортироваться заказы
"responsiblePersonLogin": "79295444301", \\ Логин Сотрудника, на кого назначается заказ. Ответственный за заказ.
    "address": "Адрес", \\ Адрес доставки, для заказа вида "COURIER"
!"currentStatusType": "NEW", \\ Поле статуса заказа
    "responsiblePersonLogin": "79295444301", \\ Логин Сотрудника, на кого назначается заказ. Ответственный за заказ.
!"currentStatusTime": "1630936599865" \\ Время изменения статуса заказа, обязательное к передачи, при создании онлайн-заказа можно передавать то-же время что и в order_time
    "currentStatusType": "NEW", \\ Поле статуса заказа
"comment": "Комментарий",
    "currentStatusTime": "1630936599865" \\ Время изменения статуса заказа, обязательное к передачи, при создании онлайн-заказа можно передавать то-же время что и в order_time
!"totalAmount": "95", \\ Итоговая сумма заказа со всеми скидками, заказ будет считаться завершенным, после погашения данной суммы, данная сумма должна быть равна сумме цены всех позиций с учетом их кол-ва, скидок и НДС
    "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  \\ Кредит
},

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

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