Получение информации об онлайн-заказе: различия между версиями

Материал из Касса
Перейти к навигации Перейти к поиску
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
== CASHDESK API==
= CASHDESK API=


'''API''' (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.
'''API''' (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.


Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации OAuth2. С инструкцией авторизации по API можно ознакомиться <b>[https://kassa.bifit.com/wiki/index.php?title=ИНСТРУКЦИИ:Авторизация_при_интеграции_по_API здесь]</b>.
Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации OAuth2. С инструкцией авторизации по API можно ознакомиться <b>[https://kassa.bifit.com/wiki/index.php?title=ИНСТРУКЦИИ:Авторизация_при_интеграции_по_API здесь]</b>.
= Нумераторы =
{{ProductTable-2
|title-left='''TaxSystem''' - cистема налогообложения (тэг 1055). Если при регистрации устройства в ФНС было выбрано более одного режима налогообложения, то в '''TaxSystem''' необходимо указать, к какой системе налогообложения относится данный чек.
|title-right=
|content-left=
&nbsp;
* '''COMMON'''
* '''SIMPLIFIED'''
* '''SIMPLIFIED_WITH_EXPENSE'''
* '''COMMON_AGRICULTURAL'''
* '''PATENT'''
|content-right=
&nbsp;
* ОСН
* УСН доход
* УСН доход - расход
* ЕСХН
* ПАТЕНТ
|}}<br>
{{ProductTable-2
|title-left='''СurrentStatusType''' - Статусы онлайн-заказов
|title-right=
|content-left=
&nbsp;
* '''NEW'''
* '''ACCEPTED'''
* '''DISTRIBUTED'''
* '''ISSUED'''
* '''REFUSED'''
* '''DELETED'''
* '''FINISHED'''
|content-right=
&nbsp;
* НОВЫЙ
* ПОДТВЕРЖДЕН
* РАСПРЕДЕЛЕН
* ВЫДАННЫЙ
* ОТКАЗ
* УДАЛЕН
* ЗАВЕРШЕН
|}}<br>


= Получение онлайн заказа =
= Получение онлайн заказа =
Строка 25: Строка 70:
|title-right=
|title-right=
|content-left= <br>
|content-left= <br>
* '''id''': id онлайн заказа
* '''id''': ID онлайн заказа
* '''visible''': Признак видимости заказа
* '''visible''': Признак видимости заказа
* '''created''': Время создания в формате '''UNIX TIME'''
* '''created''': Время создания в формате '''UNIX TIME'''
Строка 34: Строка 79:
* '''externalId''': Номер заказа в информационной системе интегратора
* '''externalId''': Номер заказа в информационной системе интегратора
* '''deliveryType''': Тип доставки '''COURIER''' - Курьером (либо '''SELF''' - Самовывоз)
* '''deliveryType''': Тип доставки '''COURIER''' - Курьером (либо '''SELF''' - Самовывоз)
* '''deliveryAmount''': //
* '''deliveryAmount''': Стоимость услуги доставки
* '''deliveryTime''': Время доставки в формате '''UNIX TIME'''
* '''deliveryTime''': Время доставки в формате '''UNIX TIME'''
* '''paid''': Признак оплаты заказа
* '''paid''': Признак оплаты заказа
* '''orderTime''':  
* '''orderTime''': Время заказа в формате '''UNIX TIME'''
* '''clientId''': ID клиента
* '''clientId''': ID клиента
* '''address''': Адрес доставки
* '''address''': Адрес доставки
Строка 50: Строка 95:
* '''substatusId''': ID пользовательского статуса
* '''substatusId''': ID пользовательского статуса
* '''shopId''': ID интернет витрины
* '''shopId''': ID интернет витрины
* '''endLockTime''':  
* '''endLockTime''': Время окончания блокировки заказа (при работе в OFF-line режиме)
* '''routeSheetDocumentId''': ID Маршрутного листа
* '''routeSheetDocumentId''': ID Маршрутного листа
* '''routeSheetDocumentPosition''': Номер позиции заказа в маршрутном листе
* '''routeSheetDocumentPosition''': Номер позиции заказа в маршрутном листе
* '''routeSheetDocumentNumber''':  
* '''routeSheetDocumentNumber''': Номер маршрутного листа
* '''size''':  
* '''size''': Размер заказа
* '''actualDeliveryTime''':  
* '''actualDeliveryTime''': Актуальное время доставки
* '''cashierName''': Имя кассира
* '''cashierName''': Имя кассира
* '''clientName''': Имя клиента
* '''clientName''': Имя клиента


|content-right=
|content-right=
<syntaxhighlight>
<syntaxhighlight lang="JSON">
{
{ "id": 320528,   
    "id": 320528,   
     "visible": true,     
     "visible": true,     
     "created": 1645690408369,       
     "created": 1645690408369,       
     "changed": 1645691489120,     
     "changed": 1645691489120,     
     "organizationId": "<''organization_id''>",  
     "organizationId": "<organization_id>",  
     "tradeObjectId": "<''trade_object_id''>",       
     "tradeObjectId": "<trade_object_id>",       
     "taxSystem": "COMMON",         
     "taxSystem": "COMMON",         
     "externalId": "112345",       
     "externalId": "112345",       
Строка 96: Строка 140:
     "clientName": null   
     "clientName": null   
  }
  }
</syntaxhighlight>
</syntaxhighlight>
|}}<br>
|}}<br>
''Пример ответа на запрос.''
{
    "id": 320528,                                            ''//id онлайн заказа''
    "visible": true,                                        ''//Признак видимости заказа''
    "created": 1645690408369,                                ''//Время создания в формате UNIX TIME''
    "changed": 1645691489120,                                ''//Время создания в формате UNIX TIME''
    "organizationId": "<''organization_id''>",              ''//ID организации''
    "tradeObjectId": "<''trade_object_id''>",              ''//ID торгового объекта''
    "taxSystem": "COMMON",                                  ''//Система налогообложения '''COMMON''' - ОСН (см. [[#Систем налогообложения|Таблица систем налогообложения]])''
    "externalId": "112345",                                ''//Номер заказа в информационной системе интегратора''
    "deliveryType": "COURIER",                              ''//Тип доставки '''COURIER''' - Курьером (либо '''SELF''' - Самовывоз)''
    "deliveryAmount": null,                                ''//''
    "deliveryTime": 1645690416000,                          ''//Время доставки в формате UNIX TIME''
    "paid": false,                                          ''//Признак оплаты заказа''
    "orderTime": 1645690388467,
    "clientId": 195363,                                    ''//ID клиента''
    "address": "Адрес",                                    ''//Адрес доставки''
    "responsiblePersonLogin": "79775553322",                ''//Логин (номер телефона) ответственного сотрудника. После создания заказа логин будет равен логину создателя заказа''
    "discount": 0.00,                                      ''//Величина скидки на заказ ('''не используется''')''
    "discountType": 0,                                      ''//Тип скидки на заказ ('''не используется''')''
    "location": null,                                      ''//GPS координаты курьера''
    "totalAmount": 3000.00,                                ''//Итоговая стоимость заказа''
    "comment": null,                                        ''//Комментарий к заказу''
    "currentStatusType": "DISTRIBUTED",                    ''//Текущий статус заказа NEW - новый, только что созданный заказ (см. [[#Статусы заказов|Таблица статусов заказов]])''
    "currentStatusTime": 1645691012245,                    ''//Время изменения статуса заказа в формате UNIX TIME''
    "substatusId": null,                                    ''//ID пользовательского статуса''
    "shopId": null,                                        ''//ID интернет витрины''
    "endLockTime": 1645691458615,
    "routeSheetDocumentId": null,                          ''//ID Маршрутного листа''
    "routeSheetDocumentPosition": null,                    ''//Номер позиции заказа в маршрутном листе''
    "routeSheetDocumentNumber": null,
    "size": null,
    "actualDeliveryTime": 1645691458616,
    "cashierName": null,                                    ''//Имя кассира''
    "clientName": 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''' || ЗАВЕРШЕН
|}
{{ Note |'''''Примечание'''''<br>
* При создании заказа, есть несколько видов доставки. Ознакомьтесь с типами доставки:
** "COURIER" - в случае, если используется курьерская доставка
** "SELF" - самовывоз, в этом случае адрес доставки не требуется, место расчетов в чеке берется из ККТ/ТО
** "SERVICE" - не используется
* Каждому созданному заказу присваивается определенный статус. Ознакомьтесь со статусами заказов:
** "ACCEPTED" -  статус “Подтвержден”, заказы в данном статусе доступны для отображения всем сотрудникам на МКТ. Используем при создании заказа.
** "DISTRIBUTED" - статус “Распределен”, заказы в данном статусе доступны для отображения на МКТ только тем сотрудникам, на которых эти заказы назначены.
** "REFUSED" - статус “Отменен”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, либо перевести заказ в данный статус из клиентского ПО, отменить заказ можно только в статусах "DISTRIBUTED","ACCEPTED".  Статус REFUSED необходимо использовать при отмене заказа в статусах DISTRIBUTED и ACCEPTED.
**"DELETED" - статус “Удален”, заказ с таким статусом невозможно создать, можно добавить статус с помощью PUT запроса, заказ, в статусе “Удален” не будет доступен для работы, удалить можно только заказ в статусе "currentStatusType": "NEW". Статус DELETED необходимо использовать при отмене заказа только в статусе NEW.
|800}}

Текущая версия на 10:59, 8 ноября 2022

CASHDESK API

API (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.

Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации OAuth2. С инструкцией авторизации по API можно ознакомиться здесь.

Нумераторы

TaxSystem - cистема налогообложения (тэг 1055). Если при регистрации устройства в ФНС было выбрано более одного режима налогообложения, то в TaxSystem необходимо указать, к какой системе налогообложения относится данный чек.
 
  • COMMON
  • SIMPLIFIED
  • SIMPLIFIED_WITH_EXPENSE
  • COMMON_AGRICULTURAL
  • PATENT
 
  • ОСН
  • УСН доход
  • УСН доход - расход
  • ЕСХН
  • ПАТЕНТ


СurrentStatusType - Статусы онлайн-заказов
 
  • NEW
  • ACCEPTED
  • DISTRIBUTED
  • ISSUED
  • REFUSED
  • DELETED
  • FINISHED
 
  • НОВЫЙ
  • ПОДТВЕРЖДЕН
  • РАСПРЕДЕЛЕН
  • ВЫДАННЫЙ
  • ОТКАЗ
  • УДАЛЕН
  • ЗАВЕРШЕН


Получение онлайн заказа

Запрос GET

URL: https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders/"id онлайн заказа"
https://kassa.bifit.com/cashdesk-api/v1/protected/online_orders/"id онлайн заказа"


Note.svg Важно!
В HEADERS укажите значение access_token согласно:authorization: Bearer <значение acces_token> .


Response

  • id: ID онлайн заказа
  • visible: Признак видимости заказа
  • created: Время создания в формате UNIX TIME
  • changed: Время создания в формате UNIX TIME
  • organizationId: ID организации
  • tradeObjectId: ID торгового объекта
  • taxSystem: Система налогообложения
  • externalId: Номер заказа в информационной системе интегратора
  • deliveryType: Тип доставки COURIER - Курьером (либо SELF - Самовывоз)
  • deliveryAmount: Стоимость услуги доставки
  • deliveryTime: Время доставки в формате UNIX TIME
  • paid: Признак оплаты заказа
  • orderTime: Время заказа в формате UNIX TIME
  • clientId: ID клиента
  • address: Адрес доставки
  • responsiblePersonLogin: Логин (номер телефона) ответственного сотрудника. После создания заказа логин будет равен логину создателя заказа
  • discount: Величина скидки на заказ
  • discountType: Тип скидки на заказ
  • location: GPS координаты курьера
  • totalAmount: Итоговая стоимость заказа
  • comment: Комментарий к заказу
  • currentStatusType: Текущий статус заказа NEW - новый, только что созданный заказ
  • currentStatusTime: Время изменения статуса заказа в формате UNIX TIME
  • substatusId: ID пользовательского статуса
  • shopId: ID интернет витрины
  • endLockTime: Время окончания блокировки заказа (при работе в OFF-line режиме)
  • routeSheetDocumentId: ID Маршрутного листа
  • routeSheetDocumentPosition: Номер позиции заказа в маршрутном листе
  • routeSheetDocumentNumber: Номер маршрутного листа
  • size: Размер заказа
  • actualDeliveryTime: Актуальное время доставки
  • cashierName: Имя кассира
  • clientName: Имя клиента
 {  "id": 320528,   
    "visible": true,     
    "created": 1645690408369,       
    "changed": 1645691489120,     
    "organizationId": "<organization_id>", 
    "tradeObjectId": "<trade_object_id>",       
    "taxSystem": "COMMON",        
    "externalId": "112345",       
    "deliveryType": "COURIER",   
    "deliveryAmount": null,   
    "deliveryTime": 1645690416000,       
    "paid": false,             
    "orderTime": 1645690388467,
    "clientId": 195363,          
    "address": "Адрес",        
    "responsiblePersonLogin": "79775553322",   
    "discount": 0.00,        
    "discountType": 0,     
    "location": null,      
    "totalAmount": 3000.00,  
    "comment": null,         
    "currentStatusType": "DISTRIBUTED",       
    "currentStatusTime": 1645691012245,    
    "substatusId": null,        
    "shopId": null,          
    "endLockTime": 1645691458615,
    "routeSheetDocumentId": null,     
    "routeSheetDocumentPosition": null,     
    "routeSheetDocumentNumber": null,
    "size": null,
    "actualDeliveryTime": 1645691458616,
    "cashierName": null,   
    "clientName": null  
 }