Бренды

Бренд обязательно указан для каждого товара. Если у товара нет бренда, то нужно завести специальный бренд Без бренда

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

🔗 Бренд по идентификатору

Возвращает бренд по идентификатору
GET /api/brand/{brandId}

Параметры пути PATH

Название Тип Обязательный Описание
brandId integer Да Идентификатор бренда

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logo string Путь к логотипу бренда в /files/
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
⚠ 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.get('https://api.selsup.ru/api/brand/${brandId}',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

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

const response = await axios.get<any>('https://api.selsup.ru/api/brand/${brandId}',
  {
    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.get(
    'https://api.selsup.ru/api/brand/${brandId}',
    headers=headers
)

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/brand/${brandId}", 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/brand/${brandId}"))
    .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();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/brand/${brandId}',
    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/brand/{brandId}' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Изменить бренд

Позволяет изменить информацию о бренде
PUT /api/brand/{brandId}

Параметры пути PATH

Название Тип Обязательный Описание
brandId integer Да Идентификатор бренда

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

Content-Type: application/json
ПолеТипОписание
name Обязательный string Название бренда
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logo string Путь к логотипу бренда в /files/
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
⚠ 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.put('https://api.selsup.ru/api/brand/${brandId}',
  {
    "brandId": 123,
    "name": "Иван",
    "clientId": 123,
    "logo": "https://example.com/logo.png",
    "logoUrl": "https://example.com/resource",
    "logoSize": "https://example.com/logo.png",
    "logoWidth": "https://example.com/logo.png",
    "logoHeight": "https://example.com/logo.png",
    "deleted": false,
    "ozonName": "Название ozonName"
  },
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

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

const response = await axios.put<any>('https://api.selsup.ru/api/brand/${brandId}',
  {
    "brandId": 123,
    "name": "Иван",
    "clientId": 123,
    "logo": "https://example.com/logo.png",
    "logoUrl": "https://example.com/resource",
    "logoSize": "https://example.com/logo.png",
    "logoWidth": "https://example.com/logo.png",
    "logoHeight": "https://example.com/logo.png",
    "deleted": false,
    "ozonName": "Название ozonName"
  },
  {
    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.put(
    'https://api.selsup.ru/api/brand/${brandId}',
    headers=headers,
    json={
    'brandId': 123,
    'name': 'Иван',
    'clientId': 123,
    'logo': 'https://example.com/logo.png',
    'logoUrl': 'https://example.com/resource',
    'logoSize': 'https://example.com/logo.png',
    'logoWidth': 'https://example.com/logo.png',
    'logoHeight': 'https://example.com/logo.png',
    'deleted': false,
    'ozonName': 'Название ozonName'
}
)

print(response.json())
package main

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

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

    payload := map[string]interface{}{
        `brandId`: 123,
        `name`: `Иван`,
        `clientId`: 123,
        `logo`: `https://example.com/logo.png`,
        `logoUrl`: `https://example.com/resource`,
        `logoSize`: `https://example.com/logo.png`,
        `logoWidth`: `https://example.com/logo.png`,
        `logoHeight`: `https://example.com/logo.png`,
        `deleted`: false,
        `ozonName`: `Название ozonName`
}
    jsonData, _ := json.Marshal(payload)

    req, _ := http.NewRequest("put", "https://api.selsup.ru/api/brand/${brandId}", 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/brand/${brandId}"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .put(HttpRequest.BodyPublishers.ofString(
        "{\"brandId\":123,\"name\":\"Иван\",\"clientId\":123,\"logo\":\"https://example.com/logo.png\",\"logoUrl\":\"https://example.com/resource\",\"logoSize\":\"https://example.com/logo.png\",\"logoWidth\":\"https://example.com/logo.png\",\"logoHeight\":\"https://example.com/logo.png\",\"deleted\":false,\"ozonName\":\"Название ozonName\"}"
    ))
    .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/brand/${brandId}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'put',
    CURLOPT_POSTFIELDS => json_encode({
    'brandId': 123,
    'name': 'Иван',
    'clientId': 123,
    'logo': 'https://example.com/logo.png',
    'logoUrl': 'https://example.com/resource',
    'logoSize': 'https://example.com/logo.png',
    'logoWidth': 'https://example.com/logo.png',
    'logoHeight': 'https://example.com/logo.png',
    'deleted': false,
    'ozonName': 'Название ozonName'
}),
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

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

echo $response;
?>
curl -X put \
  'https://api.selsup.ru/api/brand/{brandId}' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "brandId": 123,
  "name": "Иван",
  "clientId": 123,
  "logo": "https://example.com/logo.png",
  "logoUrl": "https://example.com/resource",
  "logoSize": "https://example.com/logo.png",
  "logoWidth": "https://example.com/logo.png",
  "logoHeight": "https://example.com/logo.png",
  "deleted": false,
  "ozonName": "Название ozonName"
}'

🔗 Удалить бренд

Удаляет бренда или помечает его удаленным
DELETE /api/brand/{brandId}

Параметры пути PATH

Название Тип Обязательный Описание
brandId integer Да Идентификатор бренда

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

Название Тип Обязательный Описание
deleted boolean Да Позволяет восстановить товар из удаленных,если передать deleted=false

Тело ответа

✓ 200 OK
Тип: string
⚠ 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 = {
  deleted: 'false',
};

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

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

interface QueryParams {
  deleted?: string;
}

const params: QueryParams = {
  deleted: 'false',
};

const response = await axios.delete<any>('https://api.selsup.ru/api/brand/${brandId}',
  {
    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 = {
    'deleted': 'false',
}

response = requests.delete(
    'https://api.selsup.ru/api/brand/${brandId}',
    headers=headers,
    params=params
)

print(response.json())
package main

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

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

    req, _ := http.NewRequest("delete", "https://api.selsup.ru/api/brand/${brandId}?deleted=false", 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/brand/${brandId}?deleted=false"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .delete(HttpRequest.BodyPublishers.noBody())
    .build();

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

$params = [
    'deleted' => 'false',
];

$url = 'https://api.selsup.ru/api/brand/${brandId}?' . http_build_query($params);

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

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

echo $response;
?>
curl -X delete \
  'https://api.selsup.ru/api/brand/{brandId}?deleted=value' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Создать бренд

Позволяет добавить нового бренда или торговую марку. При создании нового бренда достаточно указать только название. ID бренда в Ozon необходимо только, если вы хотите создавать новые карточки в Ozon и не будете запускать импорт
POST /api/brand

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

Content-Type: application/json
ПолеТипОписание
name Обязательный string Название бренда
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logo string Путь к логотипу бренда в /files/
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
⚠ 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/brand',
  {
    "brandId": 123,
    "name": "Иван",
    "clientId": 123,
    "logo": "https://example.com/logo.png",
    "logoUrl": "https://example.com/resource",
    "logoSize": "https://example.com/logo.png",
    "logoWidth": "https://example.com/logo.png",
    "logoHeight": "https://example.com/logo.png",
    "deleted": false,
    "ozonName": "Название ozonName"
  },
  {
    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/brand',
  {
    "brandId": 123,
    "name": "Иван",
    "clientId": 123,
    "logo": "https://example.com/logo.png",
    "logoUrl": "https://example.com/resource",
    "logoSize": "https://example.com/logo.png",
    "logoWidth": "https://example.com/logo.png",
    "logoHeight": "https://example.com/logo.png",
    "deleted": false,
    "ozonName": "Название ozonName"
  },
  {
    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/brand',
    headers=headers,
    json={
    'brandId': 123,
    'name': 'Иван',
    'clientId': 123,
    'logo': 'https://example.com/logo.png',
    'logoUrl': 'https://example.com/resource',
    'logoSize': 'https://example.com/logo.png',
    'logoWidth': 'https://example.com/logo.png',
    'logoHeight': 'https://example.com/logo.png',
    'deleted': false,
    'ozonName': 'Название ozonName'
}
)

print(response.json())
package main

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

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

    payload := map[string]interface{}{
        `brandId`: 123,
        `name`: `Иван`,
        `clientId`: 123,
        `logo`: `https://example.com/logo.png`,
        `logoUrl`: `https://example.com/resource`,
        `logoSize`: `https://example.com/logo.png`,
        `logoWidth`: `https://example.com/logo.png`,
        `logoHeight`: `https://example.com/logo.png`,
        `deleted`: false,
        `ozonName`: `Название ozonName`
}
    jsonData, _ := json.Marshal(payload)

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/brand", 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/brand"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .post(HttpRequest.BodyPublishers.ofString(
        "{\"brandId\":123,\"name\":\"Иван\",\"clientId\":123,\"logo\":\"https://example.com/logo.png\",\"logoUrl\":\"https://example.com/resource\",\"logoSize\":\"https://example.com/logo.png\",\"logoWidth\":\"https://example.com/logo.png\",\"logoHeight\":\"https://example.com/logo.png\",\"deleted\":false,\"ozonName\":\"Название ozonName\"}"
    ))
    .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/brand',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => json_encode({
    'brandId': 123,
    'name': 'Иван',
    'clientId': 123,
    'logo': 'https://example.com/logo.png',
    'logoUrl': 'https://example.com/resource',
    'logoSize': 'https://example.com/logo.png',
    'logoWidth': 'https://example.com/logo.png',
    'logoHeight': 'https://example.com/logo.png',
    'deleted': false,
    'ozonName': 'Название ozonName'
}),
    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/brand' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "brandId": 123,
  "name": "Иван",
  "clientId": 123,
  "logo": "https://example.com/logo.png",
  "logoUrl": "https://example.com/resource",
  "logoSize": "https://example.com/logo.png",
  "logoWidth": "https://example.com/logo.png",
  "logoHeight": "https://example.com/logo.png",
  "deleted": false,
  "ozonName": "Название ozonName"
}'

🔗 Объединение брендов

Позволяет объединить два бренда - оставив только одного
POST /api/brand/{brandId}/merge/{removeBrandId}

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

Название Тип Обязательный Описание
brandId integer Да ID бренда на который перенести все данные
removeBrandId integer Да ID бренда, который будет удален

Тело ответа

✓ 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 = {
  brandId: '123',
  removeBrandId: '123',
};

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

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

interface QueryParams {
  brandId?: number;
  removeBrandId?: number;
}

const params: QueryParams = {
  brandId: '123',
  removeBrandId: '123',
};

const response = await axios.post<any>('https://api.selsup.ru/api/brand/${brandId}/merge/${removeBrandId}',
  {
    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',
    'removeBrandId': '123',
}

response = requests.post(
    'https://api.selsup.ru/api/brand/${brandId}/merge/${removeBrandId}',
    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/brand/${brandId}/merge/${removeBrandId}?brandId=123&removeBrandId=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/brand/${brandId}/merge/${removeBrandId}?brandId=123&removeBrandId=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 = [
    'brandId' => '123',
    'removeBrandId' => '123',
];

$url = 'https://api.selsup.ru/api/brand/${brandId}/merge/${removeBrandId}?' . 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/brand/{brandId}/merge/{removeBrandId}?brandId=123&removeBrandId=123' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Загрузить логотип бренда

Позволяет загрузить новый логотип бренда
POST /api/brand/{brandId}/image

Параметры пути PATH

Название Тип Обязательный Описание
brandId integer Да Идентификатор бренда

Тело запроса

Content-Type: multipart/form-data
ПолеТипОписание
file Обязательный byte[] Бинарный файл изображения с логотипом бренда в multipart form. Поддерживаются все основные форматы изображений

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logo string Путь к логотипу бренда в /files/
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
⚠ 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/brand/${brandId}/image', {
  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/brand/${brandId}/image', {
  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'),
}

response = requests.post(
    'https://api.selsup.ru/api/brand/${brandId}/image',
    headers={'Authorization': 'YOUR_API_KEY'},
    files=files,
)

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/brand/${brandId}/image", &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/brand/${brandId}/image"))
            .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();

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

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/brand/${brandId}/image',
    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/brand/{brandId}/image' \
  -H 'Authorization: YOUR_API_KEY' \
  -F 'file=@/path/to/file.pdf'

🔗 Удалить логотип бренда

Позволяет удалить логотип бренда
DELETE /api/brand/{brandId}/image

Параметры пути PATH

Название Тип Обязательный Описание
brandId integer Да Идентификатор бренда

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
brandId integer Идентификатор бренда
name string Название бренда
clientId integer Идентификатор клиента
logo string Путь к логотипу бренда в /files/
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
⚠ 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.delete('https://api.selsup.ru/api/brand/${brandId}/image',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

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

const response = await axios.delete<any>('https://api.selsup.ru/api/brand/${brandId}/image',
  {
    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.delete(
    'https://api.selsup.ru/api/brand/${brandId}/image',
    headers=headers
)

print(response.json())
package main

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

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

    req, _ := http.NewRequest("delete", "https://api.selsup.ru/api/brand/${brandId}/image", 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/brand/${brandId}/image"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .delete(HttpRequest.BodyPublishers.noBody())
    .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/brand/${brandId}/image',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'delete',
    CURLOPT_HTTPHEADER => [
        'Authorization: YOUR_API_KEY',
        'Content-Type: application/json'
    ]
]);

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

echo $response;
?>
curl -X delete \
  'https://api.selsup.ru/api/brand/{brandId}/image' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Поиск бренда

Позволяет найти бренд по фильтру
GET /api/brand/find

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

Название Тип Обязательный Описание
query string Нет Поиск по названию бренда
deleted boolean Нет Бренд удален?
brandOneCId integer Нет Идентификатор бренда в 1С
hasOzonId integer Нет Наличие ID Ozon?
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "NAME""BRANDID" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
rows Array of Brand Строки с результатом поиска
Структура Brand
Поле Тип Описание
brandId integer Идентификатор бренда
name Обязательный string Название бренда
clientId integer Идентификатор клиента
logo string Путь к логотипу бренда в /files/
logoUrl string Ссылка логотипа бренда
logoSize integer Размер логотипа в байтах
logoWidth integer Ширина логотипа в пикселях
logoHeight integer Высота логотипа в пикселях
deleted boolean Бренд удален?
ozonName string Название бренда на Ozon
ozonId integer ID бренда на Ozon
oneCId string Идентификатор 1С
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 = {
  query: 'Пример query',
  deleted: 'false',
  brandOneCId: 'Пример brandOneCId',
  hasOzonId: 'true',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'NAME',
  ascending: 'true',
};

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

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

interface QueryParams {
  query?: string;
  deleted?: string;
  brandOneCId?: string;
  hasOzonId?: string;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
}

const params: QueryParams = {
  query: 'Пример query',
  deleted: 'false',
  brandOneCId: 'Пример brandOneCId',
  hasOzonId: 'true',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'NAME',
  ascending: 'true',
};

const response = await axios.get<any>('https://api.selsup.ru/api/brand/find',
  {
    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 = {
    'query': 'Пример query',
    'deleted': 'false',
    'brandOneCId': 'Пример brandOneCId',
    'hasOzonId': 'true',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'NAME',
    'ascending': 'true',
}

response = requests.get(
    'https://api.selsup.ru/api/brand/find',
    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/brand/find?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=false&brandOneCId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20brandOneCId&hasOzonId=true&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&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/brand/find?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=false&brandOneCId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20brandOneCId&hasOzonId=true&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&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 = [
    'query' => 'Пример query',
    'deleted' => 'false',
    'brandOneCId' => 'Пример brandOneCId',
    'hasOzonId' => 'true',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'NAME',
    'ascending' => 'true',
];

$url = 'https://api.selsup.ru/api/brand/find?' . 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/brand/find?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&deleted=value&brandOneCId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20brandOneCId&hasOzonId=true&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=NAME&ascending=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Список всех брендов клиента

Возвращает список всех брендов
GET /api/brand/all

Тело ответа

✓ 200 OK
Content-Type: application/json
Тип ответа: Brand Бренд
Элементы массива
Поле Тип Описание
brandId integer Нет Идентификатор бренда
name string Нет Название бренда
clientId integer Нет Идентификатор клиента
logo string Нет Путь к логотипу бренда в /files/
logoUrl string Нет Ссылка логотипа бренда
logoSize integer Нет Размер логотипа в байтах
logoWidth integer Нет Ширина логотипа в пикселях
logoHeight integer Нет Высота логотипа в пикселях
deleted boolean Нет Бренд удален?
ozonName string Нет Название бренда на Ozon
ozonId integer Нет ID бренда на Ozon
oneCId string Нет Идентификатор 1С
⚠ 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.get('https://api.selsup.ru/api/brand/all',
  {
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

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

const response = await axios.get<any>('https://api.selsup.ru/api/brand/all',
  {
    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.get(
    'https://api.selsup.ru/api/brand/all',
    headers=headers
)

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/brand/all", 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/brand/all"))
    .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();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.selsup.ru/api/brand/all',
    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/brand/all' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'