Сертификаты качества

Методы для работы с сертификатами качества, декларациями, отказными письмами на товар

Базовый URL: https://api.selsup.ru

🔗 Загрузка изображения сертификата качества

Позволяет загрузить изображение и связать его с сертификатом
POST /api/qualityDocument/uploadQualityDocumentImage

Параметры запроса QUERY

Название Тип Обязательный Описание
documentId integer Да Параметр documentId

Тело запроса

Content-Type: multipart/form-data
ПолеТипОписание
file Обязательный byte[]

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer
url string
position integer
documentId integer
clientId integer
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const formData = new FormData();
formData.append('file', fileInput.files[0]); // File input element

fetch('https://api.selsup.ru/api/qualityDocument/uploadQualityDocumentImage?documentId=123', {
  method: 'post',
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
  body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const formData = new FormData();
const fileInput = document.getElementById('file-input') as HTMLInputElement;
if (fileInput.files?.[0]) {
  formData.append('file', fileInput.files[0]);
}

interface ResponseData {
  // Define your response type here
}

const response = await fetch('https://api.selsup.ru/api/qualityDocument/uploadQualityDocumentImage?documentId=123', {
  method: 'post',
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
  body: formData
});

const data: ResponseData = await response.json();
console.log(data);
import requests

files = {
    'file': ('file.pdf', open('/path/to/file.pdf', 'rb'), 'application/pdf'),
}

params = {
    'documentId': '123',
}

response = requests.post(
    'https://api.selsup.ru/api/qualityDocument/uploadQualityDocumentImage',
    headers={'Authorization': 'YOUR_API_KEY'},
    files=files,
    params=params,
)

print(response.json())
package main

import (
    "bytes"
    "fmt"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

func main() {
    var b bytes.Buffer
    w := multipart.NewWriter(&b)

    // Add file
    file, err := os.Open("/path/to/file.pdf")
    if err != nil {
        panic(err)
    }
    defer file.Close()
    fw, err := w.CreateFormFile("file", "file.pdf")
    if err != nil {
        panic(err)
    }
    _, err = io.Copy(fw, file)
    if err != nil {
        panic(err)
    }

    w.Close()

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/qualityDocument/uploadQualityDocumentImage?documentId=123", &b)
    req.Header.Set("Content-Type", w.FormDataContentType())
    req.Header.Set("Authorization", "YOUR_API_KEY")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    fmt.Println("Response Status:", resp.Status)
}
import java.io.*;
import java.net.http.*;
import java.nio.file.*;

public class MultipartExample {
    public static void main(String[] args) throws Exception {
        String boundary = "----WebKitFormBoundary7MA4YWxkTrZu0gW";
        HttpClient client = HttpClient.newHttpClient();

        // Build multipart body
        StringBuilder body = new StringBuilder();
        body.append("--").append(boundary).append("\r\n");
        body.append("Content-Disposition: form-data; name=\"file\"; filename=\"file.pdf\"\r\n");
        body.append("Content-Type: application/octet-stream\r\n\r\n");
        // Read file bytes here
        body.append("\r\n");
        body.append("--").append(boundary).append("--\r\n");

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.selsup.ru/api/qualityDocument/uploadQualityDocumentImage?documentId=123"))
            .header("Content-Type", "multipart/form-data; boundary=" + boundary)
            .header("Authorization", "YOUR_API_KEY")
            .POST(HttpRequest.BodyPublishers.ofString(body.toString()))
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
<?php
$curl = curl_init();

$params = [
    'documentId' => '123',
];
$url = 'https://api.selsup.ru/api/qualityDocument/uploadQualityDocumentImage?' . http_build_query($params);

$postData = [
    'file' => new CURLFile('/path/to/file.pdf'),
];

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => $postData,
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/qualityDocument/uploadQualityDocumentImage?documentId=123' \
  -H 'Authorization: YOUR_API_KEY' \
  -F 'file=@/path/to/file.pdf'

🔗 Обновить сертификат качества

POST /api/qualityDocument/updateQualityDocument

Тело запроса *Обязательно

Content-Type: application/json
ПолеТипОписание
id integer
name string
type string Тип документа
number string Номер сертификата, уникален в рамках клиента
clientId integer
versionId integer
createdUser string
startDate string Дата начала действия сертификата
expireDate string Дата окончания срока действия сертификата
data Array of QualityDocumentData Связи сертификата с брендом и категорией
Структура QualityDocumentData
Поле Тип Описание
id integer
documentId integer Сертификат
productModelId integer Связь сертификата с продуктом
brand Brand Бренд
Структура Brand
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
brandId integer
category Category Категория
Структура Category
Поле Тип Описание
categoryId integer Идентификатор категории. Проставляется автоматически
name string Наименование категории
deleted boolean Признак удаленных категорий
parentId integer Идентификатор родительской категории
clientId integer Идентификатор клиента
marked boolean Маркируется ли категория
categoryClass string Группы категорий Честного знака
wildberriesType WildberriesType Предмет Вайлдбериз
Структура WildberriesType
Поле Тип Описание
id integer
name string Название
published boolean Опубликованность предмета Вайлдбериз
hasSize boolean Атрибут, указывающий наличие размера
monoBoxMinQuantity integer
monoType string
monoMinPrice integer
hasParent boolean
parentId integer
wildberriesId integer Идентификатор предмета на Вайлдбериз
lastSyncDate string Дата последней синхронизации предмета с Вайлдбериз
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
commission number Комиссия для товаров данного предмета в Вайлдбериз по FBM
fbsCommission number Комиссия для товаров данного предмета в Вайлдбериз по FBS
fbwCommission number Комиссия по тарифу FBW
dbsCommission number Комиссия по тарифу DBS
edbsCommission number Комиссия по тарифу EDBS
cAndCCommission number Комиссия по тарифу C&C
bookingCommission number Комиссия за бронирование
logisticPrice integer Стоимость доставки товара к клиенту на Вайлдбериз
storagePrice number Стоимость хранения товара на складе Вайлдбериз за штуку в день
acceptancePrice number Стоимость приемки товара на складе Вайлдбериз за штуку
needDimensions boolean Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов
candCCommission number
wildberriesCategoryId integer Идентификатор категории Wildberries, совпадает с ID категории на самом Wildberries
wildberriesFbmCommission number Комиссия по тарифу FBM
wildberriesFbwCommission number Комиссия по тарифу FBW
wildberriesFbsCommission number Комиссия по тарифу FBS
wildberriesDbsCommission number Комиссия по тарифу DBS
wildberriesEdbsCommission number Комиссия по тарифу EDBS
wildberriesCAndCCommission number Комиссия по тарифу C&C
wildberriesBookingCommission number Комиссия за бронирование
ozonDescriptionCategoryId integer Идентификатор категории на Ozon. Строится из ID категории + ID типа на Ozon
yandexMarketCategoryId integer Идентификатор категории в Яндекс.Маркет. Совпадает с идентификатором категории на самом Яндекс.Маркет
yandexMarketCategory YandexMarketCategory Категория Яндекс.Маркета
Структура YandexMarketCategory
Поле Тип Описание
id integer
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
ozonDescriptionCategory OzonDescriptionCategory Категория Озон
Структура OzonDescriptionCategory
Поле Тип Описание
id integer Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isError boolean
errorDate string
types string
typeId integer Идентификатор типа на Ozon
ozonCommission number Комиссия озона.
tnved Tnved Код ТНВЭД
Структура Tnved
Поле Тип Описание
id integer Идентификатор кода ТНВЭД без нулей в начале
name string Название кода ТНВЭД
deleted boolean
type string Уровень кода ТНВЭД
categoryClass string Группы категорий Честного знака
parentId integer Родительский ТНВЭД
keywords string Ключевые слова для кода ТНВЭД
description string Описание кода ТНВЭД
paramsTnvedId integer Определяет категорию (или ТНВЭД) национального каталога с помощью которого брать параметры. Несколько ТНВЭД могут ссылаться на одну и ту же категорию национального каталога
isInParam boolean Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете
certification string Необходимость сертификации товаров с этим ТНВЭД
code string
parentCode string
tnvedId integer Идентификатор ТНВЭД
laundry string Правила ухода за вещами. Разделяются запятыми
params string JSON значений параметров для категории
namePattern string Шаблон названий категории
aliexpressCategory AliexpressCategory Категория Aliexpress
Структура AliexpressCategory
Поле Тип Описание
id integer
name string
published boolean
parentId integer
aliexpressId integer
lastSyncDate string Дата последней синхронизации категории
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
aliexpressCategoryId integer Идентификатор категории на самом Aliexpress
avitoCategory AvitoCategory Категория Авито
Структура AvitoCategory
Поле Тип Описание
id integer Идентификатор категории на Авито.Совпадает с идентификатором Авито
name string Полное название категории (включает в себя названия родительских категорий)
shortName string Краткое название категории
published boolean Опубликована категория
parentId integer id родительской категории Авито. Используется при импорте обьявлений с Авито
lastSyncDate string Дата последней синхронизации категории
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
goodsType string Тег GoodsType в фиде
category string Тег Category в фиде
avitoCategoryId integer Идентификатор категории на самом Avito
packDepth integer Глубина упаковки в мм. Проставляется всем товарам в категории
packWidth integer Ширина упаковки в мм. Проставляется всем товарам в категории
packHeight integer Высота упаковки в мм. Проставляется всем товарам в категории
packWeight integer Вес упаковки в граммах. Проставляется всем товарам в категории
hasSize boolean Признак разделения товаров в категории по размеру. Меняет вид редактора карточки
hasColor boolean Признак разделения товаров в категории по цвету. Меняет вид редактора карточки
autoName boolean Автоматически формировать названия товаров в категории
removeFbsStock boolean Не передавать остатки товаров по FBS для товаров из этой категории
oneCId string Идентификатор категории в 1С
externalId string Идентификатор категории на сайте
moySkladId string Идентификатор категории в сервисе МойСклад
useClientParams boolean Показывать пользовательские параметры в категории
requiredExpirationDate boolean Является ли срок годности обязательным параметром
categoryId integer
clientId integer
images Array of QualityDocumentImage Изображения сертификата
Структура QualityDocumentImage
Поле Тип Описание
id integer
url string
position integer
documentId integer
clientId integer

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer
name string
type string Тип документа
number string Номер сертификата, уникален в рамках клиента
clientId integer
versionId integer
createdUser string
startDate string Дата начала действия сертификата
expireDate string Дата окончания срока действия сертификата
data Array of QualityDocumentData Связи сертификата с брендом и категорией
Структура QualityDocumentData
Поле Тип Описание
id integer
documentId integer Сертификат
productModelId integer Связь сертификата с продуктом
brand Brand Бренд
Структура Brand
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
brandId integer
category Category Категория
Структура Category
Поле Тип Описание
categoryId integer Идентификатор категории. Проставляется автоматически
name string Наименование категории
deleted boolean Признак удаленных категорий
parentId integer Идентификатор родительской категории
clientId integer Идентификатор клиента
marked boolean Маркируется ли категория
categoryClass string Группы категорий Честного знака
wildberriesType WildberriesType Предмет Вайлдбериз
Структура WildberriesType
Поле Тип Описание
id integer
name string Название
published boolean Опубликованность предмета Вайлдбериз
hasSize boolean Атрибут, указывающий наличие размера
monoBoxMinQuantity integer
monoType string
monoMinPrice integer
hasParent boolean
parentId integer
wildberriesId integer Идентификатор предмета на Вайлдбериз
lastSyncDate string Дата последней синхронизации предмета с Вайлдбериз
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
commission number Комиссия для товаров данного предмета в Вайлдбериз по FBM
fbsCommission number Комиссия для товаров данного предмета в Вайлдбериз по FBS
fbwCommission number Комиссия по тарифу FBW
dbsCommission number Комиссия по тарифу DBS
edbsCommission number Комиссия по тарифу EDBS
cAndCCommission number Комиссия по тарифу C&C
bookingCommission number Комиссия за бронирование
logisticPrice integer Стоимость доставки товара к клиенту на Вайлдбериз
storagePrice number Стоимость хранения товара на складе Вайлдбериз за штуку в день
acceptancePrice number Стоимость приемки товара на складе Вайлдбериз за штуку
needDimensions boolean Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов
candCCommission number
wildberriesCategoryId integer Идентификатор категории Wildberries, совпадает с ID категории на самом Wildberries
wildberriesFbmCommission number Комиссия по тарифу FBM
wildberriesFbwCommission number Комиссия по тарифу FBW
wildberriesFbsCommission number Комиссия по тарифу FBS
wildberriesDbsCommission number Комиссия по тарифу DBS
wildberriesEdbsCommission number Комиссия по тарифу EDBS
wildberriesCAndCCommission number Комиссия по тарифу C&C
wildberriesBookingCommission number Комиссия за бронирование
ozonDescriptionCategoryId integer Идентификатор категории на Ozon. Строится из ID категории + ID типа на Ozon
yandexMarketCategoryId integer Идентификатор категории в Яндекс.Маркет. Совпадает с идентификатором категории на самом Яндекс.Маркет
yandexMarketCategory YandexMarketCategory Категория Яндекс.Маркета
Структура YandexMarketCategory
Поле Тип Описание
id integer
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
ozonDescriptionCategory OzonDescriptionCategory Категория Озон
Структура OzonDescriptionCategory
Поле Тип Описание
id integer Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isError boolean
errorDate string
types string
typeId integer Идентификатор типа на Ozon
ozonCommission number Комиссия озона.
tnved Tnved Код ТНВЭД
Структура Tnved
Поле Тип Описание
id integer Идентификатор кода ТНВЭД без нулей в начале
name string Название кода ТНВЭД
deleted boolean
type string Уровень кода ТНВЭД
categoryClass string Группы категорий Честного знака
parentId integer Родительский ТНВЭД
keywords string Ключевые слова для кода ТНВЭД
description string Описание кода ТНВЭД
paramsTnvedId integer Определяет категорию (или ТНВЭД) национального каталога с помощью которого брать параметры. Несколько ТНВЭД могут ссылаться на одну и ту же категорию национального каталога
isInParam boolean Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете
certification string Необходимость сертификации товаров с этим ТНВЭД
code string
parentCode string
tnvedId integer Идентификатор ТНВЭД
laundry string Правила ухода за вещами. Разделяются запятыми
params string JSON значений параметров для категории
namePattern string Шаблон названий категории
aliexpressCategory AliexpressCategory Категория Aliexpress
Структура AliexpressCategory
Поле Тип Описание
id integer
name string
published boolean
parentId integer
aliexpressId integer
lastSyncDate string Дата последней синхронизации категории
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
aliexpressCategoryId integer Идентификатор категории на самом Aliexpress
avitoCategory AvitoCategory Категория Авито
Структура AvitoCategory
Поле Тип Описание
id integer Идентификатор категории на Авито.Совпадает с идентификатором Авито
name string Полное название категории (включает в себя названия родительских категорий)
shortName string Краткое название категории
published boolean Опубликована категория
parentId integer id родительской категории Авито. Используется при импорте обьявлений с Авито
lastSyncDate string Дата последней синхронизации категории
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
goodsType string Тег GoodsType в фиде
category string Тег Category в фиде
avitoCategoryId integer Идентификатор категории на самом Avito
packDepth integer Глубина упаковки в мм. Проставляется всем товарам в категории
packWidth integer Ширина упаковки в мм. Проставляется всем товарам в категории
packHeight integer Высота упаковки в мм. Проставляется всем товарам в категории
packWeight integer Вес упаковки в граммах. Проставляется всем товарам в категории
hasSize boolean Признак разделения товаров в категории по размеру. Меняет вид редактора карточки
hasColor boolean Признак разделения товаров в категории по цвету. Меняет вид редактора карточки
autoName boolean Автоматически формировать названия товаров в категории
removeFbsStock boolean Не передавать остатки товаров по FBS для товаров из этой категории
oneCId string Идентификатор категории в 1С
externalId string Идентификатор категории на сайте
moySkladId string Идентификатор категории в сервисе МойСклад
useClientParams boolean Показывать пользовательские параметры в категории
requiredExpirationDate boolean Является ли срок годности обязательным параметром
categoryId integer
clientId integer
images Array of QualityDocumentImage Изображения сертификата
Структура QualityDocumentImage
Поле Тип Описание
id integer
url string
position integer
documentId integer
clientId integer
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.post('https://api.selsup.ru/api/qualityDocument/updateQualityDocument',
  {
    "id": "Иванович",
    "name": "Иван",
    "type": "standard",
    "number": "Пример number",
    "clientId": 123,
    "versionId": 123,
    "createdUser": "Пример createdUser",
    "startDate": "2024-01-15T10:30:00Z",
    "expireDate": "2024-01-15T10:30:00Z",
    "data": [
      {}
    ]
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.post<any>('https://api.selsup.ru/api/qualityDocument/updateQualityDocument',
  {
    "id": "Иванович",
    "name": "Иван",
    "type": "standard",
    "number": "Пример number",
    "clientId": 123,
    "versionId": 123,
    "createdUser": "Пример createdUser",
    "startDate": "2024-01-15T10:30:00Z",
    "expireDate": "2024-01-15T10:30:00Z",
    "data": [
      {}
    ]
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.post(
    'https://api.selsup.ru/api/qualityDocument/updateQualityDocument',
    headers=headers,
    json={
    'id': 'Иванович',
    'name': 'Иван',
    'type': 'standard',
    'number': 'Пример number',
    'clientId': 123,
    'versionId': 123,
    'createdUser': 'Пример createdUser',
    'startDate': '2024-01-15T10:30:00Z',
    'expireDate': '2024-01-15T10:30:00Z',
    'data': [
        {}
    ]
}
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    payload := map[string]interface{}{
        `id`: `Иванович`,
        `name`: `Иван`,
        `type`: `standard`,
        `number`: `Пример number`,
        `clientId`: 123,
        `versionId`: 123,
        `createdUser`: `Пример createdUser`,
        `startDate`: `2024-01-15T10:30:00Z`,
        `expireDate`: `2024-01-15T10:30:00Z`,
        `data`: [
                {}
        ]
}
    jsonData, _ := json.Marshal(payload)

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/qualityDocument/updateQualityDocument", bytes.NewBuffer(jsonData))
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/qualityDocument/updateQualityDocument"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.ofString(
        "{\"id\":\"Иванович\",\"name\":\"Иван\",\"type\":\"standard\",\"number\":\"Пример number\",\"clientId\":123,\"versionId\":123,\"createdUser\":\"Пример createdUser\",\"startDate\":\"2024-01-15T10:30:00Z\",\"expireDate\":\"2024-01-15T10:30:00Z\",\"data\":[{}]}"
    ))
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/qualityDocument/updateQualityDocument',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => json_encode({
    'id': 'Иванович',
    'name': 'Иван',
    'type': 'standard',
    'number': 'Пример number',
    'clientId': 123,
    'versionId': 123,
    'createdUser': 'Пример createdUser',
    'startDate': '2024-01-15T10:30:00Z',
    'expireDate': '2024-01-15T10:30:00Z',
    'data': [
        {}
    ]
}),
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/qualityDocument/updateQualityDocument' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "Иванович",
  "name": "Иван",
  "type": "standard",
  "number": "Пример number",
  "clientId": 123,
  "versionId": 123,
  "createdUser": "Пример createdUser",
  "startDate": "2024-01-15T10:30:00Z",
  "expireDate": "2024-01-15T10:30:00Z",
  "data": [
    {}
  ]
}'

🔗 Удаление сертификата

POST /api/qualityDocument/removeQualityDocument

Параметры запроса QUERY

Название Тип Обязательный Описание
documentId integer Да Параметр documentId

Тело ответа

✓ 200 OK
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  documentId: '123',
};

const response = await axios.post('https://api.selsup.ru/api/qualityDocument/removeQualityDocument',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  documentId?: number;
}

const params: QueryParams = {
  documentId: '123',
};

const response = await axios.post<any>('https://api.selsup.ru/api/qualityDocument/removeQualityDocument',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'documentId': '123',
}

response = requests.post(
    'https://api.selsup.ru/api/qualityDocument/removeQualityDocument',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/qualityDocument/removeQualityDocument?documentId=123", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/qualityDocument/removeQualityDocument?documentId=123"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'documentId' => '123',
];

$url = 'https://api.selsup.ru/api/qualityDocument/removeQualityDocument?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/qualityDocument/removeQualityDocument?documentId=123' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Удаление изображения сертификата

POST /api/qualityDocument/deleteQualityDocumentImage

Параметры запроса QUERY

Название Тип Обязательный Описание
imageId integer Да Параметр imageId

Тело ответа

✓ 200 OK
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  imageId: 'https://example.com/image.jpg',
};

const response = await axios.post('https://api.selsup.ru/api/qualityDocument/deleteQualityDocumentImage',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  imageId?: number;
}

const params: QueryParams = {
  imageId: 'https://example.com/image.jpg',
};

const response = await axios.post<any>('https://api.selsup.ru/api/qualityDocument/deleteQualityDocumentImage',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'imageId': 'https://example.com/image.jpg',
}

response = requests.post(
    'https://api.selsup.ru/api/qualityDocument/deleteQualityDocumentImage',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/qualityDocument/deleteQualityDocumentImage?imageId=https%3A%2F%2Fexample.com%2Fimage.jpg", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/qualityDocument/deleteQualityDocumentImage?imageId=https%3A%2F%2Fexample.com%2Fimage.jpg"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'imageId' => 'https://example.com/image.jpg',
];

$url = 'https://api.selsup.ru/api/qualityDocument/deleteQualityDocumentImage?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/qualityDocument/deleteQualityDocumentImage?imageId=https%3A%2F%2Fexample.com%2Fimage.jpg' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Добавление нового сертификата

POST /api/qualityDocument/createQualityDocument

Тело запроса *Обязательно

Content-Type: application/json
ПолеТипОписание
id integer
name string
type string Тип документа
number string Номер сертификата, уникален в рамках клиента
clientId integer
versionId integer
createdUser string
startDate string Дата начала действия сертификата
expireDate string Дата окончания срока действия сертификата
data Array of QualityDocumentData Связи сертификата с брендом и категорией
Структура QualityDocumentData
Поле Тип Описание
id integer
documentId integer Сертификат
productModelId integer Связь сертификата с продуктом
brand Brand Бренд
Структура Brand
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
brandId integer
category Category Категория
Структура Category
Поле Тип Описание
categoryId integer Идентификатор категории. Проставляется автоматически
name string Наименование категории
deleted boolean Признак удаленных категорий
parentId integer Идентификатор родительской категории
clientId integer Идентификатор клиента
marked boolean Маркируется ли категория
categoryClass string Группы категорий Честного знака
wildberriesType WildberriesType Предмет Вайлдбериз
Структура WildberriesType
Поле Тип Описание
id integer
name string Название
published boolean Опубликованность предмета Вайлдбериз
hasSize boolean Атрибут, указывающий наличие размера
monoBoxMinQuantity integer
monoType string
monoMinPrice integer
hasParent boolean
parentId integer
wildberriesId integer Идентификатор предмета на Вайлдбериз
lastSyncDate string Дата последней синхронизации предмета с Вайлдбериз
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
commission number Комиссия для товаров данного предмета в Вайлдбериз по FBM
fbsCommission number Комиссия для товаров данного предмета в Вайлдбериз по FBS
fbwCommission number Комиссия по тарифу FBW
dbsCommission number Комиссия по тарифу DBS
edbsCommission number Комиссия по тарифу EDBS
cAndCCommission number Комиссия по тарифу C&C
bookingCommission number Комиссия за бронирование
logisticPrice integer Стоимость доставки товара к клиенту на Вайлдбериз
storagePrice number Стоимость хранения товара на складе Вайлдбериз за штуку в день
acceptancePrice number Стоимость приемки товара на складе Вайлдбериз за штуку
needDimensions boolean Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов
candCCommission number
wildberriesCategoryId integer Идентификатор категории Wildberries, совпадает с ID категории на самом Wildberries
wildberriesFbmCommission number Комиссия по тарифу FBM
wildberriesFbwCommission number Комиссия по тарифу FBW
wildberriesFbsCommission number Комиссия по тарифу FBS
wildberriesDbsCommission number Комиссия по тарифу DBS
wildberriesEdbsCommission number Комиссия по тарифу EDBS
wildberriesCAndCCommission number Комиссия по тарифу C&C
wildberriesBookingCommission number Комиссия за бронирование
ozonDescriptionCategoryId integer Идентификатор категории на Ozon. Строится из ID категории + ID типа на Ozon
yandexMarketCategoryId integer Идентификатор категории в Яндекс.Маркет. Совпадает с идентификатором категории на самом Яндекс.Маркет
yandexMarketCategory YandexMarketCategory Категория Яндекс.Маркета
Структура YandexMarketCategory
Поле Тип Описание
id integer
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
ozonDescriptionCategory OzonDescriptionCategory Категория Озон
Структура OzonDescriptionCategory
Поле Тип Описание
id integer Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isError boolean
errorDate string
types string
typeId integer Идентификатор типа на Ozon
ozonCommission number Комиссия озона.
tnved Tnved Код ТНВЭД
Структура Tnved
Поле Тип Описание
id integer Идентификатор кода ТНВЭД без нулей в начале
name string Название кода ТНВЭД
deleted boolean
type string Уровень кода ТНВЭД
categoryClass string Группы категорий Честного знака
parentId integer Родительский ТНВЭД
keywords string Ключевые слова для кода ТНВЭД
description string Описание кода ТНВЭД
paramsTnvedId integer Определяет категорию (или ТНВЭД) национального каталога с помощью которого брать параметры. Несколько ТНВЭД могут ссылаться на одну и ту же категорию национального каталога
isInParam boolean Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете
certification string Необходимость сертификации товаров с этим ТНВЭД
code string
parentCode string
tnvedId integer Идентификатор ТНВЭД
laundry string Правила ухода за вещами. Разделяются запятыми
params string JSON значений параметров для категории
namePattern string Шаблон названий категории
aliexpressCategory AliexpressCategory Категория Aliexpress
Структура AliexpressCategory
Поле Тип Описание
id integer
name string
published boolean
parentId integer
aliexpressId integer
lastSyncDate string Дата последней синхронизации категории
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
aliexpressCategoryId integer Идентификатор категории на самом Aliexpress
avitoCategory AvitoCategory Категория Авито
Структура AvitoCategory
Поле Тип Описание
id integer Идентификатор категории на Авито.Совпадает с идентификатором Авито
name string Полное название категории (включает в себя названия родительских категорий)
shortName string Краткое название категории
published boolean Опубликована категория
parentId integer id родительской категории Авито. Используется при импорте обьявлений с Авито
lastSyncDate string Дата последней синхронизации категории
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
goodsType string Тег GoodsType в фиде
category string Тег Category в фиде
avitoCategoryId integer Идентификатор категории на самом Avito
packDepth integer Глубина упаковки в мм. Проставляется всем товарам в категории
packWidth integer Ширина упаковки в мм. Проставляется всем товарам в категории
packHeight integer Высота упаковки в мм. Проставляется всем товарам в категории
packWeight integer Вес упаковки в граммах. Проставляется всем товарам в категории
hasSize boolean Признак разделения товаров в категории по размеру. Меняет вид редактора карточки
hasColor boolean Признак разделения товаров в категории по цвету. Меняет вид редактора карточки
autoName boolean Автоматически формировать названия товаров в категории
removeFbsStock boolean Не передавать остатки товаров по FBS для товаров из этой категории
oneCId string Идентификатор категории в 1С
externalId string Идентификатор категории на сайте
moySkladId string Идентификатор категории в сервисе МойСклад
useClientParams boolean Показывать пользовательские параметры в категории
requiredExpirationDate boolean Является ли срок годности обязательным параметром
categoryId integer
clientId integer
images Array of QualityDocumentImage Изображения сертификата
Структура QualityDocumentImage
Поле Тип Описание
id integer
url string
position integer
documentId integer
clientId integer

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer
name string
type string Тип документа
number string Номер сертификата, уникален в рамках клиента
clientId integer
versionId integer
createdUser string
startDate string Дата начала действия сертификата
expireDate string Дата окончания срока действия сертификата
data Array of QualityDocumentData Связи сертификата с брендом и категорией
Структура QualityDocumentData
Поле Тип Описание
id integer
documentId integer Сертификат
productModelId integer Связь сертификата с продуктом
brand Brand Бренд
Структура Brand
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
brandId integer
category Category Категория
Структура Category
Поле Тип Описание
categoryId integer Идентификатор категории. Проставляется автоматически
name string Наименование категории
deleted boolean Признак удаленных категорий
parentId integer Идентификатор родительской категории
clientId integer Идентификатор клиента
marked boolean Маркируется ли категория
categoryClass string Группы категорий Честного знака
wildberriesType WildberriesType Предмет Вайлдбериз
Структура WildberriesType
Поле Тип Описание
id integer
name string Название
published boolean Опубликованность предмета Вайлдбериз
hasSize boolean Атрибут, указывающий наличие размера
monoBoxMinQuantity integer
monoType string
monoMinPrice integer
hasParent boolean
parentId integer
wildberriesId integer Идентификатор предмета на Вайлдбериз
lastSyncDate string Дата последней синхронизации предмета с Вайлдбериз
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
commission number Комиссия для товаров данного предмета в Вайлдбериз по FBM
fbsCommission number Комиссия для товаров данного предмета в Вайлдбериз по FBS
fbwCommission number Комиссия по тарифу FBW
dbsCommission number Комиссия по тарифу DBS
edbsCommission number Комиссия по тарифу EDBS
cAndCCommission number Комиссия по тарифу C&C
bookingCommission number Комиссия за бронирование
logisticPrice integer Стоимость доставки товара к клиенту на Вайлдбериз
storagePrice number Стоимость хранения товара на складе Вайлдбериз за штуку в день
acceptancePrice number Стоимость приемки товара на складе Вайлдбериз за штуку
needDimensions boolean Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов
candCCommission number
wildberriesCategoryId integer Идентификатор категории Wildberries, совпадает с ID категории на самом Wildberries
wildberriesFbmCommission number Комиссия по тарифу FBM
wildberriesFbwCommission number Комиссия по тарифу FBW
wildberriesFbsCommission number Комиссия по тарифу FBS
wildberriesDbsCommission number Комиссия по тарифу DBS
wildberriesEdbsCommission number Комиссия по тарифу EDBS
wildberriesCAndCCommission number Комиссия по тарифу C&C
wildberriesBookingCommission number Комиссия за бронирование
ozonDescriptionCategoryId integer Идентификатор категории на Ozon. Строится из ID категории + ID типа на Ozon
yandexMarketCategoryId integer Идентификатор категории в Яндекс.Маркет. Совпадает с идентификатором категории на самом Яндекс.Маркет
yandexMarketCategory YandexMarketCategory Категория Яндекс.Маркета
Структура YandexMarketCategory
Поле Тип Описание
id integer
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
ozonDescriptionCategory OzonDescriptionCategory Категория Озон
Структура OzonDescriptionCategory
Поле Тип Описание
id integer Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isError boolean
errorDate string
types string
typeId integer Идентификатор типа на Ozon
ozonCommission number Комиссия озона.
tnved Tnved Код ТНВЭД
Структура Tnved
Поле Тип Описание
id integer Идентификатор кода ТНВЭД без нулей в начале
name string Название кода ТНВЭД
deleted boolean
type string Уровень кода ТНВЭД
categoryClass string Группы категорий Честного знака
parentId integer Родительский ТНВЭД
keywords string Ключевые слова для кода ТНВЭД
description string Описание кода ТНВЭД
paramsTnvedId integer Определяет категорию (или ТНВЭД) национального каталога с помощью которого брать параметры. Несколько ТНВЭД могут ссылаться на одну и ту же категорию национального каталога
isInParam boolean Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете
certification string Необходимость сертификации товаров с этим ТНВЭД
code string
parentCode string
tnvedId integer Идентификатор ТНВЭД
laundry string Правила ухода за вещами. Разделяются запятыми
params string JSON значений параметров для категории
namePattern string Шаблон названий категории
aliexpressCategory AliexpressCategory Категория Aliexpress
Структура AliexpressCategory
Поле Тип Описание
id integer
name string
published boolean
parentId integer
aliexpressId integer
lastSyncDate string Дата последней синхронизации категории
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
aliexpressCategoryId integer Идентификатор категории на самом Aliexpress
avitoCategory AvitoCategory Категория Авито
Структура AvitoCategory
Поле Тип Описание
id integer Идентификатор категории на Авито.Совпадает с идентификатором Авито
name string Полное название категории (включает в себя названия родительских категорий)
shortName string Краткое название категории
published boolean Опубликована категория
parentId integer id родительской категории Авито. Используется при импорте обьявлений с Авито
lastSyncDate string Дата последней синхронизации категории
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
goodsType string Тег GoodsType в фиде
category string Тег Category в фиде
avitoCategoryId integer Идентификатор категории на самом Avito
packDepth integer Глубина упаковки в мм. Проставляется всем товарам в категории
packWidth integer Ширина упаковки в мм. Проставляется всем товарам в категории
packHeight integer Высота упаковки в мм. Проставляется всем товарам в категории
packWeight integer Вес упаковки в граммах. Проставляется всем товарам в категории
hasSize boolean Признак разделения товаров в категории по размеру. Меняет вид редактора карточки
hasColor boolean Признак разделения товаров в категории по цвету. Меняет вид редактора карточки
autoName boolean Автоматически формировать названия товаров в категории
removeFbsStock boolean Не передавать остатки товаров по FBS для товаров из этой категории
oneCId string Идентификатор категории в 1С
externalId string Идентификатор категории на сайте
moySkladId string Идентификатор категории в сервисе МойСклад
useClientParams boolean Показывать пользовательские параметры в категории
requiredExpirationDate boolean Является ли срок годности обязательным параметром
categoryId integer
clientId integer
images Array of QualityDocumentImage Изображения сертификата
Структура QualityDocumentImage
Поле Тип Описание
id integer
url string
position integer
documentId integer
clientId integer
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const response = await axios.post('https://api.selsup.ru/api/qualityDocument/createQualityDocument',
  {
    "id": "Иванович",
    "name": "Иван",
    "type": "standard",
    "number": "Пример number",
    "clientId": 123,
    "versionId": 123,
    "createdUser": "Пример createdUser",
    "startDate": "2024-01-15T10:30:00Z",
    "expireDate": "2024-01-15T10:30:00Z",
    "data": [
      {}
    ]
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

const response = await axios.post<any>('https://api.selsup.ru/api/qualityDocument/createQualityDocument',
  {
    "id": "Иванович",
    "name": "Иван",
    "type": "standard",
    "number": "Пример number",
    "clientId": 123,
    "versionId": 123,
    "createdUser": "Пример createdUser",
    "startDate": "2024-01-15T10:30:00Z",
    "expireDate": "2024-01-15T10:30:00Z",
    "data": [
      {}
    ]
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

response = requests.post(
    'https://api.selsup.ru/api/qualityDocument/createQualityDocument',
    headers=headers,
    json={
    'id': 'Иванович',
    'name': 'Иван',
    'type': 'standard',
    'number': 'Пример number',
    'clientId': 123,
    'versionId': 123,
    'createdUser': 'Пример createdUser',
    'startDate': '2024-01-15T10:30:00Z',
    'expireDate': '2024-01-15T10:30:00Z',
    'data': [
        {}
    ]
}
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    payload := map[string]interface{}{
        `id`: `Иванович`,
        `name`: `Иван`,
        `type`: `standard`,
        `number`: `Пример number`,
        `clientId`: 123,
        `versionId`: 123,
        `createdUser`: `Пример createdUser`,
        `startDate`: `2024-01-15T10:30:00Z`,
        `expireDate`: `2024-01-15T10:30:00Z`,
        `data`: [
                {}
        ]
}
    jsonData, _ := json.Marshal(payload)

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/qualityDocument/createQualityDocument", bytes.NewBuffer(jsonData))
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/qualityDocument/createQualityDocument"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.ofString(
        "{\"id\":\"Иванович\",\"name\":\"Иван\",\"type\":\"standard\",\"number\":\"Пример number\",\"clientId\":123,\"versionId\":123,\"createdUser\":\"Пример createdUser\",\"startDate\":\"2024-01-15T10:30:00Z\",\"expireDate\":\"2024-01-15T10:30:00Z\",\"data\":[{}]}"
    ))
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/qualityDocument/createQualityDocument',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => json_encode({
    'id': 'Иванович',
    'name': 'Иван',
    'type': 'standard',
    'number': 'Пример number',
    'clientId': 123,
    'versionId': 123,
    'createdUser': 'Пример createdUser',
    'startDate': '2024-01-15T10:30:00Z',
    'expireDate': '2024-01-15T10:30:00Z',
    'data': [
        {}
    ]
}),
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X post \
  'https://api.selsup.ru/api/qualityDocument/createQualityDocument' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "Иванович",
  "name": "Иван",
  "type": "standard",
  "number": "Пример number",
  "clientId": 123,
  "versionId": 123,
  "createdUser": "Пример createdUser",
  "startDate": "2024-01-15T10:30:00Z",
  "expireDate": "2024-01-15T10:30:00Z",
  "data": [
    {}
  ]
}'

🔗 Получить сертификаты

Позволяет получить сертификат со всей информацией
GET /api/qualityDocument/getQualityDocument

Параметры запроса QUERY

Название Тип Обязательный Описание
documentId integer Да Параметр documentId

Тело ответа

⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
⚠ 404 Сертификат не найден
Content-Type: application/json
Поле Тип Описание
id integer
name string
type string Тип документа
number string Номер сертификата, уникален в рамках клиента
clientId integer
versionId integer
createdUser string
startDate string Дата начала действия сертификата
expireDate string Дата окончания срока действия сертификата
data Array of QualityDocumentData Связи сертификата с брендом и категорией
Структура QualityDocumentData
Поле Тип Описание
id integer
documentId integer Сертификат
productModelId integer Связь сертификата с продуктом
brand Brand Бренд
Структура Brand
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
brandId integer
category Category Категория
Структура Category
Поле Тип Описание
categoryId integer Идентификатор категории. Проставляется автоматически
name string Наименование категории
deleted boolean Признак удаленных категорий
parentId integer Идентификатор родительской категории
clientId integer Идентификатор клиента
marked boolean Маркируется ли категория
categoryClass string Группы категорий Честного знака
wildberriesType WildberriesType Предмет Вайлдбериз
Структура WildberriesType
Поле Тип Описание
id integer
name string Название
published boolean Опубликованность предмета Вайлдбериз
hasSize boolean Атрибут, указывающий наличие размера
monoBoxMinQuantity integer
monoType string
monoMinPrice integer
hasParent boolean
parentId integer
wildberriesId integer Идентификатор предмета на Вайлдбериз
lastSyncDate string Дата последней синхронизации предмета с Вайлдбериз
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
commission number Комиссия для товаров данного предмета в Вайлдбериз по FBM
fbsCommission number Комиссия для товаров данного предмета в Вайлдбериз по FBS
fbwCommission number Комиссия по тарифу FBW
dbsCommission number Комиссия по тарифу DBS
edbsCommission number Комиссия по тарифу EDBS
cAndCCommission number Комиссия по тарифу C&C
bookingCommission number Комиссия за бронирование
logisticPrice integer Стоимость доставки товара к клиенту на Вайлдбериз
storagePrice number Стоимость хранения товара на складе Вайлдбериз за штуку в день
acceptancePrice number Стоимость приемки товара на складе Вайлдбериз за штуку
needDimensions boolean Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов
candCCommission number
wildberriesCategoryId integer Идентификатор категории Wildberries, совпадает с ID категории на самом Wildberries
wildberriesFbmCommission number Комиссия по тарифу FBM
wildberriesFbwCommission number Комиссия по тарифу FBW
wildberriesFbsCommission number Комиссия по тарифу FBS
wildberriesDbsCommission number Комиссия по тарифу DBS
wildberriesEdbsCommission number Комиссия по тарифу EDBS
wildberriesCAndCCommission number Комиссия по тарифу C&C
wildberriesBookingCommission number Комиссия за бронирование
ozonDescriptionCategoryId integer Идентификатор категории на Ozon. Строится из ID категории + ID типа на Ozon
yandexMarketCategoryId integer Идентификатор категории в Яндекс.Маркет. Совпадает с идентификатором категории на самом Яндекс.Маркет
yandexMarketCategory YandexMarketCategory Категория Яндекс.Маркета
Структура YandexMarketCategory
Поле Тип Описание
id integer
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
ozonDescriptionCategory OzonDescriptionCategory Категория Озон
Структура OzonDescriptionCategory
Поле Тип Описание
id integer Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon
name string Название категории
published boolean
parentId integer
isLeaf boolean Признак листовой категории, в которой могут находиться товары
lastSyncDate string Дата последней синхронизации категории с Озон
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isError boolean
errorDate string
types string
typeId integer Идентификатор типа на Ozon
ozonCommission number Комиссия озона.
tnved Tnved Код ТНВЭД
Структура Tnved
Поле Тип Описание
id integer Идентификатор кода ТНВЭД без нулей в начале
name string Название кода ТНВЭД
deleted boolean
type string Уровень кода ТНВЭД
categoryClass string Группы категорий Честного знака
parentId integer Родительский ТНВЭД
keywords string Ключевые слова для кода ТНВЭД
description string Описание кода ТНВЭД
paramsTnvedId integer Определяет категорию (или ТНВЭД) национального каталога с помощью которого брать параметры. Несколько ТНВЭД могут ссылаться на одну и ту же категорию национального каталога
isInParam boolean Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете
certification string Необходимость сертификации товаров с этим ТНВЭД
code string
parentCode string
tnvedId integer Идентификатор ТНВЭД
laundry string Правила ухода за вещами. Разделяются запятыми
params string JSON значений параметров для категории
namePattern string Шаблон названий категории
aliexpressCategory AliexpressCategory Категория Aliexpress
Структура AliexpressCategory
Поле Тип Описание
id integer
name string
published boolean
parentId integer
aliexpressId integer
lastSyncDate string Дата последней синхронизации категории
notChangedDays integer Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
aliexpressCategoryId integer Идентификатор категории на самом Aliexpress
avitoCategory AvitoCategory Категория Авито
Структура AvitoCategory
Поле Тип Описание
id integer Идентификатор категории на Авито.Совпадает с идентификатором Авито
name string Полное название категории (включает в себя названия родительских категорий)
shortName string Краткое название категории
published boolean Опубликована категория
parentId integer id родительской категории Авито. Используется при импорте обьявлений с Авито
lastSyncDate string Дата последней синхронизации категории
isLeaf boolean Категория является листовой. Карточки можно добавлять только в листовые
goodsType string Тег GoodsType в фиде
category string Тег Category в фиде
avitoCategoryId integer Идентификатор категории на самом Avito
packDepth integer Глубина упаковки в мм. Проставляется всем товарам в категории
packWidth integer Ширина упаковки в мм. Проставляется всем товарам в категории
packHeight integer Высота упаковки в мм. Проставляется всем товарам в категории
packWeight integer Вес упаковки в граммах. Проставляется всем товарам в категории
hasSize boolean Признак разделения товаров в категории по размеру. Меняет вид редактора карточки
hasColor boolean Признак разделения товаров в категории по цвету. Меняет вид редактора карточки
autoName boolean Автоматически формировать названия товаров в категории
removeFbsStock boolean Не передавать остатки товаров по FBS для товаров из этой категории
oneCId string Идентификатор категории в 1С
externalId string Идентификатор категории на сайте
moySkladId string Идентификатор категории в сервисе МойСклад
useClientParams boolean Показывать пользовательские параметры в категории
requiredExpirationDate boolean Является ли срок годности обязательным параметром
categoryId integer
clientId integer
images Array of QualityDocumentImage Изображения сертификата
Структура QualityDocumentImage
Поле Тип Описание
id integer
url string
position integer
documentId integer
clientId integer
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  documentId: '123',
};

const response = await axios.get('https://api.selsup.ru/api/qualityDocument/getQualityDocument',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  documentId?: number;
}

const params: QueryParams = {
  documentId: '123',
};

const response = await axios.get<any>('https://api.selsup.ru/api/qualityDocument/getQualityDocument',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'documentId': '123',
}

response = requests.get(
    'https://api.selsup.ru/api/qualityDocument/getQualityDocument',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/qualityDocument/getQualityDocument?documentId=123", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/qualityDocument/getQualityDocument?documentId=123"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'documentId' => '123',
];

$url = 'https://api.selsup.ru/api/qualityDocument/getQualityDocument?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/qualityDocument/getQualityDocument?documentId=123' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

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

Позволяет получить сертификаты качества продукта
GET /api/qualityDocument/getQualityDocumentByModel

Параметры запроса QUERY

Название Тип Обязательный Описание
modelId integer Да Параметр modelId

Тело ответа

✓ 200 OK
Content-Type: application/json
Тип ответа: QualityDocument Сертификат качества продукции
Элементы массива
Поле Тип Описание
id integer Нет
name string Нет
type string Нет Тип документа
number string Нет Номер сертификата, уникален в рамках клиента
clientId integer Нет
versionId integer Нет
createdUser string Нет
startDate string Нет Дата начала действия сертификата
expireDate string Нет Дата окончания срока действия сертификата
data Array of QualityDocumentData Нет Связи сертификата с брендом и категорией
images Array of QualityDocumentImage Нет Изображения сертификата
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  modelId: '123',
};

const response = await axios.get('https://api.selsup.ru/api/qualityDocument/getQualityDocumentByModel',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  modelId?: number;
}

const params: QueryParams = {
  modelId: '123',
};

const response = await axios.get<any>('https://api.selsup.ru/api/qualityDocument/getQualityDocumentByModel',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'modelId': '123',
}

response = requests.get(
    'https://api.selsup.ru/api/qualityDocument/getQualityDocumentByModel',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/qualityDocument/getQualityDocumentByModel?modelId=123", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/qualityDocument/getQualityDocumentByModel?modelId=123"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'modelId' => '123',
];

$url = 'https://api.selsup.ru/api/qualityDocument/getQualityDocumentByModel?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/qualityDocument/getQualityDocumentByModel?modelId=123' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Получить список сертификатов по фильтру

Позволяет получить сертификаты по фильтрам: бренд, категория и запрос, который может содержать часть названия или номера
GET /api/qualityDocument/findQualityDocument

Параметры запроса QUERY

Название Тип Обязательный Описание
brandId integer Нет Поиск по id бренда
categoryId integer Нет Поиск по id категории
query string Нет Поисковый запрос, может содержать часть названия или номера сертификата
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "DOCUMENT_ID""NAME""TYPE""NUMBER""START_DATE""EXPIRE_DATE" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
rows Array of QualityDocument Строки с результатом поиска
Структура QualityDocument
Поле Тип Описание
id integer
name string
type string Тип документа
number string Номер сертификата, уникален в рамках клиента
clientId integer
versionId integer
createdUser string
startDate string Дата начала действия сертификата
expireDate string Дата окончания срока действия сертификата
data Array of QualityDocumentData Связи сертификата с брендом и категорией
Структура QualityDocumentData
Поле Тип Описание
id integer
documentId integer Сертификат
productModelId integer Связь сертификата с продуктом
brand Brand Бренд
Структура Brand
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
brandId integer
category Category Категория
Структура Category
Поле Тип Описание
categoryId integer Идентификатор категории. Проставляется автоматически
name string Наименование категории
deleted boolean Признак удаленных категорий
parentId integer Идентификатор родительской категории
clientId integer Идентификатор клиента
marked boolean Маркируется ли категория
categoryClass string Группы категорий Честного знака
wildberriesType WildberriesType Предмет Вайлдбериз
wildberriesCategoryId integer Идентификатор категории Wildberries, совпадает с ID категории на самом Wildberries
wildberriesFbmCommission number Комиссия по тарифу FBM
wildberriesFbwCommission number Комиссия по тарифу FBW
wildberriesFbsCommission number Комиссия по тарифу FBS
wildberriesDbsCommission number Комиссия по тарифу DBS
wildberriesEdbsCommission number Комиссия по тарифу EDBS
wildberriesCAndCCommission number Комиссия по тарифу C&C
wildberriesBookingCommission number Комиссия за бронирование
ozonDescriptionCategoryId integer Идентификатор категории на Ozon. Строится из ID категории + ID типа на Ozon
yandexMarketCategoryId integer Идентификатор категории в Яндекс.Маркет. Совпадает с идентификатором категории на самом Яндекс.Маркет
yandexMarketCategory YandexMarketCategory Категория Яндекс.Маркета
ozonDescriptionCategory OzonDescriptionCategory Категория Озон
ozonCommission number Комиссия озона.
tnved Tnved Код ТНВЭД
tnvedId integer Идентификатор ТНВЭД
laundry string Правила ухода за вещами. Разделяются запятыми
params string JSON значений параметров для категории
namePattern string Шаблон названий категории
aliexpressCategory AliexpressCategory Категория Aliexpress
aliexpressCategoryId integer Идентификатор категории на самом Aliexpress
avitoCategory AvitoCategory Категория Авито
avitoCategoryId integer Идентификатор категории на самом Avito
packDepth integer Глубина упаковки в мм. Проставляется всем товарам в категории
packWidth integer Ширина упаковки в мм. Проставляется всем товарам в категории
packHeight integer Высота упаковки в мм. Проставляется всем товарам в категории
packWeight integer Вес упаковки в граммах. Проставляется всем товарам в категории
hasSize boolean Признак разделения товаров в категории по размеру. Меняет вид редактора карточки
hasColor boolean Признак разделения товаров в категории по цвету. Меняет вид редактора карточки
autoName boolean Автоматически формировать названия товаров в категории
removeFbsStock boolean Не передавать остатки товаров по FBS для товаров из этой категории
oneCId string Идентификатор категории в 1С
externalId string Идентификатор категории на сайте
moySkladId string Идентификатор категории в сервисе МойСклад
useClientParams boolean Показывать пользовательские параметры в категории
requiredExpirationDate boolean Является ли срок годности обязательным параметром
categoryId integer
clientId integer
images Array of QualityDocumentImage Изображения сертификата
Структура QualityDocumentImage
Поле Тип Описание
id integer
url string
position integer
documentId integer
clientId integer
total integer Общее количество найденных записей. Возвращается только, когда count = true
page integer Номер запрошенной страницы
hasNextPage boolean Есть ли следующая страница
emptyPurchase integer Показатель пустой закупочной цены
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  brandId: '123',
  categoryId: '123',
  query: 'Пример query',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'DOCUMENT_ID',
  ascending: 'true',
};

const response = await axios.get('https://api.selsup.ru/api/qualityDocument/findQualityDocument',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import axios from 'axios';

interface QueryParams {
  brandId?: number;
  categoryId?: number;
  query?: string;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
}

const params: QueryParams = {
  brandId: '123',
  categoryId: '123',
  query: 'Пример query',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'DOCUMENT_ID',
  ascending: 'true',
};

const response = await axios.get<any>('https://api.selsup.ru/api/qualityDocument/findQualityDocument',
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

console.log(response.data);
import requests

headers = {
    'Authorization': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
}

params = {
    'brandId': '123',
    'categoryId': '123',
    'query': 'Пример query',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'DOCUMENT_ID',
    'ascending': 'true',
}

response = requests.get(
    'https://api.selsup.ru/api/qualityDocument/findQualityDocument',
    headers=headers,
    params=params
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    client := &http.Client{}

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/qualityDocument/findQualityDocument?brandId=123&categoryId=123&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=DOCUMENT_ID&ascending=true", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/qualityDocument/findQualityDocument?brandId=123&categoryId=123&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=DOCUMENT_ID&ascending=true"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();

$params = [
    'brandId' => '123',
    'categoryId' => '123',
    'query' => 'Пример query',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'DOCUMENT_ID',
    'ascending' => 'true',
];

$url = 'https://api.selsup.ru/api/qualityDocument/findQualityDocument?' . http_build_query($params);

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'get',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/qualityDocument/findQualityDocument?brandId=123&categoryId=123&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=DOCUMENT_ID&ascending=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'