API iRECA:Курьер
FORMAT: 1A
HOST: https://api-courier-ireca.softbalance.ru/api/v1/
# iRECA Курьер API
Техническая документация для работы с системой ["iRECA Курьер"](http://ireca.ru/courier/) от компании [Софтбаланс](http://www.softbalance.ru).
# Авторизация
Авторизация осуществляется с помощью токена,
который необходимо передавать в заголовке каждого из запросов,
в формате:
`Authorization:Bearer ACCESS_TOKEN`
# Интеграция
Существует два варианта интеграции с системой iRECA Курьер:
#### Интеграция с использованием [web-кабинета диспетчера](https://ireca.ru/lk-dispatcher/)
**При использовании данного варианта, к web-кабинету диспетчера посредством API может быть интегрировано неограниченное
количество сайтов или других внешних систем.**
Порядок подключения:
+ Добавьте свой ресурс и получите токен: "Настройки" → ["Магазины"](https://courier.softbalance.ru/source/) → ["+Добавить"](https://courier.softbalance.ru/source/create) свой ресурс;
+ Используя токен, загрузите в вашу систему списки: налоговые ставки, типы платежей, причины отмены заказа;
+ Создайте callback-функцию, чтобы отслеживать любые изменения по заказу;
+ Создайте товары;
+ Создайте заказы.
***Обратите внимание, при данном варианте интеграции, ряд сущностей могут быть созданы только в web-кабинете диспетчера: курьеры, налоговые ставки, типы платежей, причины отмены заказа, роли, поставщики.***
#### Интеграция без web-кабинета диспетчера.
*Для получения токена, учётных данных для работы в приложении, сформируйте обращение в техническую поддержку **ireca@softbalance.ru**. Для регистрации необходимо предоставление ИНН компании.*
Если вы используете web-кабинет диспетчера и возникла необходимость в его отключении, то при таком отключении все созданные данные будут сохранены и доступны по API.
# Ошибки и коды ответов
При возникновении каких-либо ошибок возвращается сообщение в следующем формате:
{"error" => true, "message": "Модель не существует"}
### Дата и время
Дата и время должны быть переданы в часовом поясе `GMT+00:00`.
## Geo-данные
[https://api-courier-ireca.softbalance.ru/api/v1/locations?courierId={courierId}&{createdAt}=&page={page}&count={count}]
Наименьший интервал обновления Geo-данных раз в минуту.
### Получение массива Geo - данных [**GET**]
+ Attributes
+ locations (array, fixed-type) - массив Geo - локаций
+ (object)
+ courierId 7 (number) - Идентификатор курьера
+ orderId 2255 (number) - Идентификатор заказа
+ orderStatusId 1 (number) - Статус заказа
+ longitude 30.33342890000000 (number) - Широта
+ latitude 60.03194500000000 (number) - Долгота
+ accuracy 24 (number) - Погрешность
+ Parameters
+ courierId (required, number, `55752`) ... Идентификатор курьера
+ createdAt (string, `2016-08-17 20:00:00`) ... Дата и время получаемых данных
+ page (required, number, `1`) ... Номер страницы
+ count (required, number, `3`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"orderId": 2255,
"deliveryStatusId": 6,
"returnReasonId": null,
"longitude": 30.33342890000000,
"latitude": 60.03194500000000,
"accuracy": 24,
"createdAt": "2017-05-15 13:21:13"
}, {
"orderId": 2255,
"deliveryStatusId": 6,
"returnReasonId": null,
"longitude": 30.33342890000000,
"latitude": 60.03194500000000,
"accuracy": 24,
"createdAt": "2017-05-15 13:21:13"
}
]
## Заказы
[https://api-courier-ireca.softbalance.ru/api/v1/orders?orderId={orderId}]
+ Parameters
+ orderId (required, number, `209900`) ... Идентификатор заказа в вашей системе
### Создание заказов
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/orders]
+ Attributes
+ orderId (required, number) - Уникальный идентификатор заказа в вашей системе
+ codeAlias (string) - Если задано, значение этого свойства будет отображаться в приложении вместо значения "orderId".
+ statusId (required, number) - Статус заказа
+ deliveryStatusId (required, number) - Статус состояния доставки заказа
+ isAgreed (boolean) - Определяет, что заказ согласован
+ returnReasonId (number) - Причина отмены заказа
+ courierId: 1 (required, number) - Идентификатор курьера
+ clientId: 1 (number) - Идентификатор клиента
+ supplierId: 1 (number) - Идентификатор поставщика (агентская схема)
+ client - Используется только в том случае, если не задано свойство "clientId"
+ firstname - Имя клиента
+ lastname - Фамилия клиента
+ email - Email клиента
+ paymentId: 1 (required, number) - Идентификатор типа платежа
+ amountToPay (required, number) - Сумма к оплате без учета скидки
+ prePaymentSum (number) - Сумма предоплаты (если задана будет печататься второй чек)
+ cash (number) - Сумма наличных у клиента (купюра)
+ addressFromEntity - Адрес откуда везти товар (рекомендуется использовать вместо "addressFrom")
+ postindex (string) - Почтовый индекс
+ city (required, string) - Город
+ street (required, string) - Улица
+ home (required, string) - Дом
+ apartment (string) - Квартира или офис
+ latitude (string) - широта
+ longitude (string) - долгота
+ isUseGoogleGeo (required, string) - Определяет нужно ли использовать [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/start) для определения адреса
+ addressToEntity - Адрес куда везти товар (рекомендуется использовать вместо "addressTo")
+ postindex (string) - Почтовый индекс
+ city (required, string) - Город
+ street (required, string) - Улица
+ home (required, string) - Дом
+ apartment (string) - Квартира или офис
+ latitude (string) - широта
+ longitude (string) - долгота
+ isUseGoogleGeo (required, string) - Определяет нужно ли использовать [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/start) для определения адреса
+ phone (string) - телефон (если не задан используется телефон клиента)
+ deliveryTimeFrom (required, string) - Дата и время начиная с которого требуется доставить заказ
+ deliveryTimeTo (required, string) - Дата и время к которому требуется доставить заказ
+ description (string) - Описание заказа
+ goods (array, fixed-type) - Массив позиций товаров
+ (object)
+ goodId - Идентификатор товара
+ count (required, number) - Количество товара
+ price (required, number) - Цена
+ total (required, number) - Итоговая стоимость без учёта скидки
+ discountTotal (required, number) - Сумма скидки (-)/наценки (+)
+ taxId 1 (number) - Идентификатор налоговой ставки (Если не задан, используется налоговая ставка товара)
+ position (number) - Порядковый номер
+ unit (string) - Единица измерения (если задана пустая строка присвоит значение: "шт")
+ vedCode (string) - Код товарной номенклатуры (1162)
+ countryCode (string) - Страна происхождения товара (1230)
+ customDeclarationCode (string) - Номер таможенной декларации (1231)
+ markValue (string) - Исходное значение кода маркировки (марку способны декодировать не все терминалы, поэтому приоритетным является заполнение поля "markBinaryValue")
+ markBinaryValue (string) - Декодированное значение кода маркировки
+ weight (number) - Вес товара
+ description (string) - Описание товара
+ warehouses (array, fixed-type) - Массив складов с которых нужно забрать товар (на текущий момент можно указать только один склад)
+ (object)
+ warehouseId (required, number) - Идентификатор склада
+ count (required, number) - Количество товара, которое следует забрать.
+ specificities (array, fixed-type) - Массив специфик (На этапе тестирования!!!)
+ (object)
+ specificityId (required, number) - Идентификатор специфики
+ price (required, number) - Цена специфики (является информационным полем, стоимость должна быть учтена в цене товара)
+ count (required, number) - Количество специфик.
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"orderId": "1",
"codeAlias": "G-1",
"statusId": 0,
"deliveryStatusId": 6,
"isAgreed": 0,
"returnReasonId": null,
"courierId": "55752",
"clientId": "3271",
"supplierId": null,
"paymentId": "4113",
"amountToPay": 539.78,
"prePaymentSum": 0,
"cash": 1000.00,
"addressFromEntity": {
"postindex": "195279",
"city": "Санкт-Петербург",
"street": "ул. Передовиков",
"home": "дом 25",
"apartment": "кв 16",
"latitude": 59.947851,
"longitude": 30.4599682,
"isUseGoogleGeo": false
},
"addressToEntity": {
"postindex": "197136",
"city": "Санкт-Петербург",
"street": "Чкаловский пр.",
"home": "15литА",
"apartment": "кв 19",
"latitude": 0,
"longitude": 0,
"isUseGoogleGeo": true
},
"phone": "+79123456789",
"deliveryTimeFrom": "2021-05-15 13:21:13",
"deliveryTimeTo": "2021-05-15 15:21:13",
"description": "Новый заказ",
"goods": [
{
"goodId": "355864",
"count": 1,
"price": 539.78,
"total": 539.78,
"discountTotal": 0,
"position": 1,
"description": "Описание позиции",
"unit": "г",
"weight": 100,
"taxId": 1,
"countryCode": "276",
"customDeclarationCode": "10113110/070719/0097367",
"warehouses": [{
"warehouseId":"1099",
"count": 1.0
}],
"specificities":[{
"specificityId":"24",
"price":5.00,
"count":1.0
}]
}
]
}]
+ Response 201 (application/json)
### Создание заказов для кассового возврата
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/orders?isRefund=1]
+ Attributes
+ orderId (required, string) - Уникальный идентификатор заказа в вашей системе
+ codeAlias (string) - Если задано, значение этого свойства будет отображаться в приложении вместо значения "orderId".
+ statusId (required, number) - Статус заказа
+ deliveryStatusId (required, number) - Статус состояния доставки заказа
+ isAgreed (boolean) - Определяет, что заказ согласован
+ returnReasonId (number) - Причина отмены заказа
+ courierId (required, string) - Идентификатор курьера
+ clientId (string) - Идентификатор клиента
+ supplierId (number) - Идентификатор поставщика (агентская схема)
+ client - Используется только в том случае, если не задано свойство "clientId"
+ firstname - Имя клиента
+ lastname - Фамилия клиента
+ paymentId (required, number) - Идентификатор типа платежа
+ amountToPay (required, number) - Сумма к оплате без учета скидки
+ prePaymentSum (number) - Сумма предоплаты (если задана будет печататься второй чек)
+ cash (number) - Сумма наличных у клиента (купюра)
+ addressFromEntity - Адрес откуда везти товар (рекомендуется использовать вместо "addressFrom")
+ postindex (string) - Почтовый индекс
+ city (required, string) - Город
+ street (required, string) - Улица
+ home (required, string) - Дом
+ apartment (string) - Квартира или офис
+ latitude (string) - широта
+ longitude (string) - долгота
+ isUseGoogleGeo (required, string) - Определяет нужно ли использовать [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/start) для определения адреса
+ addressToEntity - Адрес куда везти товар (рекомендуется использовать вместо "addressTo")
+ postindex (string) - Почтовый индекс
+ city (required, string) - Город
+ street (required, string) - Улица
+ home (required, string) - Дом
+ apartment (string) - Квартира или офис
+ latitude (string) - широта
+ longitude (string) - долгота
+ isUseGoogleGeo (required, string) - Определяет нужно ли использовать [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/start) для определения адреса
+ phone (string) - телефон (если не задан используется телефон клиента)
+ deliveryTimeFrom (required, string) - Дата и время начиная с которого требуется доставить заказ
+ deliveryTimeTo (required, string) - Дата и время к которому требуется доставить заказ
+ description (string) - Описание заказа
+ goods (array, fixed-type) - Массив позиций товаров
+ (object)
+ goodId - Идентификатор товара
+ count (required, number) - Количество товара
+ price (required, number) - Цена
+ total (required, number) - Итоговая стоимость без учёта скидки
+ discountTotal (required, number) - Сумма скидки (-)/наценки (+)
+ taxId 1 (number) - Идентификатор налоговой ставки (Если не задан, используется налоговая ставка товара)
+ position (number) - Порядковый номер
+ unit (string) - Единица измерения (если задана пустая строка присвоит значение: "шт")
+ vedCode (string) - Код товарной номенклатуры (1162)
+ countryCode (string) - Страна происхождения товара (1230)
+ customDeclarationCode (string) - Номер таможенной декларации (1231)
+ markValue (string) - Исходное значение кода маркировки (марку способны декодировать не все терминалы, поэтому приоритетным является заполнение поля "markBinaryValue")
+ markBinaryValue (string) - Декодированное значение кода маркировки
+ weight (number) - Вес товара
+ description (string) - Описание товара
+ warehouses (array, fixed-type) - Массив складов с которых нужно забрать товар (на текущий момент можно указать только один склад)
+ (object)
+ warehouseId (required, number) - Идентификатор склада
+ count (required, number) - Количество товара, которое следует забрать.
+ specificities (array, fixed-type) - Массив специфик (На этапе тестирования!!!)
+ (object)
+ specificityId (required, number) - Идентификатор специфики
+ price (required, number) - Цена специфики (является информационным полем, стоимость должна быть учтена в цене товара)
+ count (required, number) - Количество специфик.
+ isRefund (boolean) - Определяет, что этот заказ на возврат
+ payments (array, fixed-type) - Массив оплат (задается для заказа на возврат)
+ (object)
+ paymentId (string) - Идентификатор платежа в вашей системе
+ paymentTypeId (string) - Идентификатор типа платежа
+ price (number) - Сумма платежа
+ paidIn (string) - Дата и время платежа
+ cardMask (string) - Маска карты (если оплата была произведена картой)
+ rrn (string) - Уникальный идентификатор банковской транзакции (если оплата была произведена картой)
+ cardAuth (string) - Код авторизации транзакции банка (если оплата была произведена картой)
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"orderId": "2",
"codeAlias": "G-2",
"statusId": 1,
"deliveryStatusId": 7,
"returnReasonId": null,
"courierId": "55752",
"clientId": "3271",
"supplierId": null,
"paymentId": "4113",
"amountToPay": 539.78,
"prePaymentSum": 0,
"cash": 1000.00,
"addressToEntity": {
"postindex": "197136",
"city": "Санкт-Петербург",
"street": "Чкаловский пр.",
"home": "15литА",
"apartment": "кв 19",
"latitude": 0,
"longitude": 0,
"isUseGoogleGeo": true
},
"phone": "+79123456789",
"deliveryTimeFrom": "2021-05-15 13:21:13",
"deliveryTimeTo": "2021-05-15 15:21:13",
"description": "Новый возвратный заказ",
"goods": [
{
"goodId": "355864",
"count": 1,
"price": 539.78,
"total": 539.78,
"discountTotal": 0,
"position": 1,
"description": "Описание позиции",
"unit": "г",
"weight": 100,
"taxId": 1
}
],
"isRefund": true,
"payments": [
{
"paymentId": "1",
"paymentTypeId": "4113",
"price": 200.00,
"paidIn":"2020-09-08 08:29:59"
},
{
"paymentId": "2",
"paymentTypeId": "4114",
"price": 339.78,
"paidIn":"2020-09-09 08:29:59",
"cardMask":"************3333",
"rrn":"025152870125",
"cardAuth":"012345"
}
]
}]
+ Response 201 (application/json)
### Получение заказа [**GET**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ orderId (string) - Уникальный идентификатор заказа в вашей системе
+ codeAlias (string) - Если задано, значение этого свойства будет отображаться в приложении вместо значения "orderId".
+ statusId (number) - Статус заказа
+ deliveryStatusId (number) - Статус состояния доставки заказа
+ isAgreed (boolean) - Определяет, что заказ согласован
+ returnReasonId (number) - Причина отмены заказа
+ frReceiptStatusId (number) - Определяет состояние чека в фискальном регистраторе (распечатан/не распечатан)
+ courierId (string) - Идентификатор курьера
+ clientId (string) - Идентификатор клиента
+ supplierId (number, nullable) - Идентификатор поставщика (агентская схема)
+ client - Используется только в том случае, если не задано свойство "clientId"
+ firstname - Имя клиента
+ lastname - Фамилия клиента
+ inn - ИНН клиента
+ email - Email клиента
+ paymentId (number) - Последний установленный тип платежа (заданный по умолчанию/использованный в ФР)
+ originalPaymentId (number) - Заданный по умолчанию тип платежа
+ frUsedPaymentId (number) - Типа платежа использованный в фискальном регистраторе (ФР)
+ amountToPay (number) - Сумма к оплате без учета скидки
+ prePaymentSum (number) - Сумма предоплаты (если задана будет печататься второй чек)
+ cash (number) - Сумма наличных у клиента (купюра)
+ addressFromEntity - Адрес откуда везти товар (рекомендуется использовать вместо "addressFrom")
+ postindex (string) - Почтовый индекс
+ city (string) - Город
+ street (string) - Улица
+ home (string) - Дом
+ apartment (string) - Квартира или офис
+ latitude (string) - широта
+ longitude (string) - долгота
+ isUseGoogleGeo (string) - Определяет нужно ли использовать [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/start) для определения адреса
+ addressToEntity - Адрес куда везти товар (рекомендуется использовать вместо "addressTo")
+ postindex (string) - Почтовый индекс
+ city (string) - Город
+ street (string) - Улица
+ home (string) - Дом
+ apartment (string) - Квартира или офис
+ latitude (string) - широта
+ longitude (string) - долгота
+ isUseGoogleGeo (string) - Определяет нужно ли использовать [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/start) для определения адреса
+ phone (string) - телефон (если не задан используется телефон клиента)
+ deliveryTimeFrom (string) - Дата и время начиная с которого требуется доставить заказ
+ deliveryTimeTo (string) - Дата и время к которому требуется доставить заказ
+ description (string) - Описание заказа
+ goods (array, fixed-type) - Массив позиций товаров
+ (object)
+ goodId - Идентификатор товара
+ count (number) - Количество товара
+ price (number) - Цена
+ total (number) - Итоговая стоимость без учёта скидки
+ discountTotal (number) - Сумма скидки (-)/наценки (+)
+ taxId 1 (number) - Идентификатор налоговой ставки (Если не задан, используется налоговая ставка товара)
+ position (number) - Порядковый номер
+ unit (string) - Единица измерения (если задана пустая строка присвоит значение: "шт")
+ vedCode (string) - Код товарной номенклатуры (1162)
+ countryCode (string) - Страна происхождения товара (1230)
+ customDeclarationCode (string) - Номер таможенной декларации (1231)
+ markValue (string) - Исходное значение кода маркировки (марку способны декодировать не все терминалы, поэтому приоритетным является заполнение поля "markBinaryValue")
+ markBinaryValue (string) - Декодированное значение кода маркировки
+ weight (number) - Вес товара
+ description (string) - Описание товара
+ warehouses (array, fixed-type) - Массив складов с которых нужно забрать товар (на текущий момент можно указать только один склад)
+ (object)
+ warehouseId (number) - Идентификатор склада
+ count (number) - Количество товара, которое следует забрать
+ tookCount (number) - Количество товара, которое следует забрать
+ title (required, string) - Наименование склада
+ firstname (string) - Имя отвественного на складе
+ lastname (string) - Фамилия отвественного на складе
+ phone (string) - Телефон отвественного на складе
+ city (string) - Город, где расположен склад
+ street (string) - Улица
+ house (string) - Дом
+ apartment (string) - Офис
+ latitude (number) - Широта
+ longitude (number) - Долгота
+ description (string) - Описание склада
+ updatedAt (string) - Дата и время операции
+ isActive (string) - - Определяет состояние склада: 0 - удален; 1 - активен.
+ specificities (array, fixed-type) - Массив специфик (На этапе тестирования!!!)
+ (object)
+ specificityId (number) - Идентификатор специфики
+ parentId (required, number) - Идентификатор характеристики элемента
+ price (number) - Цена специфики (является информационным полем, стоимость должна быть учтена в цене товара)
+ count (number) - Количество специфик
+ title (required, string) - Наименование характеристики
+ value (string) - Значение характеристики
+ imageUrl (string) - Ссылка на изображение
+ imageBigUrl (string) - Ссылка на изображение
+ article - Артикул специфики
+ isActive (string) - - Определяет состояние специфики: 0 - удален; 1 - активен.
+ canceledItems (array, fixed-type) - Удаленные курьером позиции заказа.
+ (object)
+ returnReasonId (number) - Причина отмены позиции заказа
+ count (number) - Количество удаленных позиций
+ createdAt (string) - Дата и время удаления
+ isReturned (boolean) - Определяет, что по этому заказу выполнен возврат
+ isEdited (boolean) - Определяет, что у заказа редактировались позиции
+ isRefund (boolean) - Определяет, что этот заказ на возврат
+ payments (array, fixed-type) - Массив оплат
+ (object)
+ paymentId (string) - Идентификатор платежа в вашей системе
+ paymentTypeId (string) - Идентификатор типа платежа
+ price (number) - Сумма платежа
+ paidIn (string) - Дата и время платежа
+ cardMask (string) - Маска карты (если оплата была произведена картой)
+ rrn (string) - Уникальный идентификатор банковской транзакции (если оплата была произведена картой)
+ cardAuth (string) - Код авторизации транзакции банка (если оплата была произведена картой)
+ returnedOrder
+ returnedOrderId (number) - Уникальный идентификатор заказа в вашей системе
+ returnReasonId (number) - Причина отмены заказа
+ createdAt (string) - Дата и время возврата
+ returnedPayments (array, fixed-type) - Массив возвратных платежей
+ (object)
+ paymentId (number) - Идентификатор платежа в вашей системе
+ paymentTypeId (string) - Идентификатор типа платежа
+ sum (number) - Сумма платежа
+ createdAt - Дата и время возврата
+ returnedGoods (array, fixed-type) - Массив возвратных товаров
+ (object)
+ goodId (number) - Идентификатор товара
+ returnReasonId (number) - Причина отмены позиции заказа
+ count (number) - Количество возвращенного товара
+ sum (number) - Сумма товара
+ createdAt (string) - Дата и время операции возврата
+ Body
{
"codeAlias": "G-2",
"orderId": 209900,
"statusId": 0,
"deliveryStatusId": 1,
"receiptStatusId": 0,
"frReceiptStatusId": 0,
"returnReasonId": null,
"courierId": "",
"clientId": "3271",
"paymentId": "4113",
"originalPaymentId": 4113,
"frUsedPaymentId": null,
"client": {
"firstname": "Алексей",
"lastname": "Иванов",
"inn": "",
"email": "ivanow@email.com"
},
"amountToPay": "679.57",
"prePaymentSum": "0.00",
"cash": 0,
"addressFrom": "",
"addressFromEntity": {
"postindex": "",
"city": "",
"street": "",
"home": "",
"apartment": "",
"latitude": "0.00000000000000",
"longitude": "0.00000000000000"
},
"addressTo": "Санкт-Петербург Улица правды 24 44",
"addressToEntity": {
"postindex": "",
"city": "Санкт-Петербург",
"street": "Улица правды",
"home": "24",
"apartment": "44",
"latitude": "59.92088839350768",
"longitude": "30.33911295248004"
},
"phone": "+79123456789",
"deliveryTimeFrom": "2021-04-28 11:34:00",
"deliveryTimeTo": "2021-04-28 12:34:00",
"description": "Доставить до двери",
"supplierId": null,
"goods": [
{
"returnReasonId": {},
"count": 1,
"total": 539.78,
"discountTotal": 0,
"position": 0,
"unit": "г",
"vedCode": "",
"countryCode": "",
"customDeclarationCode": "",
"markValue": "",
"markBinaryValue": "",
"specificities": [],
"warehouses": [],
"canceledItems": [],
"parentId": {},
"goodId": 355864,
"article": "",
"taxId": "8286",
"calcId": "0",
"title": "Кофе carte noire",
"weight": "95",
"multiplicity": 1,
"price": 539.78,
"description": "",
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1
},
{
"returnReasonId": null,
"count": 1,
"total": 139.79,
"discountTotal": 0,
"position": 1,
"unit": "г",
"vedCode": "",
"countryCode": "",
"customDeclarationCode": "",
"markValue": "",
"markBinaryValue": "",
"specificities": [
{
"count": 1,
"parentId": {},
"specificityId": "24",
"title": "Пакет (полиэтиленовый)",
"value": "",
"price": 5,
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1,
"article": "AM-3243"
}],
"warehouses": [],
"canceledItems": [],
"parentId": null,
"goodId": 355862,
"article": "",
"taxId": "8286",
"calcId": "0",
"title": "Сыр маасдам Valio 45% БЗМЖ",
"weight": "120",
"multiplicity": 1,
"price": 139.79,
"description": "",
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1
}],
"payments": [],
"returnedOrder": null,
"isAgreed": 0,
"isRefund": 0,
"isReturned": 0,
"isEdited": 0
}
### Получение списка заказов
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/orders]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ orderId (number) - Уникальный идентификатор заказа в вашей системе
+ codeAlias (string) - Если задано, значение этого свойства будет отображаться в приложении вместо значения "orderId".
+ statusId (number) - Статус заказа
+ deliveryStatusId (number) - Статус состояния доставки заказа
+ isAgreed (boolean) - Определяет, что заказ согласован
+ returnReasonId (number) - Причина отмены заказа
+ frReceiptStatusId (number) - Определяет состояние чека в фискальном регистраторе (распечатан/не распечатан)
+ courierId (number) - Идентификатор курьера
+ clientId (number) - Идентификатор клиента
+ supplierId (number) - Идентификатор поставщика (агентская схема)
+ client - Используется только в том случае, если не задано свойство "clientId"
+ firstname - Имя клиента
+ lastname - Фамилия клиента
+ inn - ИНН клиента
+ email - Email клиента
+ paymentId (number) - Последний установленный тип платежа (заданный по умолчанию/использованный в ФР)
+ originalPaymentId (number) - Заданный по умолчанию тип платежа
+ frUsedPaymentId (number) - Типа платежа использованный в фискальном регистраторе (ФР)
+ amountToPay (number) - Сумма к оплате без учета скидки
+ prePaymentSum (number) - Сумма предоплаты (если задана будет печататься второй чек)
+ cash (number) - Сумма наличных у клиента (купюра)
+ addressFromEntity - Адрес откуда везти товар (рекомендуется использовать вместо "addressFrom")
+ postindex (string) - Почтовый индекс
+ city (string) - Город
+ street (string) - Улица
+ home (string) - Дом
+ apartment (string) - Квартира или офис
+ latitude (string) - широта
+ longitude (string) - долгота
+ isUseGoogleGeo (string) - Определяет нужно ли использовать [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/start) для определения адреса
+ addressToEntity - Адрес куда везти товар (рекомендуется использовать вместо "addressTo")
+ postindex (string) - Почтовый индекс
+ city (string) - Город
+ street (string) - Улица
+ home (string) - Дом
+ apartment (string) - Квартира или офис
+ latitude (string) - широта
+ longitude (string) - долгота
+ isUseGoogleGeo (string) - Определяет нужно ли использовать [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/start) для определения адреса
+ phone (string) - телефон (если не задан используется телефон клиента)
+ deliveryTimeFrom (string) - Дата и время начиная с которого требуется доставить заказ
+ deliveryTimeTo (string) - Дата и время к которому требуется доставить заказ
+ description (string) - Описание заказа
+ goods (array, fixed-type) - Массив позиций товаров
+ (object)
+ goodId - Идентификатор товара
+ count (number) - Количество товара
+ price (number) - Цена
+ total (number) - Итоговая стоимость без учёта скидки
+ discountTotal (number) - Сумма скидки (-)/наценки (+)
+ taxId 1 (number) - Идентификатор налоговой ставки (Если не задан, используется налоговая ставка товара)
+ position (number) - Порядковый номер
+ unit (string) - Единица измерения (если задана пустая строка присвоит значение: "шт")
+ vedCode (string) - Код товарной номенклатуры (1162)
+ countryCode (string) - Страна происхождения товара (1230)
+ customDeclarationCode (string) - Номер таможенной декларации (1231)
+ markValue (string) - Исходное значение кода маркировки (марку способны декодировать не все терминалы, поэтому приоритетным является заполнение поля "markBinaryValue")
+ markBinaryValue (string) - Декодированное значение кода маркировки
+ weight (number) - Вес товара
+ description (string) - Описание товара
+ warehouses (array, fixed-type) - Массив складов с которых нужно забрать товар (на текущий момент можно указать только один склад)
+ (object)
+ warehouseId (number) - Идентификатор склада
+ count (number) - Количество товара, которое следует забрать
+ tookCount (number) - Количество товара, которое следует забрать
+ title (required, string) - Наименование склада
+ firstname (string) - Имя отвественного на складе
+ lastname (string) - Фамилия отвественного на складе
+ phone (string) - Телефон отвественного на складе
+ city (string) - Город, где расположен склад
+ street (string) - Улица
+ house (string) - Дом
+ apartment (string) - Офис
+ latitude (number) - Широта
+ longitude (number) - Долгота
+ description (string) - Описание склада
+ updatedAt (string) - Дата и время операции
+ isActive (string) - - Определяет состояние склада: 0 - удален; 1 - активен.
+ specificities (array, fixed-type) - Массив специфик (На этапе тестирования!!!)
+ (object)
+ specificityId (number) - Идентификатор специфики
+ parentId (required, number) - Идентификатор характеристики элемента
+ price (number) - Цена специфики (является информационным полем, стоимость должна быть учтена в цене товара)
+ count (number) - Количество специфик
+ title (required, string) - Наименование характеристики
+ value (string) - Значение характеристики
+ imageUrl (string) - Ссылка на изображение
+ imageBigUrl (string) - Ссылка на изображение
+ article - Артикул специфики
+ isActive (string) - - Определяет состояние специфики: 0 - удален; 1 - активен.
+ canceledItems (array, fixed-type) - Удаленные курьером позиции заказа.
+ (object)
+ returnReasonId (number) - Причина отмены позиции заказа
+ count (number) - Количество удаленных позиций
+ createdAt (string) - Дата и время удаления
+ isReturned (boolean) - Определяет, что по этому заказу выполнен возврат
+ isEdited (boolean) - Определяет, что у заказа редактировались позиции
+ isRefund (boolean) - Определяет, что этот заказ на возврат
+ payments (array, fixed-type) - Массив оплат
+ (object)
+ paymentId (string) - Идентификатор платежа в вашей системе
+ paymentTypeId (string) - Идентификатор типа платежа
+ price (number) - Сумма платежа
+ paidIn (string) - Дата и время платежа
+ cardMask (string) - Маска карты (если оплата была произведена картой)
+ rrn (string) - Уникальный идентификатор банковской транзакции (если оплата была произведена картой)
+ cardAuth (string) - Код авторизации транзакции банка (если оплата была произведена картой)
+ returnedOrder
+ returnedOrderId (number) - Уникальный идентификатор заказа в вашей системе
+ returnReasonId (number) - Причина отмены заказа
+ createdAt (string) - Дата и время возврата
+ returnedPayments (array, fixed-type) - Массив возвратных платежей
+ (object)
+ paymentId (number) - Идентификатор платежа в вашей системе
+ paymentTypeId (string) - Идентификатор типа платежа
+ sum (number) - Сумма платежа
+ createdAt - Дата и время возврата
+ returnedGoods (array, fixed-type) - Массив возвратных товаров
+ (object)
+ goodId (number) - Идентификатор товара
+ returnReasonId (number) - Причина отмены позиции заказа
+ count (number) - Количество возвращенного товара
+ sum (number) - Сумма товара
+ createdAt (string) - Дата и время операции возврата
+ Body
[{
"codeAlias": "G-2 (replaced)",
"orderId": 209900,
"statusId": 0,
"deliveryStatusId": 1,
"receiptStatusId": 0,
"frReceiptStatusId": 0,
"returnReasonId": {},
"courierId": "",
"clientId": 3271,
"paymentId": "4113",
"originalPaymentId": 4113,
"frUsedPaymentId": {},
"client": {
"firstname": "Алексей (replaced)",
"lastname": "Иванов (replaced)",
"inn": "",
"email": "ivanow@email.com"
},
"amountToPay": "679.57",
"prePaymentSum": "0.00",
"cash": 0,
"addressFrom": "",
"addressFromEntity": {
"postindex": "",
"city": "",
"street": "",
"home": "",
"apartment": "",
"latitude": "0.00000000000000",
"longitude": "0.00000000000000"
},
"addressTo": "Санкт-Петербург Улица правды 24 44",
"addressToEntity": {
"postindex": "",
"city": "Санкт-Петербург",
"street": "Улица правды",
"home": "24",
"apartment": "44",
"latitude": "59.92088839350768",
"longitude": "30.33911295248004"
},
"phone": "+77777777",
"deliveryTimeFrom": "2021-04-28 11:34:00",
"deliveryTimeTo": "2021-04-28 12:34:00",
"description": "Доставить до двери (replaced)",
"supplierId": {},
"goods": [
{
"returnReasonId": {},
"count": 1,
"total": 539.78,
"discountTotal": 0,
"position": 0,
"unit": "г",
"vedCode": "",
"countryCode": "",
"customDeclarationCode": "",
"markValue": "",
"markBinaryValue": "",
"specificities": [],
"warehouses": [],
"canceledItems": [],
"parentId": {},
"goodId": 355864,
"article": "",
"taxId": "8286",
"calcId": "0",
"title": "Кофе carte noire",
"weight": "95",
"multiplicity": 1,
"price": 539.78,
"description": "replaced",
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1
},
{
"returnReasonId": null,
"count": 1,
"total": 139.79,
"discountTotal": 0,
"position": 1,
"unit": "г",
"vedCode": "",
"countryCode": "",
"customDeclarationCode": "",
"markValue": "",
"markBinaryValue": "",
"specificities": [
{
"count": 1,
"parentId": {},
"specificityId": "24",
"title": "Пакет (полиэтиленовый)",
"value": "",
"price": 5,
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1,
"article": "AM-3243"
}],
"warehouses": [],
"canceledItems": [],
"parentId": null,
"goodId": 355862,
"article": "",
"taxId": "8286",
"calcId": "0",
"title": "Сыр маасдам Valio 45% БЗМЖ",
"weight": "120",
"multiplicity": 1,
"price": 139.79,
"description": "replaced",
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1
}],
"payments": [],
"returnedOrder": null,
"isAgreed": 0,
"isRefund": 0,
"isReturned": 0,
"isEdited": 0
}]
### Редактирование заказа [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"orderId":"209900",
"codeAlias":"G-2 (updated)",
"statusId":"0",
"deliveryStatusId":"1",
"courierId":null,
"clientId":"3271",
"supplierId":null,
"client":{
"firstname":"Алексей (updated)",
"lastname":"Иванов (updated)",
"email":"ivanow@email.com"
},
"paymentId":"4113",
"amountToPay":679.57,
"prePaymentSum":0,
"cash":"0",
"addressToEntity":{
"city":"Санкт-Петербург",
"street":"Улица правды",
"home":"24",
"apartment":"44",
"latitude":"59.92088839350768",
"longitude":"30.33911295248004",
"isUseGoogleGeo":false
},
"phone":"+79123456789",
"deliveryTimeFrom":"2021-04-28 11:34:00",
"deliveryTimeTo":"2021-04-28 12:34:00",
"description":"Доставить до двери (updated)",
"goods":[
{
"goodId":"355864",
"count":1,
"price":539.78,
"total":539.78,
"unit":"г",
"discountTotal":0,
"position":0,
"description":"updated",
"specificities":[
]
},
{
"goodId":"355862",
"count":1,
"price":139.79,
"total":139.79,
"unit":"г",
"discountTotal":0,
"position":1,
"description":"updated",
"specificities":[
{
"specificityId":"24",
"price":"5.00",
"count":"1"
}
]
}
]
}
+ Response 201
### Редактирование массива заказов
[**PUT** https://api-courier-ireca.softbalance.ru/api/v1/orders/multipleUpdate]
+ Attributes
+ orderIds (required, array) - Массив идентификаторов изменяемых заказов
+ attributes (required, array) - Массив изменяемых аттрибутов (Для изменения доступны следующие аттрибуты: "statusId", "deliveryStatusId", "returnReasonId", "courierId", "deliveryTimeFrom", "deliveryTimeTo", "addressTo")
+ statusId (number) - Статус заказа
+ deliveryStatusId (number) - Статус состояния доставки заказа
+ returnReasonId (string) - Причина отмены заказа
+ courierId (string) - Идентификатор курьера
+ addressTo (string) - Адрес доставки одной строкой
+ deliveryTimeFrom (string) - Дата и время начиная с которого требуется доставить заказ
+ deliveryTimeTo (string) - Дата и время к которому требуется доставить заказ
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"orderIds":["209900"],
"attributes":
{
"statusId":1,
"deliveryStatusId":11,
"returnReasonId": "5276",
"courierId": "55750",
"addressTo": "Санкт-Петербург, ул. Передовиков, дом 25, кв 19",
"deliveryTimeFrom": "2021-06-15 13:21:13",
"deliveryTimeTo": "2021-06-15 15:21:13"
}
}
+ Response 204 (application/json)
### Создание/Редактирование заказов
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/orders/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"orderId":"209900",
"codeAlias":"G-2 (replaced)",
"statusId":"0",
"deliveryStatusId":"1",
"courierId":null,
"clientId":"3271",
"supplierId":null,
"client":{
"firstname":"Алексей (replaced)",
"lastname":"Иванов (replaced)",
"email":"ivanow@email.com"
},
"paymentId":"4113",
"amountToPay":679.57,
"prePaymentSum":0,
"cash":"0",
"addressToEntity":{
"city":"Санкт-Петербург",
"street":"Улица правды",
"home":"24",
"apartment":"44",
"latitude":"59.92088839350768",
"longitude":"30.33911295248004",
"isUseGoogleGeo":false
},
"phone":"+79123456789",
"deliveryTimeFrom":"2021-04-28 11:34:00",
"deliveryTimeTo":"2021-04-28 12:34:00",
"description":"Доставить до двери (replaced)",
"goods":[
{
"goodId":"355864",
"count":1,
"price":539.78,
"total":539.78,
"unit":"г",
"discountTotal":0,
"position":0,
"description":"replaced",
"specificities":[
]
},
{
"goodId":"355862",
"count":1,
"price":139.79,
"total":139.79,
"unit":"г",
"discountTotal":0,
"position":1,
"description":"replaced",
"specificities":[
{
"specificityId":"24",
"price":"5.00",
"count":"1"
}
]
}
]
}]
+ Response 201
### Удаление заказа [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
### Устанавливает callback на изменение заказа
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/orders/callback]
+ Request (application/json)
{
"url": "http://example.com/order-callback",
"isActive": 1
}
+ Response 201
### Запрос на заданный callback URL
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/you-order-callback]
+ Request (application/json)
{
"items":[
{
"codeAlias": "G-2",
"orderId": 209900,
"statusId": 0,
"deliveryStatusId": 1,
"receiptStatusId": 0,
"frReceiptStatusId": 0,
"returnReasonId": null,
"courierId": "",
"clientId": "3271",
"paymentId": "4113",
"originalPaymentId": 4113,
"frUsedPaymentId": null,
"client": {
"firstname": "Алексей",
"lastname": "Иванов",
"inn": "",
"email": "ivanow@email.com"
},
"amountToPay": "679.57",
"prePaymentSum": "0.00",
"cash": 0,
"addressFrom": "",
"addressFromEntity": {
"postindex": "",
"city": "",
"street": "",
"home": "",
"apartment": "",
"latitude": "0.00000000000000",
"longitude": "0.00000000000000"
},
"addressTo": "Санкт-Петербург Улица правды 24 44",
"addressToEntity": {
"postindex": "",
"city": "Санкт-Петербург",
"street": "Улица правды",
"home": "24",
"apartment": "44",
"latitude": "59.92088839350768",
"longitude": "30.33911295248004"
},
"phone": "+79123456789",
"deliveryTimeFrom": "2021-04-28 11:34:00",
"deliveryTimeTo": "2021-04-28 12:34:00",
"description": "Доставить до двери",
"supplierId": {},
"goods": [
{
"returnReasonId": {},
"count": 1,
"total": 539.78,
"discountTotal": 0,
"position": 0,
"unit": "г",
"vedCode": "",
"countryCode": "",
"customDeclarationCode": "",
"markValue": "",
"markBinaryValue": "",
"specificities": [],
"warehouses": [],
"canceledItems": [],
"parentId": {},
"goodId": 355864,
"article": "",
"taxId": "8286",
"calcId": "0",
"title": "Кофе carte noire",
"weight": "95",
"multiplicity": 1,
"price": 539.78,
"description": "",
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1
},
{
"returnReasonId": null,
"count": 1,
"total": 139.79,
"discountTotal": 0,
"position": 1,
"unit": "г",
"vedCode": "",
"countryCode": "",
"customDeclarationCode": "",
"markValue": "",
"markBinaryValue": "",
"specificities": [
{
"count": 1,
"parentId": {},
"specificityId": "24",
"title": "Пакет (полиэтиленовый)",
"value": "",
"price": 5,
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1,
"article": "AM-3243"
}],
"warehouses": [],
"canceledItems": [],
"parentId": null,
"goodId": 355862,
"article": "",
"taxId": "8286",
"calcId": "0",
"title": "Сыр маасдам Valio 45% БЗМЖ",
"weight": "120",
"multiplicity": 1,
"price": 139.79,
"description": "",
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1
}],
"payments": [],
"returnedOrder": null,
"isAgreed": 0,
"isRefund": 0,
"isReturned": 0,
"isEdited": 0
}
]
}
+ Response 201
### Получение списка изменений статусов доставки заказа
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/orders/journalStatuses?orderId={orderId}]
+ Parameters
+ orderId (required, number, `209900`) ... Идентификатор заказа в вашей системе
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"statusId": 1,
"returnReasonId": 1,
"longitude": 0.0,
"latitude": 0.0,
"accuracy": 10,
"createdAt": "2017-05-15 13:21:13",
},
{
"statusId": 1,
"returnReasonId": 1,
"longitude": 0.0,
"latitude": 0.0,
"accuracy": 10,
"createdAt": "2017-05-15 13:21:13",
}
]
## Фискальные документы
[https://api-courier-ireca.softbalance.ru/api/v1/correctionReceipts?page={page}&count={count}]
### Получить чек оплаты
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/orderReceipts?orderId={orderId}]
+ Parameters
+ orderId (required, number, `209897`) ... Номер заказа
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ orderId (number) - Уникальный идентификатор заказа в вашей системе
+ serialNumber (string) - Серийный номер
+ shiftNumber (string) - Номер смены
+ fn (string) - Номер фискального накопителя
+ fdNumber (string) - Номер чека ФН
+ receiptNumber (string) - Номер чека в кассе
+ fiscalSign (string) - Фискальный признак документа
+ dateTimeReceipt (string) - Дата и время чека
### Получить чек возврата
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/orderReturnReceipts?orderId={orderId}]
+ Parameters
+ orderId (required, number, `209897`) ... Номер заказа
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ orderId (number) - Уникальный идентификатор заказа в вашей системе
+ serialNumber (string) - Серийный номер
+ shiftNumber (string) - Номер смены
+ fn (string) - Номер фискального накопителя
+ fdNumber (string) - Номер чека ФН
+ receiptNumber (string) - Номер чека в кассе
+ fiscalSign (string) - Фискальный признак документа
+ dateTimeReceipt (string) - Дата и время чека
### Получить чек коррекции
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/correctionReceipts?courierId={courierId}&page={page}&count={count}]
+ Parameters
+ courierId (number, `55752`) ... Идентификатор курьера
+ page (required, number, `0`) ... Номер страницы
+ count (required, number, `10`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ correctionReceiptId (number) - Уникальный идентификатор чека в системе iRECA
+ courierId (string) - Идентификатор курьера
+ serialNumber (string) - Серийный номер
+ amount (string) - Сумма коррекции
+ commandExecutedAt (string) - Дата и время печати чека
## Удаленная фискализация с Atol Online [/atolOnlineSettings]
### Создание/Редактирование настроек
**POST** https://api-courier-ireca.softbalance.ru/api/v1/atolOnlineSettings/replace]
+ Attributes (object)
+ settingId (number) - Уникальный идентификатор настройки в вашей системе
+ login (string) - Логин в аккаунте Atol Online
+ password (string) - Пароль в аккаунте Atol Online
+ kktGroup (string) - Группа печати
+ isProduction (string) - Признак, что вы будете пробивать чеки в рабочей среде (не отладка).
+ company (object) - Настройки вашей компании
+ inn (string) - ИНН
+ taxSystem (enum) - Система налогообложения
+ Members
+ `osn` - – общая СН
+ `usn_income` - упрощенная СН (доходы)
+ `usn_income_outcome` - упрощенная СН (доходыминус расходы);
+ `envd` - единый налог на вмененный доход
+ `esn` - единый сельскохозяйственный налог
+ `patent` -патентная СН
+ agent (object) - Настройки агенсткой схемы (указывается только если вы используте агентскую схему работы)
+ type (enum)
+ `bank_paying_agent` - Банковский платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным агентом.
+ `bank_paying_subagent` - Банковский платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным субагентом.
+ `paying_agent` - Платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным агентом.
+ `paying_subagent` - Платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным субагентом.
+ `attorney` - Поверенный. Осуществление расчета с покупателем (клиентом) пользователем, являющимся поверенным.
+ `commission_agent` - Комиссионер.Осуществление расчета с покупателем (клиентом) пользователем, являющимся комиссионером.
+ `another` - Другой тип агента. Осуществление расчета с покупателем (клиентом) пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером.
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"settingId": 1,
"login": "login",
"password": "1234",
"kktGroup": "group_code_19642",
"isProduction": 1,
"company": {
"inn": "1234567890",
"taxSystem": "usn_income"
},
"agent": {
"type":"another"
}
}
+ Response 201 (application/json)
## Удаленная фискализация с Pechka54
[/pechka54Settings]
### Получение настроек
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/pechka54Settings]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ url (number) - Ссылка для интеграции Pechka54 c сервером iRECA
## Журнал изменений заказов
[/journal?page={page}&count={count}]
### Получить список изменений заказа
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/journal?entityId={entityId}&startedAt={startedAt}&page={page}&count={count}]
+ Parameters
+ entityId (required, string, `209897`) ... Идентификатор заказа
+ startedAt (string, `2021-06-30 10:48:46`) ... Дата и время с которого требуется получить список изменений
+ page (required, number, `0`) ... Номер страницы
+ count (required, number, `10`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ event (enum) - Наименование события
+ Members
+ `create` - Заказ был создан
+ `update` - Заказ был изменен
+ source (string) - Наименование источника инициировавшего изменение
+ courierId (string) - Идентификатор курьера
+ createdAt (string) - Дата и время события
+ beforeItem (object, nullable) - Значение данных до изменений (Важно! Присутствуют только измененные параметры)
+ statusId - Статус заказа
+ deliveryStatusId (number) - Статус состояния доставки заказа
+ isAgreed (boolean) - Определяет, что заказ согласован
+ returnReasonId (number) - Причина отмены заказа
+ frReceiptStatusId (number) - Определяет состояние чека в фискальном регистраторе (распечатан/не распечатан)
+ courierId (number) - Идентификатор курьера
+ clientId (number) - Идентификатор клиента
+ supplierId (number) - Идентификатор поставщика (агентская схема)
+ paymentId (number) - Тип платежа
+ amountToPay (number) - Сумма к оплате без учета скидки
+ phone (string) - телефон (если не задан используется телефон клиента)
+ deliveryTimeFrom (string) - Дата и время начиная с которого требуется доставить заказ
+ deliveryTimeTo (string) - Дата и время к которому требуется доставить заказ
+ client
+ firstname - Имя клиента
+ lastname - Фамилия клиента
+ inn - ИНН клиента
+ email - Email клиента
+ addressToEntity
+ firstname - Имя клиента
+ lastname - Фамилия клиента
+ inn - ИНН клиента
+ email - Email клиента
+ isReturned (boolean) - Определяет, что по этому заказу выполнен возврат
+ isEdited (boolean) - Определяет, что у заказа редактировались позиции
+ isRefund (boolean) - Определяет, что этот заказ на возврат
+ description (string) - Описание заказа
+ afterItem - Значение данных после изменений (Важно! Присутствуют только измененные параметры)
+ statusId - Статус заказа
+ deliveryStatusId (number) - Статус состояния доставки заказа
+ isAgreed (boolean) - Определяет, что заказ согласован
+ returnReasonId (number) - Причина отмены заказа
+ frReceiptStatusId (number) - Определяет состояние чека в фискальном регистраторе (распечатан/не распечатан)
+ courierId (number) - Идентификатор курьера
+ clientId (number) - Идентификатор клиента
+ supplierId (number) - Идентификатор поставщика (агентская схема)
+ paymentId (number) - Тип платежа
+ amountToPay (number) - Сумма к оплате без учета скидки
+ phone (string) - телефон (если не задан используется телефон клиента)
+ deliveryTimeFrom (string) - Дата и время начиная с которого требуется доставить заказ
+ deliveryTimeTo (string) - Дата и время к которому требуется доставить заказ
+ client
+ firstname - Имя клиента
+ lastname - Фамилия клиента
+ inn - ИНН клиента
+ email - Email клиента
+ addressToEntity
+ firstname - Имя клиента
+ lastname - Фамилия клиента
+ inn - ИНН клиента
+ email - Email клиента
+ isReturned (boolean) - Определяет, что по этому заказу выполнен возврат
+ isEdited (boolean) - Определяет, что у заказа редактировались позиции
+ isRefund (boolean) - Определяет, что этот заказ на возврат
+ description (string) - Описание заказа
+ Body
[
{
"event":"create",
"source":"http:\/\/site.com",
"courierId":null,
"createdAt":"2021-04-20 12:11:07",
"beforeItem":null,
"afterItem":null
},
{
"event":"update",
"source":"Application: iRECA Courier",
"courierId":"12345",
"createdAt":"2021-04-20 13:31:30",
"beforeItem":{
"statusId":0,
"frReceiptStatusId":0
},
"afterItem":{
"statusId":1,
"frReceiptStatusId":1
}
},
{
"event":"update",
"source":"Application: iRECA Courier",
"courierId":"12345",
"createdAt":"2021-04-20 13:31:32",
"beforeItem":{
"deliveryStatusId":7
},
"afterItem":{
"deliveryStatusId":9
}
},
{
"event":"update",
"source":"Application: iRECA Courier",
"courierId":"12345",
"createdAt":"2021-04-20 13:33:24",
"beforeItem":{
"deliveryStatusId":9
},
"afterItem":{
"deliveryStatusId":10
}
}
]
## Каталог товаров
[/goods?goodId={goodId}]
+ Parameters
+ goodId (required, number, `355866`) ... Идентификатор позиции заказа
### Создание товаров
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/goods]
+ Attributes
+ goodId (required, number) - Идентификатор товара в вашей системе
+ article (string) - Артикул товара
+ parentId (required, number, nullable) - Идентификатор родительского элемента
+ taxId (required, number) - Идентификатор налоговой ставки
+ calcId (number) - Признак предмета расчета
+ title (required, string) - Наименование товара
+ unit (string) - Единица измерения товара
+ weight (string) - Вес товара
+ multiplicity (number) - Кратность (шаг инкрементирования/декриментирования товара при его редактировании в приложении)
+ price (required, number) - Цена
+ description (string) - Описание товара
+ imageUrl (string) - Ссылка на изображение
+ imageBigUrl (string) - Ссылка на изображение
+ warehouses (array, fixed-type) - Список складов на которых есть этот товар
+ (object)
+ warehouseId (string) - Идентификатор склада в вашей системе
+ count (number) - Количество товара на складе
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[
{
"parentId": null,
"goodId": "1",
"article": "G-1",
"taxId": "8284",
"calcId": 0,
"title": "Варенье яблочное FL",
"unit": "г",
"weight": "370",
"multiplicity": 1,
"price": 179.5,
"description": "",
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png"
}
]
+ Response 201 (application/json)
### Получение данных товара [**GET**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ isActive (boolean) - Определяет состояние товара: 0 - удален; 1 - активен.
+ Body
{
"parentId": null,
"goodId": "355866",
"article": "G-567",
"taxId": "8284",
"calcId": 0,
"title": "Варенье вишня FL",
"unit": "г",
"weight": "370",
"multiplicity": 1,
"price": 179.5,
"description": "",
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"isActive": 1
}
### Получение списка товаров
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/goods?page={page}&count={count}]
+ Parameters
+ page (required, number, `0`) ... Номер страницы
+ count (required, number, `5`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ isActive (boolean) - Определяет состояние товара: 0 - удален; 1 - активен.
+ Body
[
{
"parentId": null,
"goodId": "355866",
"article": "G-567",
"taxId": "8284",
"calcId": 0,
"title": "Варенье вишня FL",
"unit": "г",
"weight": "370",
"multiplicity": 1,
"price": 179.5,
"description": "",
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"isActive": 1
},
{
"parentId": null,
"goodId": "355865",
"article": "",
"taxId": "8284",
"calcId": 0,
"title": "Доставка",
"unit": "",
"weight": "0",
"multiplicity": 1,
"price": 500,
"description": "",
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1
}
]
### Редактирование товара [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"parentId": null,
"goodId": "355866",
"article": "G-567",
"taxId": "8284",
"calcId": 0,
"title": "Варенье вишня FL (updated)",
"unit": "г",
"weight": "370",
"multiplicity": 1,
"price": 179.5,
"description": "",
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"isActive": 1
}
+ Response 204
### Создание/Редактирование товаров
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/goods/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"parentId": null,
"goodId": "355866",
"article": "G-567",
"taxId": "8284",
"calcId": 0,
"title": "Варенье вишня FL (replaced)",
"unit": "г",
"weight": "370",
"multiplicity": 1,
"price": 179.5,
"description": "",
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"isActive": 1
}]
+ Response 204
### Удаление товара [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Характеристики
[/specificities?specificityId={specificityId}]
+ Parameters
+ specificityId (required, number, `26`) ... Идентификатор характеристики товара
### Создание характеристик
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/specificities]
+ Attributes
+ specificityId (required, number) - Идентификатор характеристики в вашей системе
+ parentId (required, number) - Идентификатор характеристики элемента
+ title (required, string) - Наименование характеристики
+ value (string) - Значение характеристики
+ price (required, number) - Цена характеристика
+ imageUrl (string) - Ссылка на изображение
+ imageBigUrl (string) - Ссылка на изображение
+ article - Артикул специфики
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[
{
"specificityId": 1,
"parentId": null,
"title": "Новая характеристика",
"value": "Новое значение",
"price": "250.00",
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"article": "DP-385-7"
}
]
+ Response 201 (application/json)
### Получение данных характеристик [**GET**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ isActive (boolean) - Определяет состояние специфики: 0 - удален; 1 - активен.
+ Body
{
"parentId": null,
"specificityId": "26",
"title": "Цвет",
"value": "Синий",
"price": 10.5,
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"isActive": 1,
"article": "AM-3245"
}
### Получение списка характеристик
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/specificities?page={page}&count={count}]
+ Parameters
+ page (required, number, `0`) ... Номер страницы
+ count (required, number, `5`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ isActive (boolean) - Определяет состояние товара: 0 - удален; 1 - активен.
+ Body
[
{
"parentId": null,
"specificityId": "24",
"title": "Пакет (полиэтиленовый)",
"value": "",
"price": 5,
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1,
"article": "AM-3243"
},
{
"parentId": null,
"specificityId": "25",
"title": "Пакет бумажный",
"value": "",
"price": 10.5,
"imageUrl": "",
"imageBigUrl": "",
"isActive": 1,
"article": "AM-3244"
},
{
"parentId": null,
"specificityId": "26",
"title": "Цвет",
"value": "Синий",
"price": 10.5,
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"isActive": 1,
"article": "AM-3245"
}
]
### Редактирование характеристики [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"parentId": null,
"specificityId": "26",
"title": "Цвет (updated)",
"value": "Синий (updated)",
"price": 10.5,
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"article": "AM-3245"
}
+ Response 204
### Создание/Редактирование характеристики
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/specificities/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"parentId": null,
"specificityId": "26",
"title": "Цвет (replaced)",
"value": "Синий (replaced)",
"price": 10.5,
"imageUrl": "http://example.com/image.png",
"imageBigUrl": "http://example.com/image_big.png",
"article": "AM-3245"
}]
+ Response 204
### Удаление характеристики [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Склады
[https://api-courier-ireca.softbalance.ru/api/v1/warehouses?warehouseId={warehouseId}]
+ Parameters
+ warehouseId (required, number, `1100`) ... Идентификатор склада
### Создание склада
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/warehouses]
+ Attributes
+ warehouseId (required, number) - Идентификатор склада в вашей системе
+ title (required, string) - Наименование склада
+ firstname (string) - Имя отвественного на складе
+ lastname (string) - Фамилия отвественного на складе
+ phone (string) - Телефон отвественного на складе
+ city (string) - Город, где расположен склад
+ street (string) - Улица
+ house (string) - Дом
+ apartment (string) - Офис
+ latitude (number) - Широта
+ longitude (number) - Долгота
+ description (string) - Описание склада
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[
{
"warehouseId":"1",
"title":"Новый склад",
"firstname":"Иван",
"lastname":"Венских",
"phone":"+79063998463",
"city":"Saint-Petersburg",
"street":"Nevsky",
"house":"10",
"apartment":"55",
"description":"Наш новый склад"
}
]
+ Response 201 (application/json)
### Получение данных склада [**GET**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ isActive (boolean) - Определяет состояние склада: 0 - удален; 1 - активен.
+ Body
{
"warehouseId": "1100",
"title": "Малый склад",
"firstname": "Алексей",
"lastname": "Хранилов",
"phone": "+79054558899",
"city": "Санкт-Петербург",
"street": "пр-т Авиаконструкторов",
"house": "29к1",
"apartment": "5",
"latitude": "0.00000000000000",
"longitude": "0.00000000000000",
"description": "",
"updatedAt": "2021-05-04 15:39:45",
"isActive": 1
}
### Получение списка складов
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/warehouses?page={page}&count={count}]
+ Parameters
+ page (required, number, `0`) ... Номер страницы
+ count (required, number, `5`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ isActive (boolean) - Определяет состояние склада: 0 - удален; 1 - активен.
+ Body
[
{
"warehouseId": "1099",
"title": "Главный склад",
"firstname": "Виктор",
"lastname": "Складских",
"phone": "+79054558877",
"city": "Москва",
"street": "Мосфильмовская улица",
"house": "39к3",
"apartment": "88",
"latitude": "0.00000000000000",
"longitude": "0.00000000000000",
"description": "",
"updatedAt": "2021-05-04 15:39:45",
"isActive": 1
},
{
"warehouseId": "1100",
"title": "Малый склад",
"firstname": "Алексей",
"lastname": "Хранилов",
"phone": "+79054558899",
"city": "Санкт-Петербург",
"street": "пр-т Авиаконструкторов",
"house": "29к1",
"apartment": "5",
"latitude": "0.00000000000000",
"longitude": "0.00000000000000",
"description": "",
"updatedAt": "2021-05-04 15:39:45",
"isActive": 1
}
]
### Редактирование склада [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"warehouseId":"1100",
"title":"Малый склад (updated)",
"firstname":"Алексей (updated)",
"lastname":"Хранилов (updated)",
"phone":"+79054558899",
"city":"Санкт-Петербург",
"street":"пр-т Авиаконструкторов",
"house":"29к1",
"apartment":"5",
"description":"updated",
"latitude": "0.00000000000000",
"longitude": "0.00000000000000"
}
+ Response 204
### Создание/Редактирование склада
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/warehouses/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"warehouseId":"1100",
"title":"Малый склад (replaced)",
"firstname":"Алексей (replaced)",
"lastname":"Хранилов (replaced)",
"phone":"+79054558899",
"city":"Санкт-Петербург",
"street":"пр-т Авиаконструкторов",
"house":"29к1",
"apartment":"5",
"description":"replaced",
"latitude": "0.00000000000000",
"longitude": "0.00000000000000"
}]
+ Response 204
### Удаление склада [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Курьер
[/couriers?courierId={courierId}]
+ Parameters
+ courierId (required, number, `55753`) ... идентификатор курьера в вашей системе
### Создание курьеров
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/couriers]
+ Attributes
+ courierId (required, number) - Идентификатор курьера в вашей системе
+ title (required, string) - Имя и фамилия курьера
+ email (required, string) - Email курьера
+ phone (required, string) - Телефон курьера
+ roleId (string) - Роль пользователя приложения
+ sourcePassword (required, string) - Исходный пароль.
+ inn (string) - ИНН кассира
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"courierId": 1,
"title": "Новый курьер",
"email": "courier@email.ru",
"phone": "+79062893689",
"roleId": null,
"sourcePassword": "1",
"inn": "1234567890"
}]
+ Response 201 (application/json)
### Получение данных курьера [**GET**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
{
"courierId": "55753",
"title": "Алексей Вестов",
"email": "vestov@email.com",
"phone": "+9999999999",
"roleId": "908",
"sourcePassword": "2321",
"inn": "",
"updatedAt": "2016-11-11 14:51:46"
}
### Получение списка курьеров
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/couriers]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"courierId": "55752",
"title": "Алексей Быстров",
"email": "abistrov@email.com",
"phone": "+8888888888",
"roleId": "908",
"sourcePassword": "1124",
"inn": "",
"updatedAt": "2016-11-11 14:51:46"
},
{
"courierId": "55753",
"title": "Алексей Вестов",
"email": "vestov@email.com",
"phone": "+9999999999",
"roleId": "908",
"sourcePassword": "2321",
"inn": "",
"updatedAt": "2016-11-11 14:51:46"
}
]
### Редактирование данных курьера [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"courierId": "55753",
"title": "Алексей Вестов (updated)",
"email": "vestov@email.com",
"phone": "+9999999999",
"roleId": "908",
"sourcePassword": "2321",
"inn": "",
"updatedAt": "2016-11-11 14:51:46"
}
+ Response 204
### Создание/Редактирование курьеров
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/couriers/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"courierId": "55753",
"title": "Алексей Вестов (replaced)",
"email": "vestov@email.com",
"phone": "+9999999999",
"roleId": "908",
"sourcePassword": "2321",
"inn": "",
"updatedAt": "2016-11-11 14:51:46"
}]
+ Response 204
### Удаление курьера [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Роли приложения
[/userRoles?roleId={roleId}]
+ Parameters
+ roleId (required, number, `910`) ... идентификатор роли в вашей системе
### Создание роли
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/userRoles]
+ Attributes
+ roleId (required, number) - Идентификатор роли в вашей системе
+ title (required, string) - Наименование роли
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"roleId": 1,
"title": "Новая роль пользователя приложения"
}]
+ Response 201 (application/json)
### Получение данных роли [**GET**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
{
"roleId": 910,
"title": "Менеджер",
"isActive": 1
}
### Получение списка ролей
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/userRoles]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"roleId": 908,
"title": "Курьер",
"isActive": 1
},
{
"roleId": 909,
"title": "Кассир",
"isActive": 1
},
{
"roleId": 910,
"title": "Менеджер",
"isActive": 1
}
]
### Редактирование роли [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"roleId": 910,
"title": "Менеджер (updated)"
}
+ Response 204
### Создание/Редактирование роли
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/userRoles/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"roleId": 910,
"title": "Менеджер (replaced)"
}]
+ Response 204
### Удаление роли [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Настройки доступа
[/permissions?roleId={roleId}&permissionId={permissionId}]
**Права доступа поддерживаются на всех устройствах, кроме Эвотор.**
+ Parameters
+ roleId (required, number, `908`) ... Идентификатор роли
+ permissionId (required, string, `registratorShiftOpen`) ... Идентификатор настройки доступа
### Получение списка настроек доступа
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/permissions?roleId={roleId}&permissionId={permissionId}]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Parameters
+ roleId (required, number, `908`) ... Идентификатор роли
+ actionId (required, string, `registratorShiftOpen`) ... Идентификатор настройки доступа
+ Response 200 (application/json)
[
{
"roleId": 908,
"actionId":"registratorShiftOpen",
"roleTitle":"Курьер",
"isAllowed":"1",
"description":"Открывает смену для ФР",
"updatedAt":"2021-05-04 15:39:36"
}
]
### Установка/сброс настройки доступа
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/permissions/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"roleId": 908,
"actionId":"registratorShiftOpen",
"isAllowed":"1"
}]
+ Response 204
## Клиент
[https://api-courier-ireca.softbalance.ru/api/v1/clients?clientId={clientId}]
+ Parameters
+ clientId (required, number, `3272`) ... идентификатор клиента в вашей системе
### Создание клиентов
[**POST** /clients]
+ Attributes
+ clientId (required, number) - Идентификатор клиента в вашей системе
+ title (required, string) - Наименование компании
+ firstname (required, string) - Имя клиента
+ lastname (required, string) - Фамилия клиента
+ birthday (required, string) - День рождения клиента
+ addressEntity
+ city (string) - Город
+ street (string) - Улица
+ home (string) - Дом
+ apartment (string) - Номер офиса или квартиры
+ inn (string) - ИНН клиента
+ phone (string) - Телефон клиента
+ email (string) - Адрес клиента
+ description (string) - Описание клиента
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"clientId": 1,
"title":"Компания нового клиента",
"firstname": "Дмитрий",
"lastname": "Новиков",
"birthday": "1989-03-11",
"addressEntity": {
"city": "Санкт-Петербург",
"street": "пр-кт Заневский",
"home": "25",
"apartment": "3"
},
"inn": "111122223333",
"phone": "+7(812)2354788",
"email": "ivanow@email.com",
"description": "Наш новый клиент"
}]
+ Response 201 (application/json)
### Получение данных клиента [**GET**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
{
"clientId": 3272,
"title":"ООО 'АДМИРАЛ'",
"firstname": "Андрей",
"lastname": "Лекалов",
"birthday": "1986-01-14",
"addressEntity": {
"postindex": "",
"city": "Санкт-Петербург",
"street": "пр-кт Луначарского",
"home": "52",
"apartment": "176",
"latitude": "60.03442720000000",
"longitude": "30.37392440000000"
},
"inn": "1234567891",
"phone": "+999999999",
"email": "lecalov@email.com",
"description": "",
"updatedAt": "2017-08-27 17:52:06"
}
### Получение списка клиентов
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/clients]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"clientId": 1,
"title":"ООО 'АДМИРАЛ'",
"firstname": "Алексей",
"lastname": "Иванов",
"birthday": "1994-04-12",
"addressEntity": {
"city": "Санкт-Петербург",
"street": "пр-кт Культуры",
"home": "48",
"apartment": "59"
},
"inn": "1234567890",
"phone": "+7(812)2354788",
"email": "ivanow@email.com",
"description": "Наш ключевой клиент",
"updatedAt": "2017-08-27 17:52:06"
},
{
"clientId": 3272,
"title":"ООО 'СИТИ'",
"firstname": "Андрей",
"lastname": "Лекалов",
"birthday": "1986-01-14",
"addressEntity": {
"city": "Санкт-Петербург",
"street": "пр-кт Луначарского",
"home": "52",
"apartment": "176"
},
"inn": "1234567891",
"phone": "+999999999",
"email": "lecalov@email.com",
"description": "",
"updatedAt": "2017-08-27 17:52:06"
}
]
### Редактирование данных клиента [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"clientId": 3272,
"title":"ООО 'СИТИ' (updated)",
"firstname": "Андрей (updated)",
"lastname": "Лекалов (updated)",
"birthday": "1986-01-14",
"addressEntity": {
"city": "Санкт-Петербург",
"street": "пр-кт Луначарского",
"home": "52",
"apartment": "176"
},
"inn": "1234567891",
"phone": "+999999999",
"email": "lecalov@email.com",
"description": "updated"
}
+ Response 204
### Создание/Редактирование клиента
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/clients/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"clientId": 3272,
"title":"ООО 'СИТИ' (replaced)",
"firstname": "Андрей (replaced)",
"lastname": "Лекалов (replaced)",
"birthday": "1986-01-14",
"addressEntity": {
"city": "Санкт-Петербург",
"street": "пр-кт Луначарского",
"home": "52",
"apartment": "176"
},
"inn": "1234567891",
"phone": "+999999999",
"email": "lecalov@email.com",
"description": "replaced"
}]
+ Response 204
### Удаление клиента [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Поставщики
[/suppliers?supplierId={supplierId}]
Предназначены для использования агентской схемы
+ Parameters
+ supplierId (required, number, `52`) ... Идентификатор поставщика
### Создание поставщика
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/suppliers]
+ Attributes
+ supplierId (required, number) - Идентификатор поставщика в вашей системе
+ title (required, string) - Наименование поставщика
+ taxId (string) - Идентификатор налоговой ставки
+ inn (string) - ИНН поставщика
+ phone (string) - Телефон поставщика
+ address (string) - Адрес поставщика
+ description (string) - Описание поставщика
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[
{
"supplierId":"1",
"title":"Новый поставщик",
"taxId":"5",
"inn":"1234567890",
"phone":"+79062558463",
"address":"Санкт-Петербург, ул. Передовиков, дом 25, кв.16",
"description":"Описание"
}
]
+ Response 201 (application/json)
### Получение данных поставщика [**GET**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Body
{
"supplierId":"52",
"title":"ИП Пост",
"taxId":"5",
"inn":"1234567891",
"phone":"+78123254411",
"address":"Санкт-Петербург, пр-т Заневский д 12к2",
"description":"Разработчик ПО"
}
### Получение списка поставщиков
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/suppliers?page={page}&count={count}]
+ Parameters
+ page (required, number, `0`) ... Номер страницы
+ count (required, number, `5`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Body
[
{
"supplierId":"51",
"title":"ИП Иванов",
"taxId":"5",
"inn":"1234567890",
"phone":"+78123254400",
"address":"Санкт-Петербург, пр-т Заневский д 30к2",
"description":"Системный интегратор и разработчик программного обеспечения"
},
{
"supplierId":"52",
"title":"ИП Пост",
"taxId":"5",
"inn":"1234567891",
"phone":"+78123254411",
"address":"Санкт-Петербург, пр-т Заневский д 12к2",
"description":"Разработчик ПО"
}
]
### Редактирование поставщика [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"supplierId":"52",
"title":"ИП Пост (updated)",
"taxId":"5",
"inn":"1234567891",
"phone":"+78123254411",
"address":"Санкт-Петербург, пр-т Заневский д 12к2 (updated)",
"description":"Разработчик ПО (updated)"
}
+ Response 204
### Создание/Редактирование поставщика
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/suppliers/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"supplierId":"52",
"title":"ИП Пост (replaced)",
"taxId":"5",
"inn":"1234567891",
"phone":"+78123254411",
"address":"Санкт-Петербург, пр-т Заневский д 12к2 (replaced)",
"description":"Разработчик ПО (replaced)"
} ]
+ Response 204
### Удаление поставщика [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Управление лицензиями [/licenses]
### Список курьеров использующих лицензии
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/licenses]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
{
"licenseUse": 2,
"licenseTotal": 50,
"licenses": [
{
"courierId": 1,
"deviceId": "3ebf391b3c596bc8",
"deviceTitle": "asus ME301T",
"sessionStartAt": "2017-05-14 13:21:13"
}
]
}
### Освободить лицензию
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/licenses/close?deviceId={deviceId}]
+ Parameters
+ deviceId (required, number, `64fa00ec9ffc4b99`) ... Идентификатор устройства
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
### Устанавливает callback на закрытие сессии курьера
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/licenses/callback]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"url": "http://example.com/session-closed-callback",
"isActive": 1
}
+ Response 201
### Запрос на заданный callback URL
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/example]
+ Request (application/json)
{
"sessionId": 1,
"courierId": 27,
"deviceId": "3ebf391b3c596bc8",
"deviceTitle": "asus ME301T",
"sessionStartAt": "2017-05-15 13:21:13",
"sessionFinishAt": "2017-05-15 20:21:13"
}
+ Response 201
## Ошибки банковского терминала
[https://api-courier-ireca.softbalance.ru/api/v1/bankTerminalLogs?orderId={orderId}&courierId={courierId}&count={count}&page={page}]
### Получить список ошибок [**GET**]
+ Parameters
+ orderId (string, `209897`) ... Идентификатор заказа
+ courierId (string, `55752`) ... Идентификатор курьера
+ page (required, number, `0`) ... Номер страницы
+ count (required, number, `5`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ terminalLogId (number) - Уникальный идентификатор чека в системе iRECA
+ courierId (string) - Идентификатор курьера
+ errorCode (string) - Код ошибки
+ errorText (string) - Наименование ошибки
+ cardNumber (string) - Номер карты
+ paymentSystem (string) - Тип платежной системы
+ serialNumber (string) - Серийный номер
+ amount (string) - Сумма оплаты
+ orderId (string) - Идентификатор заказа
+ transactionCreatedAt (string) - Дата и время выполнения операции
## Ошибки фискального регистратора
[https://api-courier-ireca.softbalance.ru/api/v1/fiscalRegistratorLogs?orderId={orderId}&courierId={courierId}&count={count}&page={page}]
### Получить список ошибок [**GET**]
+ Parameters
+ orderId (string, `209897`) ... Идентификатор заказа
+ courierId (string, `55752`) ... Идентификатор курьера
+ page (required, number, `0`) ... Номер страницы
+ count (required, number, `5`) ... Количество элементов на страницу (по умолчанию - 20, максимум - 500)
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
+ Attributes (object)
+ frId (number) - Уникальный идентификатор чека в системе iRECA
+ courierId (string) - Идентификатор курьера
+ errorCode (string) - Код ошибки
+ errorText (string) - Наименование ошибки
+ serialNumber (string) - Серийный номер
+ amount (string) - Сумма оплаты
+ orderId (string) - Идентификатор заказа
+ commandExecutedAt (string) - Дата и время выполнения операции
## Причины отмены заказа
[https://api-courier-ireca.softbalance.ru/api/v1/orderReturnReasons?reasonId={reasonId}]
+ Parameters
+ reasonId (required, number, `5279`) ... Идентификатор ФР
### Создание причин отказа
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/orderReturnReasons]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"reasonId": 1,
"title": "Новая причина отказа"
}]
+ Response 201 (application/json)
### Получение причины отказа [**GET**]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
{
"reasonId": "5279",
"title": "Клиент передумал",
"type": "standard"
}
### Получение списка причин отказа
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/orderReturnReasons]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"reasonId": "5276",
"title": "Пожелание клиента",
"type": "standard"
},
{
"reasonId": "5277",
"title": "Товар испорчен",
"type": "standard"
},
{
"reasonId": "5278",
"title": "Клиент передумал",
"type": "standard"
},
{
"reasonId": "5279",
"title": "Клиент не присутствовал на месте",
"type": "standard"
}
]
### Редактирование причины отказа [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"title": "Клиент не присутствовал на месте (updated)"
}
+ Response 204
### Создание/Редактирование причин отказа
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/orderReturnReasons/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[
{
"reasonId": "5279",
"title": "Клиент не присутствовал на месте (replaced)"
}
]
+ Response 204
### Удаление причины отказа [DELETE]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Типы платежей
[https://api-courier-ireca.softbalance.ru/api/v1/paymentTypes?paymentTypeId={paymentTypeId}]
+ Parameters
+ paymentTypeId (required, number, `4116`) ... Идентификатор Типа платежа в вашей системе
### Создание типов платежей
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/paymentTypes]
+ Attributes
+ closeTypeId: 2 (required, number) - Определяет тип платежа в ФР
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"paymentTypeId": 1,
"closeTypeId": 2,
"title": "Банковская карта 3"
}]
+ Response 201 (application/json)
### Получение типа платежа [**GET**]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
{
"title": "Банковская карта 2",
"closeTypeId": 2,
"updatedAt": "2017-07-04 10:25:11"
}
### Получение списка типов платежей
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/paymentTypes]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"paymentTypeId": "4115",
"title": "Предоплата",
"closeTypeId": 3,
"updatedAt": "2021-04-29 12:08:50"
},
{
"paymentTypeId": "4114",
"title": "Банковская карта",
"closeTypeId": 2,
"updatedAt": "2017-07-04 10:25:11"
},
{
"paymentTypeId": "4116",
"title": "Банковская карта 2",
"closeTypeId": 2,
"updatedAt": "2021-04-29 13:55:42"
},
{
"paymentTypeId": "4113",
"title": "Наличные",
"closeTypeId": 1,
"updatedAt": "2017-07-04 10:25:11"
}
]
### Редактирование типа платежа [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"title": "Банковская карта 2 (updated)",
"closeTypeId": 1
}
+ Response 204
### Создание/Редактирование типов платежей
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/paymentTypes/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[
{
"paymentTypeId": "4116",
"title": "Банковская карта 2 (replaced)",
"closeTypeId": 2
}
]
+ Response 204
### Удаление типа платежа [DELETE]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Налоговые ставки
[https://api-courier-ireca.softbalance.ru/api/v1/taxes?taxId={taxId}]
+ Parameters
+ taxId (required, string, `8285`) ... Идентификатор налоговой ставки
### Создание налоговых ставок [**POST** /taxes]
+ Attributes
+ taxId (required, string) - Идентификатор налоговой ставки
+ title (string) - Наименование налоговой ставки
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[{
"taxId": "1",
"title": "10%/110%"
}]
+ Response 201 (application/json)
### Получение налоговой ставки [**GET**]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
{
"title": "10%/110%"
}
### Получение списка налоговых ставок
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/taxes]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"taxId": "8289",
"title": "БезНДС"
},
{
"taxId": "8286",
"title": "20%"
},
{
"taxId": "8285",
"title": "10%"
},
{
"taxId": "8284",
"title": "0%"
}
]
### Редактирование налоговой ставки [**PUT**]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
{
"title": "20%/120%"
}
+ Response 204
### Создание/Редактирование налоговых ставок
[**POST** https://api-courier-ireca.softbalance.ru/api/v1/taxes/replace]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Body
[
{
"taxId": "8285",
"title": "20%/120%"
}
]
+ Response 204
### Удаление налоговой ставки [DELETE]
+ Request (application/json)
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 204
## Справочники [/]
### Список статусов состояния заказа
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/dictionary/orderStatuses]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"statusId": 0,
"title": "Не оплачен"
}, {
"statusId": 1,
"title": "Оплачен"
}
]
### Список статусов доставки заказа
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/dictionary/orderDeliveryStatuses]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"statusId": 6,
"title": "Подготовлен"
}, {
"statusId": 7,
"title": "Заказ взят курьером"
}, {
"statusId": 9,
"title": "Заказ доставлен"
}, {
"statusId": 10,
"title": "Заказ закрыт"
}, {
"statusId": 11,
"title": "Заказ отменен"
}
]
### Список типов платежей в фискальном регистраторе
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/dictionary/closeTypes]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"closeTypeId": 1,
"title": "Наличные"
}, {
"closeTypeId": 2,
"title": "Банковская карта"
}
]
### Список предопределенных значений налоговых ставок
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/dictionary/taxTypes]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{"title":"20%"},
{"title":"10%"},
{"title":"20%/120%"},
{"title":"10%/110%"},
{"title":"0%"}
]
### Список признаков предмета расчета
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/dictionary/goodCalcTypes]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{"calcId":0,"title":"Не используется"},
{"calcId":1,"title":"Товар, кроме подакцизного"},
{"calcId":4,"title":"Услуга"}
]
### Список настроек доступа пользователей приложения
[**GET** https://api-courier-ireca.softbalance.ru/api/v1/dictionary/permissions]
+ Request
+ Headers
Authorization: Bearer 4066e3217dfd51753d1f52cb7d033fe1
+ Response 200 (application/json)
[
{
"description": "Открывает смену для ФР",
"permissionId": "registratorShiftOpen"
},
{
"description": "Закрывает смену ФР",
"permissionId": "registratorShiftClose"
},
{
"description": "Печать чека коррекции",
"permissionId": "printCorrectionReceipt"
},
{
"description": "Изменение настроек приложения",
"permissionId": "changeSettings"
},
{
"description": "Отмена заказа",
"permissionId": "orderCancel"
},
{
"description": "Редактирование места расчетов",
"permissionId": "updateAddressTo"
},
{
"description": "Внесение наличных",
"permissionId": "cashIn"
},
{
"description": "Изъятие наличных",
"permissionId": "cashOut"
},
{
"description": "Отчет по заказу",
"permissionId": "orderReport"
},
{
"description": "Редактирование позиций доставленного заказа",
"permissionId": "deliveredOrderItemUpdate"
}
]