1. Описание
1.1. Базовый URL
В базовый URL для выполнения запросов https://my.modulkassa.ru/api
1.2. Аутентификация API
Для аутентификации API клиента используется Basic-аутентификация.
Для получения логина и пароля для доступа к API нужно зайти в меню Настройки → Сервисы и включить элемент Заказы (выдача/доставка)

В открывшемся окне подключения сервиса будут указаны логин и пароль для работы через API. Скопируйте и сохраните их.

2. Описание методов
2.1. Создание нового заказа
POST /v2/retail-point/{retailPointId}/order
2.1.1. Параметры
Тип | Имя | Описание | Схема |
---|---|---|---|
Body |
Тело запроса |
Данные заказа |
|
Path |
retailPointId |
ID точки продаж |
string |
2.1.2. Ответы
HTTP код | Описание | Схема |
---|---|---|
200 |
Заказ успешно создан |
|
400 |
Некорректный запрос |
Без содержимого |
401 |
Запрос не авторизован |
Без содержимого |
403 |
У пользователя недостаточно прав для работы с заказами |
Без содержимого |
404 |
Точка продаж не найдена |
Без содержимого |
409 |
Заказ с таким же номером уже существует |
Без содержимого |
2.1.3. Пример запроса
POST https://my.modulkassa.ru/api/v2/retail-point/12345678-90ab-cdef-1234-000000000000/order
Тело запроса
{
"remoteId" : "4f4c789c-3863-41d3-aea9-c35b5a9e7f18",
"documentNumber" : "ORDER-12345",
"documentType" : "SALE",
"documentDateTime" : "2019-09-18T14:41:04+07:00",
"inventPositions" : [ {
"inventCode" : "GOOD-123",
"barcode" : "123456789",
"name" : "Товар 1",
"description" : "Описание товара",
"inventoryType" : "INVENTORY",
"measure" : "pcs",
"price" : 100.00,
"quantity" : 1.0,
"taxMode" : "COMMON",
"vatTag" : 1102,
"customsDeclarationNumber" : "123456",
"originCountryCode" : "643"
}, {
"inventCode" : "GOOD-124",
"barcode" : "987654321",
"name" : "Товар 2",
"description" : "Товар 2",
"inventoryType" : "SERVICE",
"measure" : "pcs",
"price" : 100.00,
"quantity" : 1.0,
"agentInformation" : {
"contractorInn" : "2204000595",
"contractorName" : "Модульбанк",
"contractorPhone" : "+7123456789",
"tags" : [ "AGENT" ]
}
} ],
"customerContact" : "+71234567890",
"responseURL" : "https://your-callback-service.com/complete-order?id=1",
"clientInformation" : {
"name" : "Иванов Иван Иванович",
"documentNumber" : "1234567"
}
}
2.2. Изменение существующего заказа
PUT /v2/retail-point/{retailPointId}/order
2.2.1. Параметры
Тип | Имя | Описание | Схема |
---|---|---|---|
Body |
Тело запроса |
Данные заказа |
|
Path |
retailPointId |
ID точки продаж |
string |
2.2.2. Ответы
HTTP код | Описание | Схема |
---|---|---|
200 |
Заказ успешно изменён |
|
400 |
Некорректный запрос |
Без содержимого |
401 |
Запрос не авторизован |
Без содержимого |
403 |
У пользователя недостаточно прав для работы с заказами |
Без содержимого |
404 |
Точка продаж или заказ не найдены |
Без содержимого |
2.2.3. Пример запроса
PUT https://my.modulkassa.ru/api/v2/retail-point/12345678-90ab-cdef-1234-000000000000/order
Тело запроса
{
"id" : "4f4c789c-3863-41d3-aea9-c35b5a9e7f18",
"remoteId" : "4f4c789c-3863-41d3-aea9-c35b5a9e7f18",
"documentNumber" : "ORDER-12345",
"documentType" : "SALE",
"documentDateTime" : "2019-09-18T14:41:04+07:00",
"inventPositions" : [ {
"inventCode" : "GOOD-123",
"barcode" : "123456789",
"name" : "Товар 1",
"description" : "Описание товара",
"inventoryType" : "INVENTORY",
"measure" : "pcs",
"price" : 100.00,
"quantity" : 1.0,
"taxMode" : "COMMON",
"vatTag" : 1102,
"customsDeclarationNumber" : "123456",
"originCountryCode" : "643"
}, {
"inventCode" : "GOOD-124",
"barcode" : "987654321",
"name" : "Товар 2",
"description" : "Товар 2",
"inventoryType" : "SERVICE",
"measure" : "pcs",
"price" : 100.00,
"quantity" : 1.0,
"agentInformation" : {
"contractorInn" : "2204000595",
"contractorName" : "Модульбанк",
"contractorPhone" : "+7123456789",
"tags" : [ "AGENT" ]
}
} ],
"customerContact" : "+71234567890",
"responseURL" : "https://your-callback-service.com/complete-order?id=1",
"clientInformation" : {
"name" : "Иванов Иван Иванович",
"documentNumber" : "1234567"
}
}
2.3. Получение заказа
GET /v2/retail-point/{retailPointId}/order/{orderId}
2.3.1. Параметры
Тип | Имя | Описание | Схема |
---|---|---|---|
Path |
orderId |
ID заказа |
string |
Path |
retailPointId |
ID точки продаж |
string |
2.3.2. Ответы
HTTP код | Описание | Схема |
---|---|---|
200 |
Заказ найден |
|
401 |
Запрос не авторизован |
Без содержимого |
403 |
У пользователя недостаточно прав для работы с заказами |
Без содержимого |
404 |
Точка продаж или заказ не найдены |
Без содержимого |
2.4. Получение списка заказов
GET /v2/retail-point/{retailPointId}/order
2.4.1. Параметры
Тип | Имя | Описание | Схема |
---|---|---|---|
Path |
retailPointId |
ID точки продаж |
string |
2.4.2. Ответы
HTTP код | Описание | Схема |
---|---|---|
200 |
OK |
|
401 |
Запрос не авторизован |
Без содержимого |
403 |
У пользователя недостаточно прав для работы с заказами |
Без содержимого |
404 |
Точка продаж не найдена |
Без содержимого |
2.5. Удаление заказа
DELETE /v2/retail-point/{retailPointId}/order/{orderId}
2.5.1. Параметры
Тип | Имя | Описание | Схема |
---|---|---|---|
Path |
orderId |
ID заказа |
string |
Path |
retailPointId |
ID точки продаж |
string |
2.5.2. Ответы
HTTP код | Описание | Схема |
---|---|---|
200 |
Заказ успешно удалён |
Без содержимого |
401 |
Запрос не авторизован |
Без содержимого |
403 |
У пользователя недостаточно прав для работы с заказами |
Без содержимого |
404 |
Точка продаж или заказ не найдены |
Без содержимого |
3. Модель данных
3.1. Order
Имя | Описание | Схема |
---|---|---|
id |
ID заказа |
string |
remoteId |
ID заказа во внешней системе |
string |
documentNumber |
Номер заказа |
string |
documentType |
Тип документа:
|
enum (SALE, RETURN) |
documentDateTime |
Пример : |
string (date-time) |
inventPositions |
Позиции заказа |
< InventPosition > array |
customerContact |
Адрес электронной почты или телефон покупателя |
string |
responseURL |
URL для подтверждения успешной фискализации на кассе |
string |
description |
Примечание к заказу |
string |
checkComment |
Комментарий для печати на чеке |
string |
checkCommentChanged |
Комментарий для печати на чеке был изменён |
boolean |
agentInformation |
Агентские данные |
|
clientInformation |
Клиентские данные |
|
totalSum |
Общая сумма заказа |
number |
3.2. AgentInformation
Имя | Описание | Схема |
---|---|---|
tags |
Признак агента:
|
< enum (BANK_PAY_AGENT, BANK_PAY_SUBAGENT, PAY_AGENT, PAY_SUBAGENT, ATTORNEY, COMMISSION_AGENT, AGENT) > array |
commissionAgentPhone |
Телефон оператора по приему платежей |
string |
contractorPhone |
Телефон поставщика |
string |
operation |
Наименование операции платежного агента |
string |
paymentAgentPhone |
Телефон платежного агента |
string |
transferOperatorName |
Наименование оператора перевода |
string |
transferOperatorInn |
ИНН оператора перевода |
string |
transferOperatorAddress |
Адрес оператора перевода |
string |
transferOperatorPhone |
Телефон оператора перевода |
string |
3.3. ClientInformation
Имя | Описание | Схема |
---|---|---|
name |
Наименование клиента |
string |
inn |
ИНН |
string |
documentNumber |
Номер документа |
string |
3.4. InventPosition
Имя | Описание | Схема |
---|---|---|
inventCode |
Код товара |
string |
barcode |
Штрихкод товара |
string |
name |
Наименование товара |
string |
inventoryType |
Тип товара |
enum (INVENTORY, TOBACCO, OPERATION, SERVICE, PREPAID, OTHER_EXCISABLE, ALCOHOL, LIGHT_ALCOHOL, FREE_SALE, PREPAID_CORRECTION) |
measure |
Единица измерения |
enum (pcs, ltr, kg, m, m2, m3, h, other) |
description |
Описание товара |
string |
price |
Цена за единицу товара |
number |
quantity |
Количество единиц товара |
number |
minPrice |
Минимальная цена |
number |
originCountryCode |
Код страны происхождения товара (из ОКСМ) |
string |
customsDeclarationNumber |
Номер таможенной декларации |
string |
taxMode |
Режим налогообложения:
|
enum (COMMON, SIMPLIFIED, SIMPLIFIED_WITH_EXPENSE, ENVD, COMMON_AGRICULTURAL, PATENT) |
vatTag |
Признак налогообложения:
|
integer (int32) |
agentInformation |
Данные агента |
|
posSum |
Стоимость позиции заказа Вычисляется автоматически при создании заказа |
number |
3.5. PositionAgentInformation
Имя | Описание | Схема |
---|---|---|
tags |
Признак агента:
|
< enum (BANK_PAY_AGENT, BANK_PAY_SUBAGENT, PAY_AGENT, PAY_SUBAGENT, ATTORNEY, COMMISSION_AGENT, AGENT) > array |
commissionAgentPhone |
Телефон оператора по приему платежей |
string |
contractorName |
Наименование поставщика |
string |
contractorInn |
ИНН поставщика |
string |
contractorPhone |
Телефон поставщика |
string |
operation |
Операция платежного агента |
string |
phone |
Телефон платежного агента |
string |
transferOperatorName |
Наименование оператора перевода |
string |
transferOperatorInn |
ИНН оператора перевода |
string |
transferOperatorAddress |
Адрес оператора перевода |
string |
transferOperatorPhone |
Телефон оператора перевода |
string |
3.6. PageResponse_Order
Имя | Описание | Схема |
---|---|---|
data |
Список заказов на странице |
< Order > array |
pos |
Стартовая позиция для списка заказов |
integer (int32) |
total_count |
Общее количество заказов |
integer (int64) |