Создание маршрутного листа
CASHDESK API
API (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.
Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации OAuth2. С инструкцией авторизации по API можно ознакомиться здесь.
Создание маршрутного листа
Подготовьте POST запрос следующего вида:
base URL: https://kassa.bifit.com/cashdesk-api/v1/protected/route_sheet_document
В AUTHORIZATION укажите значение access_token согласно:
Bearer token : token <значение acces_token>
В BODY запроса укажите данные, согласно структуре описанной в SWAGGER.
{
 "document": {
   "amount": 0,
   "cashierName": null,
   "courierUserId": null,                                    //ID курьера
   "courierUserName": null,                                  //Логин (номер телефона) курьера
   "description": null,
   "documentDate": 1646143440371 ,                           //Дата создания маршрутного листа *
   "documentNumber": "114477",                               //Номер маршрутного листа *
   "firstDeliveryTime": 1646143440371,                       //Время первой доставки *
   "lastDeliveryTime": 1646143440371,                        //Время последней доставки *
   "ordersCount": 1,                                         //Количество заказов *
   "organizationId": "<organization_id>",                    //ID организации *
   "priority": "LOW",                                        //Приоритетность маршрутного листа в системе *
   "responsiblePerson": null,
   "responsibleUserId": 93727,                               //ID Ответственного сотрудника *
   "status": "NEW",                                          //Статус маршрутного листа *
   "tradeObjectId": "<trade_object_id>"                      //ID торгового объекта *
 },
 "items": [
   {
     "organizationId": "<organization_id>",                  //ID организации *
     "tradeObjectId": "<trade_object_id>",                   //ID торгового обекта *
     "taxSystem": "COMMON",                                  //Система налогообложения COMMON - ОСН (см. Таблица систем налогообложения) *
     "externalId": "11223344",                               //Номер онлайн-заказа *
     "deliveryType": "COURIER",                              //Тип доставки *
     "deliveryAmount": null,                                 //Стоимость доставки
     "deliveryTime": 1646143684830,                          //Время доставки в формате UNIX TIME *
     "paid": false,                                          //Признак оплаты заказа *
     "orderTime": 1646137566448,                             //Время заказа *
     "clientId": 195363,                                     //ID клиента *
     "address": "Адрес",                                     //Адрес доставки *
     "responsiblePersonLogin": "7хххххххххх",                //Логин (номер телефона) ответственного сотрудника. После создания заказа логин будет равен логину создателя заказа *
     "location": null,                                       //GPS координаты курьера
     "totalAmount": 57.00,                                   //Итоговая стоимость заказа *
     "comment": null,                                        //Комментарий к заказу
     "currentStatusType": "NEW",                             //Текущий статус заказа NEW - новый, только что созданный заказ (см. Таблица статусов заказов) *
     "currentStatusTime": 1646135475820,                     //Время изменения статуса заказа в формате UNIX TIME *
     "substatusId": null,                                    //ID пользовательского статуса
     "shopId": null,                                         //ID интернет витрины
     "endLockTime": null,                                    //Время окончания блокировки онлайн-заказа курьером
     "size": 1,                                              //Количество позиций в заказе
     "actualDeliveryTime": null,                             //Фактическое время доставки
     "routeSheetDocumentPosition": 1                         //Позиция заказа в маршрутном листе *
     "cashierName": null,                                    //Имя кассира
     "clientName": null,                                     //Имя клиента
    }
  ]
}
- Поля обязательные для заполнения помечены *.
 - При создании маршрутного листа, статус онлайн заказа должен быть: "NEW", "ACCEPTED" или "DISTRIBUTED".
 
Систем налогообложения
| Значение нумератора | Описание | 
|---|---|
| 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.