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

Модели
Общие
ID
string
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

Долгота

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": "1",
    "name": "Бренд",
    "logo": "https://domain.com/path.jpg",
    "certificate": "https://domain.com/path.pdf",
    "description": "Описание",
    "class": "A"
}
id
ID required

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

name
string required

Название

logo
URI required nullable

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

certificate
URI required nullable

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

description
string 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

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

Object
id

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

title
string

Название

Сертификат
Object
id
ID required

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

title
string required

Название

path
URI required

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

mimeType
string required

Mime type

Партнёр
Partner

Партнёр

Object
Example:
{
    "id": "119fa663-a27f-435c-86a3-b7003ea270bc",
    "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
}
id
ID required

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

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

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

PartnerType

Тип партнёра

string

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

Enumeration:
CLIENT

Конечник

MOUNTER

Монтажник

DEALER

Дилер

Level

Уровень

Object
id
ID required

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

Example:
708fa663-a27f-435c-86a3-b7003ea270bc
title
string required

Название

Example:
1 уровень
purchaseRange
Object required nullable

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

min
integer

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

Example:
0
max
integer nullable

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

Example:
100000
BalanceHistory

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

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

Вычитание

Доставка
DeliveryTariff
Object
id

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

deliveryType
string

Тип доставки

Enumeration:
ROUTE

По Маршруту

EXPRESS

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

TOMORROW

Завтра

transportType

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

period

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

Example:
2025-01-31
distance
integer

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

Example:
50
price
integer

Цена за км

Example:
150
TransportType

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

Object

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

id

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

loadСapacity
integer

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

Example:
500
volume
number

Объем в м3

Методы
Список городов
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": "Описание",
            "class": "A"
            "groupClass": [
                {
                    "groupId": "123",
                    "class": "B"
                }
            ]
        }
    ],
    "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": "Описание",
    "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
Список уровней
GET /partners/levels

Responses

200 OK
Body
Array of Level
Example:
[
    {
        "id": "108fa663-a27f-435c-86a3-b7003ea270bc",
        "title": "1 уровень",
        "purchaseRange": {
            "min": 0,
            "max": 100000
        }
    },
    {
        "id": "208fa663-a27f-435c-86a3-b7003ea270bc",
        "title": "2 уровень",
        "purchaseRange": {
            "min": 100000,
            "max": 200000
        }
    },
    {
        "id": "308fa663-a27f-435c-86a3-b7003ea270bc",
        "title": "3 уровень",
        "purchaseRange": {
            "min": 200000,
            "max": 400000
        }
    },
    {
        "id": "408fa663-a27f-435c-86a3-b7003ea270bc",
        "title": "4 уровень",
        "purchaseRange": {
            "min": 400000,
            "max": 600000
        }
    },
    {
        "id": "508fa663-a27f-435c-86a3-b7003ea270bc",
        "title": "5 уровень",
        "purchaseRange": {
            "min": 600000,
            "max": null
        }
    },
    {
        "id": "608fa663-a27f-435c-86a3-b7003ea270bc",
        "title": "Дилер",
        "purchaseRange": null
    }
]
Получение партнёра по идентификатору
GET /partners/{id}

Path variables

id
string required

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

Responses

200 OK
Body
Example:
{
    "id": "119fa663-a27f-435c-86a3-b7003ea270bc",
    "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
}
404 Not Found
Создание партнёра
POST /partners/create

Request body

Object
phone
string required

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

Example:
79876543210
firstname
string required

Имя

Example:
Иван
referrerPhone
string nullable

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

Example:
79876543210

Responses

200 OK

Получен

Body
Example:
{
    "id": "119fa663-a27f-435c-86a3-b7003ea270bc",
    "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
}
201 Created

Создан

Body
Example:
{
    "id": "119fa663-a27f-435c-86a3-b7003ea270bc",
    "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
}
Детализация операций c балансом бонусных средств у партнёра
POST /partners/{id}/balance-history

Path variables

id
string 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 BalanceHistory 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": "Мощность"
        }
    ]
}
404 Not Found
Тарифы на доставку
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 /products/{id}/certificates
POST /products/{id}/related
Сертификаты товара
POST /products/{id}/certificates

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

Path variables

id
string required

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

Request body

Object
limit
Limit nullable
offset
string 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
}
404 Not Found
Сопутствующие товары
POST /products/{id}/related

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

Path variables

id
string required

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

Request body

Object
limit
Limit nullable
offset
string 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
}
404 Not Found