API Komus-opt v2.1 (Обновление документации v2.1 от 27.02.25)

Download OpenAPI specification:Download

Этот документ является описанием сервиса API komus-opt в формате OpenAPI, и представлен:


Сервис API Komus-opt предназначен для обмена данными сайта komus-opt.ru с IT инфрастуктурой партнеров Комус-ОПТ.

Основные функции сервиса API komus-opt:
  • работа с товарами - получение информации о категориях и товарах (в т.ч. цены и остатки по товарам),
  • работа с заказами - создание и изменение заказа, получение счета в pdf.

Для получения доступа к функционалу API komus-opt партнеру необходимо отправить запрос на получения токена (код, идентифицирующий клиента) в личном кабинете партнера в разделе: API - Управление доступом к API.

Внимание: авторизация с помощью параметра "token" в заголовке запроса.
Установлены ограничения на количество запросов - до 180 запросов/минуту. В случае превышения кол-ва запросов токен автоматически блокируется на 2 часа.

Вопросы, сообщения об ошибках, пожелания и предложения направляйте на e-mail: help-opt@komus.net
В тема письма обязательно указывайте код и наименование партнера.

Категории

Методы для работы с категориями товаров

M-01 "Список категорий"

Возвращает список активных категорий, в которых в наличии активные товары в запрашиваемом регионе партнера.

Authorizations:
token
query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

page
integer
Default: 1

Номер страницы.

limit
integer
Default: 50

Ограничение кол-ва элементов на странице.
Возможные значения от 1 до 1000.

region
integer
Default: "Основной регион склада основного хранения из карточки клиента"

Идентификатор доступного партнеру региона склада основного хранения.
Возможные значения от 0 до 14.
Доступные регионы партнера можно получить с помощью M-12 "Параметры грузополучателей".

Responses

Response samples

Content type
{
  • "content": [
    ],
  • "count": 2,
  • "page": 1,
  • "prev": null,
  • "next": 2,
  • "pages": 57
}

М-02 "Категория"

Возвращает данные по активной категории, в которой в наличии активные товары в запрашиваемом регионе.

Authorizations:
token
path Parameters
id
required
integer

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

query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

region
integer
Default: "Основной регион склада основного хранения из карточки клиента"

Идентификатор доступного партнеру региона склада основного хранения.
Возможные значения от 0 до 14.
Доступные регионы партнера можно получить с помощью M-12 "Параметры грузополучателей".

Responses

Response samples

Content type
{
  • "content": {
    }
}

Товары

Методы для работы с товарами

M-03 "Список товаров категории"

Возвращает список активных товаров из активной категории, которые в наличии в запрашиваемом регионе партнера.

Authorizations:
token
path Parameters
id
required
integer

ID категории

query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

page
integer
Default: 1

Номер страницы.

limit
integer
Default: 50

Ограничение кол-ва элементов на странице.
Возможные значения от 1 до 1000.

region
integer
Default: "Основной регион склада основного хранения из карточки клиента"

Идентификатор доступного партнеру региона склада основного хранения.
Возможные значения от 0 до 14.
Доступные регионы партнера можно получить с помощью M-12 "Параметры грузополучателей".

Responses

Response samples

Content type
{
  • "content": [
    ],
  • "count": 2,
  • "page": 1,
  • "prev": null,
  • "next": 2,
  • "pages": 57
}

M-05 "Все товары"

Возвращает список всех активных товаров, которые в наличии хотя бы в одном доступном партнеру регионе.

Authorizations:
token
query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

page
integer
Default: 1

Номер страницы.

limit
integer
Default: 50

Ограничение кол-ва элементов на странице.
Возможные значения от 1 до 1000.

Responses

Response samples

Content type
{
  • "content": [
    ],
  • "count": 2,
  • "page": 1,
  • "prev": null,
  • "next": 2,
  • "pages": 57
}

M-06 "Определенный товар"

Возвращает информацию об активном товаре:

  • Свойства товара;
  • Цена товара в регионах, доступных партнеру (только регион "Москва" (0));
  • Остатки товара в регионах, доступных партнеру.

Authorizations:
token
path Parameters
artnumber
required
integer
Example: 13500

Артикул товара

query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Responses

Response samples

Content type
{
  • "content": {
    }
}

М-17 "Торговые марки"

Метод возвращает список активных торговых марок товаров доступных для региона партнера

Authorizations:
token
query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

region
integer
Default: "Основной регион склада основного хранения из карточки клиента"

Идентификатор доступного партнеру региона склада основного хранения.
Возможные значения от 0 до 14.
Доступные регионы партнера можно получить с помощью M-12 "Параметры грузополучателей".

Responses

Response samples

Content type
{
  • "content": [
    ]
}

М-18 "Список товаров по торговой марке"

Метод возвращает список активных товаров доступных в регионе партнера связанных с торговой маркой

Authorizations:
token
path Parameters
id
required
integer
Example: 3181

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

query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

page
integer
Default: 1

Номер страницы.

limit
integer
Default: 50

Ограничение кол-ва элементов на странице.
Возможные значения от 1 до 1000.

region
integer
Default: "Основной регион склада основного хранения из карточки клиента"

Идентификатор доступного партнеру региона склада основного хранения.
Возможные значения от 0 до 14.
Доступные регионы партнера можно получить с помощью M-12 "Параметры грузополучателей".

Responses

Response samples

Content type
{
  • "content": [
    ],
  • "count": 2,
  • "page": 1,
  • "prev": null,
  • "next": 2,
  • "pages": 57
}

М-13 "Получение цен по товарам"

По списку запрашиваемых артикулов возвращает цену партнера, рекомендуемую розничную цену и предельную минимальную цену.

Authorizations:
token
query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Request Body schema: application/json
artnumbers
required
Array of integers [ 1 .. 250 ] items unique

Список артикулов (до 1000)

Responses

Request samples

Content type
application/json
{
  • "artnumbers": [
    ]
}

Response samples

Content type
{
  • "content": [
    ],
  • "artnumberLost": [
    ]
}

М-14 "Получение остатков по товарам"

По списку запрашиваемых артикулов возвращает остатки по доступным партнеру регионам.

Authorizations:
token
query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Request Body schema: application/json
artnumbers
required
Array of integers [ 1 .. 250 ] items unique

Список артикулов (до 1000)

Responses

Request samples

Content type
application/json
{
  • "artnumbers": [
    ]
}

Response samples

Content type
{
  • "content": [
    ],
  • "artnumberLost": [
    ]
}

М-15 "Получение свойств товаров"

По запрашиваемому списку товаров, которые в наличии в доступных партнеру регионах метод возвращает все свойства товаров или часть свойств по запросу (например, только информацию по изображениям и сертификатам).

Authorizations:
token
query Parameters
fields
string
Enum: "parentId" "description" "baseprops" "barcodes" "images" "certificates" "specifications"

Блоки свойств товаров, которые требуется возвращать. Возможные значения:

  • parentId - идентификатор родительской категории;
  • description - описание товара;
  • baseprops - ключевые параметры (торговая марка, идентификатор НСПТ, НДС);
  • barcodes - штрихкоды;
  • images - изображения товара;
  • certificates - сертификаты;
  • specifications - спецификация х-к товара.

Если параметр не задан, то возвращаются все характеристики товаров.
Внимание: указание нескольких блоков свойств происходит без пробелов между ними, например: "fields=images,certificates".

format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Request Body schema: application/json
artnumbers
required
Array of integers [ 1 .. 250 ] items unique

Список артикулов (до 1000)

Responses

Request samples

Content type
application/json
{
  • "artnumbers": [
    ]
}

Response samples

Content type
Example
{
  • "content": [
    ],
  • "artnumberLost": [
    ]
}

Заказы

Методы для работы с заказами

M-07 "Список заказов"

Возвращает список заказов созданных с токена, с которого производится запрос.

Authorizations:
token
query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

page
integer
Default: 1

Номер страницы.

limit
integer
Default: 50

Ограничение кол-ва элементов на странице.
Возможные значения от 1 до 250.

dateFrom
string <full-date>
Default: "1970-01-01"
Example: dateFrom=2023-07-02

Ограничение выборки по дате, начиная с более ранней даты (включительно) в формате full-date "YYYY-MM-DD"

dateTo
string <full-date>
Default: "Текущая дата"
Example: dateTo=2023-07-02

Ограничение выборки по дате, заканчивая более поздней датой (включительно) в формате full-date "YYYY-MM-DD"

Responses

Response samples

Content type
{
  • "content": [
    ],
  • "count": 2,
  • "page": 1,
  • "prev": null,
  • "next": 2,
  • "pages": 57
}

M-08 "Определенный заказ"

Возвращает информацию по заказу, который создан с токена, с которого производится запрос

Authorizations:
token
path Parameters
id
required
integer
Example: 488581

Идентификатор заказа в Комус-опт

query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Responses

Response samples

Content type
{
  • "content": {
    }
}

M-09 "Запрос на создание заказа"

Метод создает заказ с указанными параметрами и списком позиций. Внимание: Данные заказа передаются в body в формате raw json. Значения параметров запроса см. M-12 "Параметры грузополучателей"

Authorizations:
token
query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Request Body schema: application/json
shipData
required
integer

Идентификатор грузополучателя.

bankDetail
integer
Default: "Банковские реквизиты из карточки клиента"

Идентификатор банковских реквизитов грузополучателя

region
integer
Default: "Основной регион склада основного хранения из карточки клиента"

Идентификатор доступного партнеру региона склада основного хранения. Если указанный регион не доступен партнеру то сайт возвращает ошибку с кодом 404.

startOrder
integer
Default: 1

Идентификатор завершения формирования заказа партнером (идентификатор отправки заказа к оператору). Возможные значения:

  • 0 - формирование заказа НЕ завершено (отправка к оператору приостановлена), такой заказ доступен для редактирования партнером; оповещения по такому заказу не отправляются; заказ существует ~24 часа с момента последнего изменения; по истечении 24 часов не завершенный заказ автоматически отменяется.
  • 1 - формирование заказа завершено (заказ отправлен на обработку к оператору); после завершения заказа отправляются оповещения в соответствии с текущей логикой работы сайта.

estimatedDate
string <full-date>
Default: "По умолчанию (если в запросе желаемая дата доставки не указана или указана не корректно) сайт применяет ближайшую возможную дату отгрузки из диапазона и возвращает предупреждение: \"Была указана не доступная желаемая дата доставки. Желаемая дата доставки установлена автоматически. Точная дата доставки будет определена оператором\". Проверка на праздничные дни не производится. Точная дата доставки будет определена оператором. Время отгрузки всегда 09:00 - 18:00."

Определение диапазона желаемой даты доставки:

  • до 15:00 доступный диапазон выбора:
    • первый день диапазона: следующий рабочий день;
    • последний день диапазона: +7 дней к первому дню диапазона.
  • после 15:00 доступный диапазон выбора:
    • первый день диапазона: 2-ой рабочий день после дня заказа;
    • последний день диапазона: +7 дней к первому дню диапазона.

При этом:
Если желаемая дата доставки установлена на субботу, и при этом пятница накануне входит в доступный диапазон, то устанавливается пятница, если пятница не входит доступный диапазон, то устанавливается ближайший понедельник.
Если желаемая дата доставки установлена на воскресенье, то возможная дата доставки автоматически устанавливается на понедельник (при условии, что он входит в диапазон, если понедельник не попадает в диапазон, то устанавливается пятница накануне).

paymentID
integer
Default: "\"10\" - Безналичная предоплата"

Идентификатор способа оплаты.

deliveryID
integer
Default: "\"1\" - Доставка курьером"

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

comment
string

Комментарий партнера к заказу

required
Array of objects non-empty unique

Список позиций (до 250)

Responses

Request samples

Content type
application/json
{
  • "shipData": 0,
  • "bankDetail": 13728415,
  • "region": 0,
  • "startOrder": 0,
  • "estimatedDate": "2023-07-21",
  • "paymentID": 9,
  • "deliveryID": 33,
  • "comment": "Test. Тестовый заказ.",
  • "rows": [
    ]
}

Response samples

Content type
Example
{
  • "status": "success",
  • "message": "Заказ успешно создан",
  • "details": [
    ],
  • "result": 5555551
}

M-10 "Запрос на изменение заказа"

Метод изменяет позиции заказа и ряд параметров заказа. Метод не доступен для отмененных и переданных оператору (завершенных формирование партнером) заказов. Внимание: Данные заказа передаются в body в формате raw json.

Authorizations:
token
path Parameters
id
required
integer
Example: 488581

Идентификатор заказа в Комус-опт

query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Request Body schema: application/json
startOrder
integer
Default: 1

Идентификатор завершения формирования заказа партнером (идентификатор отправки заказа к оператору). Возможные значения:

  • 0 - формирование заказа НЕ завершено (отправка к оператору приостановлена), такой заказ доступен для редактирования партнером; оповещения по такому заказу не отправляются; заказ существует ~24 часа с момента последнего изменения; по истечении 24 часов не завершенный заказ автоматически отменяется.
  • 1 - формирование заказа завершено (заказ отправлен на обработку к оператору); после завершения заказа отправляются оповещения в соответствии с текущей логикой работы сайта.

cancelOrder
integer
Default: 0

Идентификатор отмены заказа. Возможные значения:

  • 0 - заказ НЕ отменен (по умолчанию);
  • 1 - заказ отменен.

Отменить можно не сформированный партнером заказ (startOrder:0). Отмененный заказ автоматически финализируется (startOrder:1) и дальнейшие изменения в таком заказе через API не возможны.

comment
string

Комментарий партнера к заказу. Комментарий добавляется к ранее существовавшему.

Array of objects unique

Список позиций (до 250)

Responses

Request samples

Content type
application/json
{
  • "startOrder": 0,
  • "cancelOrder": 0,
  • "comment": "Test. Тестовый заказ.",
  • "rows": [
    ]
}

Response samples

Content type
Example
{
  • "status": "success",
  • "message": "Заказ успешно обновлен",
  • "result": 5555551
}

M-11 "Счет в PDF"

Получение счета в формате PDF-файла

Authorizations:
token
path Parameters
id
required
integer

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

query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Responses

Response samples

Content type
{
  • "status": "error",
  • "message": "Ваш запрос не валиден"
}

M-12 "Параметры грузополучателей"

Получение списка доступных грузополучателей и параметров грузополучателей (название, адрес, юридическое лицо, банковские реквизиты, доступные регионы, доступные способы оплаты, доступные способы доставки).

Authorizations:
token
query Parameters
format
string
Default: "json"
Enum: "json" "xml"

Формат возвращаемых данных.

Responses

Response samples

Content type
{
  • "content": [
    ]
}