ОВКТерм интеграция с 1С

Модели
Общие
ID
string
Example:
528f7c9f-1a48-11ee-ab6b-a4bf01751b0e
Date
string date
Example:
2025-01-31
DateTime
string date-time
Example:
2025-01-21T13:08:30.11Z
Limit

Количество возвращаемых элементов

integer
Min: 0
Max: 100
Offset

Смещение выборки

integer

Параметры пагинации

Object
limit
integer nullable

Текущее количество отдаваемых элементов

Example:
50
offset
integer

Текущее смещение

Example:
0
total
integer

Общее количество элементов

Example:
1000
SortDirection

Направление сортировки

string
Enumeration:
ASC
DESC
Example:
DESC
URI

Унифицированный идентификатор ресурса

string uri
Pattern: /\w+:(\/?\/?)[^\s]+/g
Example:
https://domain.com/path
Location

Координаты

Object

Координаты

lat
number required

Широта

lng
number required

Долгота

Phone
string
Example:
79876543210
Country
Object
id
ID required

Идентификатор

name
string required

Название

alfa2
string

Код альфа-2

Example:
RU
alfa3
string

Код альфа-3

Example:
RUS
City
Object
id
ID required

Идентификатор

name
string required

Название

location
Location required nullable

Координаты центра

Warehouse
Object
id
ID required

Идентификатор

type
string required

Тип

Enumeration:
STORAGE

Склад / Хранилище

SHOP

Магазин

city
City required

Город

title
string required

Название

address
string required

Адрес

Example:
ул. Глинки 66
location
Location required

Координаты

comment
string required nullable

Комментарий к складу/магазину

Example:
Вход с торца здания
phone
string required nullable

Телефон

Example:
79876543210
email
string required nullable

Email

Example:
email@example.com
schedule
Array required

Рассписание работы

Object
dayOfWeek
integer required

День недели

Enumeration:
1

Понедельник

2

Вторник

3

Среда

4

Четверг

5

Пятница

6

Суббота

7

Воскресенье

begin
string time required

Открытие

Example:
08:00
end
string time required

Закрытие

Example:
21:00
Brand
Object
Example:
{
    "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "name": "Бренд",
    "logo": "https://domain.com/path.jpg",
    "certificate": "https://domain.com/path.jpg",
    "description": "Описание",
    "country": {
        "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "name": "Россия",
        "alfa2": "RU",
        "alfa3": "RUS"
    },
    "class": "A",
    "groupClass": [
        {
            "groupId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "class": "C"
        }
    ]
}
id
ID required

Идентификатор

name
string required

Название

logo
URI required nullable

Ссылка на логотип

certificate
URI required nullable

Ссылка на сертификат официального дилера

description
string required nullable

Описание

country
Country required nullable

Родина бренда

class
string required nullable

Класс бренда

Enumeration:
A
B
C
groupClass
Array required

Класс бренда в группах

Object
groupId
ID required

Идентификатор группы

class
string required

Класс бренда

Enumeration:
A
B
C
Group
Object
id
ID required

Идентификатор

title
string required

Название

image
URI nullable

Ссылка на изображение

countKeyProperties
integer nullable

Количество ключевых свойств (значение из КоличествоКлючевыхРеквизитов)

properties
Array of Property

Упорядоченный список свойств

filterProperties
Array of Property

Упорядоченный список свойств для фильтрации товаров (значение из “Фильтр по свойствам”)

Product
Object
id
ID required

Идентификатор

groupId
ID required

Идентификатор группы

title
string required

Название

description
string nullable

Описание

sku
string nullable

Артикул

code
string required

Код товара в 1С

Certificate
Object
id
ID required

Идентификатор

title
string required

Название

path
URI required

Ссылка на сертификат

mimeType
string required

Mime type

ProductSelection
Object
id
ID required

Идентификатор

title
string required

Название

type
string required

Тип подборки

Enumeration:
NEW

Новинки

HIT

Хиты продаж

PROFIT

Лучшие цены

Property
Object
id
ID required

Идентификатор

title
string nullable

Название

Партнёр
Partner

Партнёр

Object
Examples:
{
    "id": "119fa663-a27f-435c-86a3-b7003ea270bc",
    "contragentId": "228f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "type": "MOUNTER",
    "phone": "79876543210",
    "level": {
        "current": {
            "id": "308fa663-a27f-435c-86a3-b7003ea270bc",
            "title": "3 уровень",
            "purchaseRange": {
                "min": 200000,
                "max": 400000
            }
        },
        "priceTypeId": "318fa663-a27f-435c-86a3-b7003ea270b1",
        "recalculationDate": "2025-01-31",
        "purchaseAmount": 250000
    },
    "bonusBalance": 10000
    "support": null,
    "organizations": []
}
{
    "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "contragentId": "628f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "type": "DEALER",
    "phone": "79876543210",
    "level": {
        "current": {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "number": 6,
            "title": "VIP+",
            "purchaseRange": null
        },
        "priceTypeId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "recalculationDate": null,
        "purchaseAmount": null
    },
    "bonusBalance": null,
    "support": {
        "regionalManager": {
            "phone": "79876543210",
            "name": "Дмитрий"
        },
        "personalManager": {
            "phone": "79876543211",
            "name": "Александр"
        },
        "officeManager": {
            "phone": "79876543212",
            "name": null
        }
    },
    "organizations": [
        {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "type": "LEGAL",
            "name": "ООО Рога и копыта",
            "inn": "7743013902",
            "kpp": "770201001",
            "legalAddress": "г. Москва, ул. Титова, д.1 ",
            "actualAddress": null
        }
    ]
}
id
ID required

Идентификатор

Example:
528f7c9f-1a48-11ee-ab6b-a4bf01751b0e
contragentId
ID required nullable

Идентификатор контрагента физического лица

Example:
528f7c9f-1a48-11ee-ab6b-a4bf01751b0e
type
PartnerType required

Тип партнёра

phone
string required

Телефон

Example:
79876543210
level
Object
current
Level required

Текущий уровень

priceTypeId
ID required nullable

Идентификатор вида цены

recalculationDate
Date required nullable

Дата пересчета уровня, для дилера == null

purchaseAmount
number nullable

Сумма покупок за отчетный период, для дилера == null

bonusBalance
number required nullable

Баланс бонусов, только для монтажника

support
Object nullable

Контакты поддержки для дилера

regionalManager
SupportManager required

Региональный представитель

personalManager
SupportManager required

Персональный менеджер

officeManager
SupportManager required

Офис менеджер

organizations
Array of Organization required

Список организаций партнёра

PartnerType

Тип партнёра

string

Тип пользователя

Enumeration:
CLIENT

Конечник

MOUNTER

Монтажник

DEALER

Дилер

Level

Уровень

Object
id
ID required

Идентификатор

Example:
708fa663-a27f-435c-86a3-b7003ea270bc
number
integer required

Номер уровня

Min: 1
Example:
1
title
string required

Название

Example:
Мелкий опт
purchaseRange
Object required nullable

Диапазон покупок

min
integer

Минимальная сумма

Example:
0
max
integer nullable

Максимальная сумма, для наибольшего уровня == null

Example:
100000
BalanceHistoryItem

История изменения баланса средств

Object
Example:
{
    "id": "123",
    "operationType": "ADDITION",
    "value": 100.23,
    "description": "Начисление за заказ 12345",
    "datetime": "2025-01-21T13:08:30.11Z"
}
id
ID required

Идентификатор

operationType
OperationType required

Тип операции

value
number required

Количество

description
string required

Описание

Example:
Начисление за заказ 12345
datetime

Дата и время совершения операции

OperationType

Тип операции

string

Тип операции

Enumeration:
ADDITION

Начисление

SUBTRACTION

Списание

SupportManager
Object
phone
Phone required

Телефон

name
string required nullable

Имя

Organization
Object
id
ID required

Идентификатор

Example:
528f7c9f-1a48-11ee-ab6b-a4bf01751b0e
type

Тип организации

name
string required

Название

Example:
ИП Щукин А.С.
inn
string required

ИНН

Example:
7743013902
kpp
string nullable

КПП

Example:
770201001
legalAddress
string required

Юридический адрес

actualAddress
string nullable

Фактический адрес

OrganizationType

Тип организации

string

Тип организации

Enumeration:
LEGAL

Юридическое лицо

INDIVIDUAL

Индивидуальный предприниматель

Доставка
DeliveryRoute
Object
id
ID required

Идентификатор

transportType
TransportType required

Тип транспорта

weekDays
Array nullable

Номера дней недели, когда маршрут выполняется, обязательный при type === WEEKLY

integer
Min: 1
Max: 7
duration
integer required

Продолжительность маршрута в часах

points
Array required

Упорядоченные точки маршрута

Object
location
Location required

Координаты

warehouseId
ID nullable

Идентификатор склада

duration
integer nullable

Количество часов, необходимых для прибытия в точку с начала маршрута

DeliveryTariff
Object
id
ID required

Идентификатор

deliveryType

Тип доставки

transportType
TransportType required

Тип транспорта

period
Date required

Дата начала действия тарифа

Example:
2025-01-31
distance
integer required

Расстояние в км

Example:
50
price
integer required

Цена за км

Example:
150
TransportType

Тип транспорта

Object

Тип транспорта

id
ID required

Идентификатор

loadСapacity
integer required

Грузоподъемность в кг

Example:
500
volume
number required

Объем в м3

DeliveryTariffType

Тип тарифа доставки

string

Тип тарифа доставки

Enumeration:
ROUTE

По маршруту

EXPRESS

Экспрес(День в день)

TOMORROW

Завтра

RouteType

Тип маршрута

string

Тип маршрута

Enumeration:
WEEKLY

Еженедельный

ONCE

Одноразовый

Заявки на вывод средств
WithdrawalRequest
Object
id
ID required

Идентификатор

Статус

amount
number

Количество

datetime

Дата и время создания

WithdrawalRequestStatus

Статус

string

Статус

Enumeration:
CREATED

Создано

PROCESSING

В процессе

COMPLETED

Выполнено

ERROR

Ошибка

Заказы
PaymentType

Тип оплаты

string

Тип оплаты

Enumeration:
ONLINE

Онлайн

UPON_RECEIPT

При получении

INVOICE

По счёту

DeliveryType

Тип доставки

string

Тип доставки

Enumeration:
DELIVERY

Доставка

SELF_PICKUP

Самовывоз

Order

Заказ

Object

Заказ

id
ID required

Идентификатор заказа 1С

number
string required

Номер заказа в 1С

Example:
СС00-000001
partnerId
ID required

Идентификатор партнера

paymentType
PaymentType nullable

Способ оплаты

deliveryType
DeliveryType required

Способ доставки

status
string required

Статус заказа

Enumeration:
CREATED

Создан

INVOICE_ISSUED

Счет выставлен

INVOICE_CONFIRMED

Счет подтвержден

RESERVED

В резерве

FOR_SHIPMENT

К отгрузке

SHIPPED

Отгружен

DELIVERED

Доставлен

paymentStatus
string required

Статус оплаты

Enumeration:
NOT_PAID

Не оплачен

PAID

Оплачен

canceled
boolean required

Отменён

organization
Organization nullable

Данные организации

deliveryWarehouseId
ID nullable

Идентифкатор склада/магазина при самовывозе

deliveryAddress
Object nullable

Адрес доставки

address
string required

Адрес

Example:
г. Казань, ул. Советская, д. 100
entrance
string nullable

Вход/Подъезд

Example:
1, нумерация справа
floor
string nullable

Этаж

Example:
Цокольный
flat
string nullable

Квартира/Офис

Example:
10а
comment
string nullable

Комментарий

Example:
Код домофона 1234
invoice
URI nullable

Ссылка на файл с выставленным счетом

productPrice
number required

Сумма товаров

deliveryPrice
number nullable

Стоимость доставки

Example:
450.5
profit
number nullable

Выгода монтажника

Example:
100.1
total
number required

Итоговая сумма

Example:
550.6
items
Array

Содержимое заказа

Object
productId
ID required

Идентификатор товара

Example:
528f7c9f-1a48-11ee-ab6b-a4bf01751b0e
quantity
integer required

Количество

Example:
2
price
number required

Цена

Example:
100
total
number required

Сумма

Example:
200
createdAt
DateTime required

Дата и время создания

OrderBody

Заказ

Object

Заказ

id
ID required

Идентификатор заказа 1С

number
string required

Номер заказа в 1С

Example:
СС00-000001
partnerId
ID required

Идентификатор партнера

paymentType
PaymentType nullable

Способ оплаты

deliveryType
DeliveryType required

Способ доставки

organization
Organization nullable

Данные организации

deliveryWarehouseId
ID nullable

Идентифкатор склада/магазина при самовывозе

deliveryAddress
Object nullable

Адрес доставки

address
string required

Адрес

Example:
г. Казань, ул. Советская, д. 100
entrance
string nullable

Вход/Подъезд

Example:
1, нумерация справа
floor
string nullable

Этаж

Example:
Цокольный
flat
string nullable

Квартира/Офис

Example:
10а
comment
string nullable

Комментарий

Example:
Код домофона 1234
invoice
URI nullable

Ссылка на файл с выставленным счетом

productPrice
number required

Сумма товаров

deliveryPrice
number nullable

Стоимость доставки

Example:
450.5
profit
number nullable

Выгода монтажника

Example:
100.1
total
number required

Итоговая сумма

Example:
550.6
items
Array

Содержимое заказа

Object
productId
ID required

Идентификатор товара

Example:
528f7c9f-1a48-11ee-ab6b-a4bf01751b0e
quantity
integer required

Количество

Example:
2
price
number required

Цена

Example:
100
total
number required

Сумма

Example:
200
createdAt
DateTime required

Дата и время создания

OrderStatus

Статус заказа

Object

Заказ

id
ID required

Идентификатор заказа 1С

status
string required

Статус заказа

Enumeration:
CREATED

Создан

INVOICE_ISSUED

Счет выставлен

INVOICE_CONFIRMED

Счет подтвержден

RESERVED

В резерве

FOR_SHIPMENT

К отгрузке

SHIPPED

Отгружен

DELIVERED

Доставлен

paymentStatus
string required

Статус оплаты

Enumeration:
NOT_PAID

Не оплачен

PAID

Оплачен

canceled
boolean required

Отменён

Методы
Список городов
POST /cities

Список городов, в которых работает ОВК

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Object
data
Array of City required
404 Not Found
Список брендов
POST /brands

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
{
    "data": [
        {
            "id": "1",
            "name": "Бренд",
            "logo": "https://domain.com/path.jpg",
            "certificate": "https://domain.com/path.pdf",
            "description": "Описание",
            "country": {
                "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
                "name": "Россия",
                "alfa2": "RU",
                "alfa3": "RUS"
            },
            "class": "A",
            "groupClass": [
                {
                    "groupId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
                    "class": "C"
                }
            ]
        }
    ],
    "limit": 50,
    "offset": 1,
    "total": 1000
}
Object
data
Array of Brand required
Получение бренда по идентификатору
GET /brands/{id}

Path variables

id
string required

Идентификатор

Responses

200 OK
Body
Example:
{
    "id": "1",
    "name": "Бренд",
    "logo": "https://domain.com/path.jpg",
    "certificate": "https://domain.com/path.pdf",
    "description": "Описание",
    "country": {
        "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "name": "Россия",
        "alfa2": "RU",
        "alfa3": "RUS"
    },
    "class": "A",
    "groupClass": [
        {
            "groupId": "1",
            "class": "C"
        }
    ]
}
404 Not Found
Список складов и магазинов
POST /warehouses

Список складов и магазинов, которые должны отображаться на сайте

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Object
data
Array of Warehouse required
Получение склада и магазина по идентификатору
GET /warehouses/{id}

Path variables

id
string required

Идентификатор

Responses

200 OK
Body
404 Not Found
Заявки на вывод средств
POST /partners/{id}/withdrawal-requests/create
POST /partners/{id}/withdrawal-requests
Создание заявки на вывод средств
POST /partners/{id}/withdrawal-requests/create

Path variables

id
string required

Идентификатор партнёра

Request body

Object
inn
string

ИНН

bik
string

БИК

currentAccount
string

Расчётный счет

person
Object nullable

Физ лицо

fullName
string required

ФИО

Example:
Иванов Иван Иванович
birthday
string required

Дата рождения

passportNumber
string required

Серия и номер паспорта

departmentСode
string required

Код подразделения

organization
Object nullable

Организация

name
string required

Название

kpp
string required

КПП

address
string required

Адрес

amount
number

Сумма

Responses

201 Created

Создан

Список заявок на вывод средств
POST /partners/{id}/withdrawal-requests

Path variables

id
string required

Идентификатор партнёра

Request body

Object
Examples:
{
    "status": "COMPLETED",
    "range": {
        "from": "2024-12-01",
        "to": "2024-12-31"
    },
    "sort": "DATETIME",
    "direction": "ASC",
    "limit": 100,
    "offset": 0
}
{
    "status": "CREATED",
    "direction": "DESC",
    "limit": 100,
    "offset": 100
}
{
    "status": "ERROR",
    "range": {
        "from": "2025-02-01",
        "to": "2025-03-31"
    },
    "limit": 100,
    "offset": 0
}

Статус

range
Object nullable

Диапазон дат

from
Date nullable

От

to
Date nullable

До

sort
string nullable

Сортировка

Enumeration:
DATETIME

дата и время создания

direction
SortDirection nullable
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Object
data
Array of WithdrawalRequest required
404 Not Found
Список уровней
GET /partners/levels

Responses

200 OK
Body
Array of Level
Example:
[
    {
        "id": "108fa663-a27f-435c-86a3-b7003ea270bc",
        "number": 1,
        "title": "Мелкий опт",
        "purchaseRange": {
            "min": 0,
            "max": 100000
        }
    },
    {
        "id": "208fa663-a27f-435c-86a3-b7003ea270bc",
        "number": 2,
        "title": "Опт",
        "purchaseRange": {
            "min": 100000,
            "max": 200000
        }
    },
    {
        "id": "308fa663-a27f-435c-86a3-b7003ea270bc",
        "number": 3,
        "title": "Крупный опт",
        "purchaseRange": {
            "min": 200000,
            "max": 400000
        }
    },
    {
        "id": "408fa663-a27f-435c-86a3-b7003ea270bc",
        "number": 4,
        "title": "VIP",
        "purchaseRange": {
            "min": 400000,
            "max": 600000
        }
    },
    {
        "id": "508fa663-a27f-435c-86a3-b7003ea270bc",
        "number": 5,
        "title": "VIP+",
        "purchaseRange": {
            "min": 600000,
            "max": null
        }
    },
    {
        "id": "608fa663-a27f-435c-86a3-b7003ea270bc",
        "number": 6,
        "title": "Дилер",
        "purchaseRange": null
    }
]
Создание партнёра
POST /partners/create

Request body

Object
phone
string required

Номер телефона

Example:
79876543210
firstname
string required

Имя

Example:
Иван
referrerPhone
string nullable

Телефон пригласившего монтажника

Example:
79876543210

Responses

200 OK

Получен

Body
Examples:
{
    "id": "119fa663-a27f-435c-86a3-b7003ea270bc",
    "contragentId": "228f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "type": "MOUNTER",
    "phone": "79876543210",
    "level": {
        "current": {
            "id": "308fa663-a27f-435c-86a3-b7003ea270bc",
            "title": "3 уровень",
            "purchaseRange": {
                "min": 200000,
                "max": 400000
            }
        },
        "priceTypeId": "318fa663-a27f-435c-86a3-b7003ea270b1",
        "recalculationDate": "2025-01-31",
        "purchaseAmount": 250000
    },
    "bonusBalance": 10000
    "support": null,
    "organizations": []
}
{
    "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "contragentId": "628f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "type": "DEALER",
    "phone": "79876543210",
    "level": {
        "current": {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "number": 6,
            "title": "VIP+",
            "purchaseRange": null
        },
        "priceTypeId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "recalculationDate": null,
        "purchaseAmount": null
    },
    "bonusBalance": null,
    "support": {
        "regionalManager": {
            "phone": "79876543210",
            "name": "Дмитрий"
        },
        "personalManager": {
            "phone": "79876543211",
            "name": "Александр"
        },
        "officeManager": {
            "phone": "79876543212",
            "name": null
        }
    },
    "organizations": [
        {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "type": "LEGAL",
            "name": "ООО Рога и копыта",
            "inn": "7743013902",
            "kpp": "770201001",
            "legalAddress": "г. Москва, ул. Титова, д.1 ",
            "actualAddress": null
        }
    ]
}
201 Created

Создан

Получение партнёра по идентификатору
GET /partners/{id}

Path variables

id
ID required

Идентификатор партнёра

Responses

200 OK
Body
Examples:
{
    "id": "119fa663-a27f-435c-86a3-b7003ea270bc",
    "contragentId": "228f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "type": "MOUNTER",
    "phone": "79876543210",
    "level": {
        "current": {
            "id": "308fa663-a27f-435c-86a3-b7003ea270bc",
            "title": "3 уровень",
            "purchaseRange": {
                "min": 200000,
                "max": 400000
            }
        },
        "priceTypeId": "318fa663-a27f-435c-86a3-b7003ea270b1",
        "recalculationDate": "2025-01-31",
        "purchaseAmount": 250000
    },
    "bonusBalance": 10000
    "support": null,
    "organizations": []
}
{
    "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "contragentId": "628f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "type": "DEALER",
    "phone": "79876543210",
    "level": {
        "current": {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "number": 6,
            "title": "VIP+",
            "purchaseRange": null
        },
        "priceTypeId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "recalculationDate": null,
        "purchaseAmount": null
    },
    "bonusBalance": null,
    "support": {
        "regionalManager": {
            "phone": "79876543210",
            "name": "Дмитрий"
        },
        "personalManager": {
            "phone": "79876543211",
            "name": "Александр"
        },
        "officeManager": {
            "phone": "79876543212",
            "name": null
        }
    },
    "organizations": [
        {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "type": "LEGAL",
            "name": "ООО Рога и копыта",
            "inn": "7743013902",
            "kpp": "770201001",
            "legalAddress": "г. Москва, ул. Титова, д.1 ",
            "actualAddress": null
        }
    ]
}
404 Not Found
Создание организации для партёра
POST /partners/{id}/organizations/create

Path variables

id
ID required

Идентификатор партнёра

Request body

Object
type

Тип организации

name
string required

Название

Example:
ИП Щукин А.А.
inn
string required

ИНН

Example:
7743013902
kpp
string nullable

КПП

Example:
770201001
legalAddress
string required

Юридический адрес

actualAddress
string nullable

Фактический адрес

Responses

200 OK
404 Not Found
409 Conflict

При невозможности добавить организацию

Удаление организации у партнёра
POST /partners/{id}/organizations/{organizationId}/delete

Path variables

id
ID required

Идентификатор партнёра

organizationId
ID required

Идентификатор организации

Responses

204 No Content
404 Not Found
Детализация операций c балансом бонусных средств у партнёра
POST /partners/{id}/balance-history

Path variables

id
ID required

Идентификатор партнёра

Request body

Object
Examples:
{
    "type": "PAST",
    "operationType": "ADDITION",
    "range": {
        "from": "2024-12-01",
        "to": "2024-12-31"
    },
    "sort": "DATETIME",
    "direction": "ASC",
    "limit": 100,
    "offset": 0
}
{
    "type": "PAST",
    "direction": "DESC",
    "limit": 100,
    "offset": 100
}
{
    "type": "FUTURE",
    "operationType": "SUBTRACTION",
    "range": {
        "from": "2025-02-01",
        "to": "2025-03-31"
    },
    "limit": 100,
    "offset": 0
}
type
string required
Enumeration:
PAST

Прошедшие

FUTURE

Предстоящие

operationType
OperationType nullable

Тип операции

range
Object nullable

Диапазон дат

from
Date nullable

От

to
Date nullable

До

sort
string nullable

Сортировка

Enumeration:
DATETIME

дата и время создания

direction
SortDirection nullable
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
    "data": [
        {
            "id": "123",
            "operationType": "ADDITION",
            "value": 100.23,
            "description": "Начисление за заказ 12345",
            "datetime": "2025-01-20T13:08:30.11Z"
        },
        {
            "id": "234",
            "operationType": "SUBTRACTION",
            "value": 200.23,
            "description": "Списание за заказ 23456",
            "datetime": "2025-01-21T13:08:30.11Z"
        }
    ],
    "limit": 50,
    "offset": 0,
    "total": 1000
}
Object
data
Array of BalanceHistoryItem required
404 Not Found
Получение группы по идентификатору
GET /groups/{id}

Path variables

id
string required

Идентификатор

Responses

200 OK
Body
Example:
{
    "id": "123",
    "title": "Котлы",
    "image": "https://domain.com/path.jpg",
    "countKeyProperties": 3,
    "properties": [
        {
            "id": "1",
            "title": "Мощность"
        }
    ],
    "filterProperties": [
        {
            "id": "1",
            "title": "Мощность"
        }
    ]
}
404 Not Found
Товары
POST /products/{id}/certificates
POST /products/{id}/related
POST /products/{id}/also-buy
Сертификаты товара
POST /products/{id}/certificates

Список сертификатов товара

Path variables

id
string required

Идентификатор

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
    "data": [
        {
            "id": "123",
            "title": "Сертификат",
            "path": "https://domain.com/path",
            "mimeType": "application/pdf"
        }
    ],
    "limit": 50,
    "offset": 1,
    "total": 1000
}
Object
data
Array of Certificate required
404 Not Found
Сопутствующие товары
POST /products/{id}/related

Список сопутствующих товаров

Path variables

id
string required

Идентификатор

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
    "data": {
        "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "title": "Товар",
        "description": "Описание",
        "sku": "KR5677",
        "code": "44467",
        "groupId": "f677b18b-bea4-11ef-b0b3-74563c5eeaab"
    },
    "limit": 50,
    "offset": 1,
    "total": 1000
}
Object
data
Array of Product required
404 Not Found
С этим товаром покупают
POST /products/{id}/also-buy

Список товаров для подборки “С этим товаром покупают”

Path variables

id
string required

Идентификатор

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
    "data": {
        "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "title": "Товар",
        "description": "Описание",
        "sku": "KR5677",
        "code": "44467",
        "groupId": "f677b18b-bea4-11ef-b0b3-74563c5eeaab"
    },
    "limit": 50,
    "offset": 1,
    "total": 1000
}
Object
data
Array of Product required
404 Not Found
Подборки
POST /product-selections
POST /product-selections/{id}/products
Подборки
POST /product-selections

Список подборок товаров

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
    "data": [
        {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "title": "Хиты продаж",
            "type": "HIT"
        }
    ],
    "limit": 50,
    "offset": 1,
    "total": 1000
}
Object
data
Array of ProductSelection required
404 Not Found
Товары подборки
POST /product-selections/{id}/products

Список товаров подборки

Path variables

id
string required

Идентификатор подборки

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
    "data": [
        {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "title": "Товар",
            "description": "Описание",
            "sku": "KR5677",
            "code": "44467",
            "groupId": "f677b18b-bea4-11ef-b0b3-74563c5eeaab"
        }
    ],
    "limit": 50,
    "offset": 1,
    "total": 1000
}
Object
data
Array of Product required
404 Not Found
Создание заказа
POST /orders/create

Request body

Object
partnerId
ID required

Идентификатор партёра

Example:
a99208f6-19df-11f0-acbc-00155d10ff02
orderId
integer required

Идентификатор заказа c сайта

deliveryWarehouseId
ID nullable

Идентификатор склада/магазина, обязательно если deliveryType === SELF_PICKUP

priceTypeId
ID required

Идентификатор соглашения партнёра

retailPriceTypeId
ID required

Идентификатор розничного соглашения

organizationId
ID nullable

Идентификатор контграгента ИП или юридического лица

paymentType
PaymentType nullable

Тип оплаты

Example:
ONLINE
deliveryType
DeliveryType required

Тип доставки

Example:
SELF_PICKUP
deliveryTariffType

Тип тарифа доставки

recipientName
string required

Имя получателя

Example:
Дмитрий
recipientPhone
string required

Телефон получателя

Example:
+7987654321
email
string required

Email

Example:
email@exapmle.com
deliveryDate
Date nullable

Дата доставки

Example:
2025-01-31
deliveryAddress
Object nullable

Адрес доставки, обязательно если deliveryType === DELIVERY

address
string required

Адрес

Example:
г. Казань, ул. Советская, д. 100
entrance
string nullable

Вход/Подъезд

Example:
1, нумерация справа
floor
string nullable

Этаж

Example:
Цокольный
flat
string nullable

Квартира/Офис

Example:
10а
comment
string nullable

Комментарий

Example:
Код домофона 1234
deliveryPrice
number nullable

Сумма доставки

profit
number nullable

Выгода монтажника

createdAt
DateTime required

Дата создания заказа

Example:
2025-01-21T13:08:30.11Z
items
Array required

Товары

Object
productId
ID required

Идентификатор товара

Example:
528f7c9f-1a48-11ee-ab6b-a4bf01751b0e
quantity
integer required

Количество

Example:
2
price
number required

Цена

Example:
100
total
number required

Сумма

Example:
200
Examples

Запрос на самовывоз с выгодой монтажника для юр лица

{
    "partnerId": "128f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "orderId": 100,
    "deliveryWarehouseId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "priceTypeId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "retailPriceTypeId": "428f7c9f-1a48-11ee-ab6b-a4bf01751b01",
    "organizationId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "paymentType": "ONLINE",
    "deliveryType": "SELF_PICKUP",
    "deliveryTariffType": null,
    "recipientName": "Дмитрий",
    "recipientPhone": "+7987654321",
    "email": "email@exapmle.com",
    "deliveryDate": "2025-01-31",
    "deliveryAddress": null,
    "deliveryPrice": null,
    "profit": 10,
    "createdAt": "2025-01-21T13:08:30.11Z",
    "items": [
        {
            "productId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "quantity": 2,
            "price": 100,
            "total": 200
        }
    ]
}

Запрос на доставку для физ лица

{
    "partnerId": "128f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "orderId": 101,
    "deliveryWarehouseId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "priceTypeId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "retailPriceTypeId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "organizationId": null,
    "paymentType": "ONLINE",
    "deliveryType": "DELIVERY",
    "deliveryTariffType": "TOMORROW",
    "recipientName": "Дмитрий",
    "recipientPhone": "+7987654321",
    "email": "email@exapmle.com",
    "deliveryDate": "2025-01-22",
    "deliveryAddress": {
        "address": "г. Казань, ул. Советская, д. 100",
        "entrance": "1, нумерация справа",
        "floor": "Цокольный",
        "flat": "10а",
        "comment": "Код домофона 1234"
    },
    "deliveryPrice": 500,
    "profit": null,
    "createdAt": "2025-01-21T13:08:30.11Z",
    "items": [
        {
            "productId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "quantity": 2,
            "price": 100,
            "total": 200
        }
    ]
}

Responses

201 Created

Создан

Body
Example:
{
    "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "number": "СС00-000001",
    "partnerId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "paymentType": "INVOICE",
    "deliveryType": "DELIVERY",
    "status": "CREATED",
    "paymentStatus": "NOT_PAID",
    "canceled": false,
    "organization": {
        "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "type": "LEGAL",
        "name": "ООО Рога и копыта",
        "inn": "7743013902",
        "kpp": "770201001",
        "legalAddress": "г. Москва, ул. Титова, д.1 ",
        "actualAddress": null
    },
    "deliveryWarehouseId": null,
    "deliveryAddress": {
        "address": "г. Казань, ул. Советская, д. 100",
        "entrance": "1, нумерация справа",
        "floor": "Цокольный",
        "flat": "10а",
        "comment": "Код домофона 1234"
    },
    "invoice": null,
    "productPrice": 200.2,
    "deliveryPrice": 400,
    "profit": 10,
    "total": 600.2,
    "items": [
        {
            "productId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "quantity": 2,
            "price": 100.1,
            "total": 200.2
        }
    ],
    "createdAt": "2025-01-21T13:08:30.11Z",
}
Получение заказа по идентификатору
GET /orders/{id}

Path variables

id
ID required

Идентификатор заказа

Responses

200 OK

Создан

Body
Example:
{
    "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "number": "СС00-000001",
    "partnerId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
    "paymentType": "INVOICE",
    "deliveryType": "DELIVERY",
    "status": "CREATED",
    "paymentStatus": "NOT_PAID",
    "canceled": false,
    "organization": {
        "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
        "type": "LEGAL",
        "name": "ООО Рога и копыта",
        "inn": "7743013902",
        "kpp": "770201001",
        "legalAddress": "г. Москва, ул. Титова, д.1 ",
        "actualAddress": null
    },
    "deliveryWarehouseId": null,
    "deliveryAddress": {
        "address": "г. Казань, ул. Советская, д. 100",
        "entrance": "1, нумерация справа",
        "floor": "Цокольный",
        "flat": "10а",
        "comment": "Код домофона 1234"
    },
    "invoice": null,
    "productPrice": 200.2,
    "deliveryPrice": 400,
    "profit": 10,
    "total": 600.2,
    "items": [
        {
            "productId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "quantity": 2,
            "price": 100.1,
            "total": 200.2
        }
    ],
    "createdAt": "2025-01-21T13:08:30.11Z",
}
404 Not Found
Отмена заказа
POST /orders/{id}/cancel

Path variables

id
ID required

Идентификатор заказа

Responses

200 OK

Создан

Body
Object
canceled
boolean required

Отменен, если true то отмена произошла моментально, если false то отмена через заявку

404 Not Found
Список заказов - тела
POST /orders

Request body

Object
parnerId
ID required

Идентификатор партнера

dateTime
DateTime required

Дата и время последней синхронизации, относительно нее нужно произвести расчет изменившихся заказов

Responses

200 OK
Body
Object
data
Array of OrderBody required
404 Not Found
Статусы заказов по идентификаторам
POST /orders/statuses

Request body

Object
ids
Array of ID required

Идентифкаторы заказов в любом статусе, включая отмененные

Responses

200 OK

Создан

Body
Object
data
Array of OrderStatus required
Доставка
POST /delivery-tariffs
POST /delivery-routes
Тарифы на доставку
POST /delivery-tariffs

Список тарифов доставки

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
    "data": [
        {
            "id": "1",
            "deliveryType": "EXPRESS",
            "transportType": {
                "id": "2",
                "loadСapacity": 500,
                "volume": 4
            },
            "period": "2025-01-31",
            "distance": 50,
            "price": 150
        }
    ],
    "limit": 50,
    "offset": 0,
    "total": 1000
}
Object
data
Array of DeliveryTariff required
404 Not Found
Маршруты доставки
POST /delivery-routes

Список маршрутов доставки

Request body

Object
limit
Limit nullable
offset
Offset nullable

Responses

200 OK
Body
All of
Example:
{
    "data": [
        {
            "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
            "type": "WEEKLY",
            "transportType": {
                "id": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
                "loadСapacity": 500,
                "volume": 1
            },
            "weekDays": [
                1,3,5
            ],
            "date": null,
            "duration": 48,
            "points": [
                {
                    "location": {
                        "lat": 1,
                        "lng": 1
                    },
                    "warehouseId": "528f7c9f-1a48-11ee-ab6b-a4bf01751b0e",
                    "duration": 3
                },
                {
                    "location": {
                        "lat": 1,
                        "lng": 2
                    },
                    "warehouseId": null,
                    "duration": null
                },
                {
                    "location": {
                        "lat": 1,
                        "lng": 3
                    },
                    "warehouseId": null,
                    "duration": 4
                }
            ]
        }
    ],
    "limit": 50,
    "offset": 1,
    "total": 1000
}
Object
data
Array of DeliveryRoute required
404 Not Found