Репрайсер
Методы для работы с репрайсером
Базовый URL:
https://api.selsup.ru
🔗 Добавление товара к стратегии
Метод добавляет товар к стратегии по обновлению цен, обязательно у продукта должен присутствовать uuid стратегии
POST
/api/repricer/upsertProductInStrategy
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| strategyUuid | string | Да |
Параметр strategyUuid
|
Тело запроса *Обязательно
Content-Type:
application/json
| Поле | Тип | Описание |
|---|---|---|
| id > | integer | Идентификатор товара. Проставляется автоматически |
| productType > | string | Тип товара |
| name > | string | Наименование товара внутреннее |
| printName > | string | Название товара для внешних сервисов. Если не задано, проставляется равным наименованию товара |
| realSize > | string | Российский размер товара для одежды или характеристики для других категорий |
| vendorSize > | string | Размер производителя или характеристики производителя. Не обязательно заполнять |
| size > | string | Размер для одежды или характеристики для внешних сервисов. Должен быть уникальным в рамках цвета |
| simalandId > | integer | Уникальный идентификатор товара для Simaland |
| ozonArticle > | string | Уникальный артикул товара для озон. Offer ID в озон |
| externalArticle > | string | Уникальный артикул товара для стороннего сервиса |
| removeFbsStock > | boolean | Не выгружать остатки товара на маркетплейсы |
| purchaseCurrency > | string | Валюта закупочной цены товара |
| purchasePriceInCurrency > | number | Цена закупки в валюте |
| deliveryCostInCurrency > | number | Цена на доставку в валюте |
| versionId > | integer | Поле нужно передавать при изменении,для предотвращения одновременной перезаписи |
| sourceIncomeItemId > | integer | Идентификатор товара из заказа поставщика по данным которого был создан товар |
| sourceProductId > | integer | Идентификатор товара, который копировали |
| sellerSku > | string | Идентификатор товара на Amazon |
Тело ответа
✓ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
strategyUuid: 'Пример strategyUuid',
};
const response = await axios.post('https://api.selsup.ru/api/repricer/upsertProductInStrategy',
{
"id": "Иванович",
"productType": "standard",
"name": "Иван",
"deleted": false,
"printName": "Название printName",
"realSize": "Пример realSize",
"vendorSize": "Пример vendorSize",
"size": "Пример size",
"wildberriesImtId": 123,
"wildberriesStockCount": 42
},
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
strategyUuid?: string;
}
const params: QueryParams = {
strategyUuid: 'Пример strategyUuid',
};
const response = await axios.post<any>('https://api.selsup.ru/api/repricer/upsertProductInStrategy',
{
"id": "Иванович",
"productType": "standard",
"name": "Иван",
"deleted": false,
"printName": "Название printName",
"realSize": "Пример realSize",
"vendorSize": "Пример vendorSize",
"size": "Пример size",
"wildberriesImtId": 123,
"wildberriesStockCount": 42
},
{
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 = {
'strategyUuid': 'Пример strategyUuid',
}
response = requests.post(
'https://api.selsup.ru/api/repricer/upsertProductInStrategy',
headers=headers,
params=params,
json={
'id': 'Иванович',
'productType': 'standard',
'name': 'Иван',
'deleted': false,
'printName': 'Название printName',
'realSize': 'Пример realSize',
'vendorSize': 'Пример vendorSize',
'size': 'Пример size',
'wildberriesImtId': 123,
'wildberriesStockCount': 42
}
)
print(response.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
client := &http.Client{}
payload := map[string]interface{}{
`id`: `Иванович`,
`productType`: `standard`,
`name`: `Иван`,
`deleted`: false,
`printName`: `Название printName`,
`realSize`: `Пример realSize`,
`vendorSize`: `Пример vendorSize`,
`size`: `Пример size`,
`wildberriesImtId`: 123,
`wildberriesStockCount`: 42
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("post", "https://api.selsup.ru/api/repricer/upsertProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid", 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/repricer/upsertProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid"))
.header("Authorization", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.post(HttpRequest.BodyPublishers.ofString(
"{\"id\":\"Иванович\",\"productType\":\"standard\",\"name\":\"Иван\",\"deleted\":false,\"printName\":\"Название printName\",\"realSize\":\"Пример realSize\",\"vendorSize\":\"Пример vendorSize\",\"size\":\"Пример size\",\"wildberriesImtId\":123,\"wildberriesStockCount\":42}"
))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();
$params = [
'strategyUuid' => 'Пример strategyUuid',
];
$url = 'https://api.selsup.ru/api/repricer/upsertProductInStrategy?' . http_build_query($params);
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'post',
CURLOPT_POSTFIELDS => json_encode({
'id': 'Иванович',
'productType': 'standard',
'name': 'Иван',
'deleted': false,
'printName': 'Название printName',
'realSize': 'Пример realSize',
'vendorSize': 'Пример vendorSize',
'size': 'Пример size',
'wildberriesImtId': 123,
'wildberriesStockCount': 42
}),
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/repricer/upsertProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"id": "Иванович",
"productType": "standard",
"name": "Иван",
"deleted": false,
"printName": "Название printName",
"realSize": "Пример realSize",
"vendorSize": "Пример vendorSize",
"size": "Пример size",
"wildberriesImtId": 123,
"wildberriesStockCount": 42
}'
🔗 Обновление настроек для товара
Метод обновляет конфигурацию у продукта для репрайсинга
POST
/api/repricer/updateRepriceProductConfig
Тело запроса *Обязательно
Content-Type:
application/json
| Поле | Тип | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| products > | Array of Product | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура Product
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Тело ответа
✓ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const response = await axios.post('https://api.selsup.ru/api/repricer/updateRepriceProductConfig',
{
"products": [
{}
]
},
{
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/repricer/updateRepriceProductConfig',
{
"products": [
{}
]
},
{
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/repricer/updateRepriceProductConfig',
headers=headers,
json={
'products': [
{}
]
}
)
print(response.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
client := &http.Client{}
payload := map[string]interface{}{
`products`: [
{}
]
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("post", "https://api.selsup.ru/api/repricer/updateRepriceProductConfig", 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/repricer/updateRepriceProductConfig"))
.header("Authorization", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.post(HttpRequest.BodyPublishers.ofString(
"{\"products\":[{}]}"
))
.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/repricer/updateRepriceProductConfig',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'post',
CURLOPT_POSTFIELDS => json_encode({
'products': [
{}
]
}),
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/repricer/updateRepriceProductConfig' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"products": [
{}
]
}'
🔗 Импорт цен из репрайсер
Метод принимает цены из репрайсера и запускает задачу на обновление цен
POST
/api/repricer/updatePricesFromRepricer
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| token | string | Да |
Параметр token
|
Тело запроса *Обязательно
Content-Type:
application/json
| Поле | Тип | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| products > | Array of RepricerProduct | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура RepricerProduct
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| clientId > | integer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| organizationId > | integer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| service > | string | Сервис | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| useWbDiscountUpdate > | boolean | Использовать метод обновления скидки на ВБ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Тело ответа
✓ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
token: 'token_kkm7pohxbpi',
};
const response = await axios.post('https://api.selsup.ru/api/repricer/updatePricesFromRepricer',
{
"products": [
{}
],
"clientId": 123,
"organizationId": "АО \"Торговый дом\"",
"service": "NONE",
"useWbDiscountUpdate": 10
},
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
token?: string;
}
const params: QueryParams = {
token: 'token_kkm7pohxbpi',
};
const response = await axios.post<any>('https://api.selsup.ru/api/repricer/updatePricesFromRepricer',
{
"products": [
{}
],
"clientId": 123,
"organizationId": "АО \"Торговый дом\"",
"service": "NONE",
"useWbDiscountUpdate": 10
},
{
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 = {
'token': 'token_kkm7pohxbpi',
}
response = requests.post(
'https://api.selsup.ru/api/repricer/updatePricesFromRepricer',
headers=headers,
params=params,
json={
'products': [
{}
],
'clientId': 123,
'organizationId': 'АО \'Торговый дом\'',
'service': 'NONE',
'useWbDiscountUpdate': 10
}
)
print(response.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
client := &http.Client{}
payload := map[string]interface{}{
`products`: [
{}
],
`clientId`: 123,
`organizationId`: `АО \`Торговый дом\``,
`service`: `NONE`,
`useWbDiscountUpdate`: 10
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("post", "https://api.selsup.ru/api/repricer/updatePricesFromRepricer?token=token_kkm7pohxbpi", 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/repricer/updatePricesFromRepricer?token=token_kkm7pohxbpi"))
.header("Authorization", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.post(HttpRequest.BodyPublishers.ofString(
"{\"products\":[{}],\"clientId\":123,\"organizationId\":\"АО \\"Торговый дом\\"\",\"service\":\"NONE\",\"useWbDiscountUpdate\":10}"
))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();
$params = [
'token' => 'token_kkm7pohxbpi',
];
$url = 'https://api.selsup.ru/api/repricer/updatePricesFromRepricer?' . http_build_query($params);
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'post',
CURLOPT_POSTFIELDS => json_encode({
'products': [
{}
],
'clientId': 123,
'organizationId': 'АО \'Торговый дом\'',
'service': 'NONE',
'useWbDiscountUpdate': 10
}),
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/repricer/updatePricesFromRepricer?token=token_kkm7pohxbpi' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"products": [
{}
],
"clientId": 123,
"organizationId": "АО \"Торговый дом\"",
"service": "NONE",
"useWbDiscountUpdate": 10
}'
🔗 Импорт файла акции
Метод ставит задачу на импорт файла с акциями
POST
/api/repricer/importPromotionStrategyFileTask
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| promotionId | integer | Да |
Параметр promotionId
|
| organizationId | integer | Да |
Параметр organizationId
|
Тело запроса
Content-Type:
multipart/form-data
| Поле | Тип | Описание |
|---|---|---|
| file > | string |
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
| Поле | Тип | Описание |
|---|---|---|
| id > | integer | Идентификатор задачи |
| status > | string | Текущий статус задачи |
| type > | string | Тип задачи |
| name > | string | Данные задачи в json - могут быть пустыми |
| clientId > | integer | |
| entityId > | integer | Сущность, к которой относится задача |
| progress > | integer | Прогресс выполнения задачи в процентах |
| processedQuantity > | integer | Количество обработанных записей задачи |
| organizationId > | integer | Организация задачи, может быть 0, если не зависит от организации |
| priority > | integer | Приоритет задачи - чем выше тем быстрее задача запустится |
| properties > | string | Параметры задачи |
| message > | string | Сообщение с результатом выполнения задачи |
| messageParams > | string | Параметры сообщения с результатом выполнения задачи |
| createdDate > | string | Дата добавления задачи в очередь |
| startDate > | string | Дата запуска задачи |
| finishDate > | string | Дата завершения задачи |
| url > | string | Ссылка на скачивание файла с результатом задачи |
| inputFileUrl > | string | Ссылка на загруженный файл |
| retryNumber > | integer | Счётчик перезапуска задачи. |
| userId > | integer | Пользователь запустивший задачу |
| retryDate > | string | Запланированная дата перезапуска |
| debug > | boolean | Запуск задачи в режиме отладки с большим логированием |
| forcedStart > | boolean | Ручной запуск задачи |
| service > | string | Сервис |
| lang > | 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
promotionId: '123',
organizationId: 'АО "Торговый дом"',
};
const response = await axios.post('https://api.selsup.ru/api/repricer/importPromotionStrategyFileTask',
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
promotionId?: number;
organizationId?: number;
}
const params: QueryParams = {
promotionId: '123',
organizationId: 'АО "Торговый дом"',
};
const response = await axios.post<any>('https://api.selsup.ru/api/repricer/importPromotionStrategyFileTask',
{
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 = {
'promotionId': '123',
'organizationId': 'АО "Торговый дом"',
}
response = requests.post(
'https://api.selsup.ru/api/repricer/importPromotionStrategyFileTask',
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/repricer/importPromotionStrategyFileTask?promotionId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22", 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/repricer/importPromotionStrategyFileTask?promotionId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22"))
.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 = [
'promotionId' => '123',
'organizationId' => 'АО "Торговый дом"',
];
$url = 'https://api.selsup.ru/api/repricer/importPromotionStrategyFileTask?' . 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/repricer/importPromotionStrategyFileTask?promotionId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Импорт настроек для товаров из файла
Метод ставит задачу на импорт настроек репрайсера из файла excel
POST
/api/repricer/importProductRepriceConfig
Тело запроса
Content-Type:
multipart/form-data
| Поле | Тип | Описание |
|---|---|---|
| file > | string |
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
| Поле | Тип | Описание |
|---|---|---|
| id > | integer | Идентификатор задачи |
| status > | string | Текущий статус задачи |
| type > | string | Тип задачи |
| name > | string | Данные задачи в json - могут быть пустыми |
| clientId > | integer | |
| entityId > | integer | Сущность, к которой относится задача |
| progress > | integer | Прогресс выполнения задачи в процентах |
| processedQuantity > | integer | Количество обработанных записей задачи |
| organizationId > | integer | Организация задачи, может быть 0, если не зависит от организации |
| priority > | integer | Приоритет задачи - чем выше тем быстрее задача запустится |
| properties > | string | Параметры задачи |
| message > | string | Сообщение с результатом выполнения задачи |
| messageParams > | string | Параметры сообщения с результатом выполнения задачи |
| createdDate > | string | Дата добавления задачи в очередь |
| startDate > | string | Дата запуска задачи |
| finishDate > | string | Дата завершения задачи |
| url > | string | Ссылка на скачивание файла с результатом задачи |
| inputFileUrl > | string | Ссылка на загруженный файл |
| retryNumber > | integer | Счётчик перезапуска задачи. |
| userId > | integer | Пользователь запустивший задачу |
| retryDate > | string | Запланированная дата перезапуска |
| debug > | boolean | Запуск задачи в режиме отладки с большим логированием |
| forcedStart > | boolean | Ручной запуск задачи |
| service > | string | Сервис |
| lang > | 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const response = await axios.post('https://api.selsup.ru/api/repricer/importProductRepriceConfig',
{
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/repricer/importProductRepriceConfig',
{
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/repricer/importProductRepriceConfig',
headers=headers
)
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/repricer/importProductRepriceConfig", 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/repricer/importProductRepriceConfig"))
.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();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/repricer/importProductRepriceConfig',
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/repricer/importProductRepriceConfig' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Изменить стратегию
Добавляет новую или обновляет старую по uuid стратегию по обновлению цен в БД
POST
/api/repricer/
Тело запроса *Обязательно
Content-Type:
application/json
| Поле | Тип | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id > | integer | Идентификатор стратегии по обновлению цен в списке | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| strategyUuid > | string | Идентификатор стратегии по обновлению цен | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hostId > | integer | Идентификатор с какого хоста данный продукт | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| clientId > | integer | Идентификатор клиента. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| organizationId > | integer | Идентификатор организации. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| dateStart > | string | Дата и время начало | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| dateEnd > | string | Дата и время окончания | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| strategyPeriod > | string | Период обновления цены | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| strategyType > | string | Тип выбранной стратегии по обновлению цены | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| isActive > | boolean | Показатель уже активирована стратегия или нет | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| createdDate > | string | Дата создания стратегии | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| discountPercent > | number | Процент скидки для настройки | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| botToken > | string | Токен для обратной связи | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| products > | Array of RepricerProduct | Список товаров по которым проводить | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура RepricerProduct
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| isDeleted > | boolean | Пометка на удаление стратегии | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| promotionId > | integer | Идентификатор акции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| timeZone > | integer | Тайм зона | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| service > | string | Сервис | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| promotion > | Promotion | Акция стратегии | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура Promotion
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
| Поле | Тип | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id > | integer | Идентификатор стратегии по обновлению цен в списке | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| strategyUuid > | string | Идентификатор стратегии по обновлению цен | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hostId > | integer | Идентификатор с какого хоста данный продукт | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| clientId > | integer | Идентификатор клиента. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| organizationId > | integer | Идентификатор организации. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| dateStart > | string | Дата и время начало | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| dateEnd > | string | Дата и время окончания | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| strategyPeriod > | string | Период обновления цены | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| strategyType > | string | Тип выбранной стратегии по обновлению цены | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| isActive > | boolean | Показатель уже активирована стратегия или нет | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| createdDate > | string | Дата создания стратегии | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| discountPercent > | number | Процент скидки для настройки | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| botToken > | string | Токен для обратной связи | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| products > | Array of RepricerProduct | Список товаров по которым проводить | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура RepricerProduct
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| isDeleted > | boolean | Пометка на удаление стратегии | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| promotionId > | integer | Идентификатор акции | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| timeZone > | integer | Тайм зона | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| service > | string | Сервис | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| promotion > | Promotion | Акция стратегии | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура Promotion
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
✗ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const response = await axios.post('https://api.selsup.ru/api/repricer/',
{
"id": "Иванович",
"strategyUuid": "Пример strategyUuid",
"hostId": 123,
"clientId": 123,
"organizationId": "АО \"Торговый дом\"",
"dateStart": "2024-01-15T10:30:00Z",
"dateEnd": "2024-01-15T10:30:00Z",
"strategyPeriod": "NONE",
"strategyType": "standard",
"isActive": true
},
{
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/repricer/',
{
"id": "Иванович",
"strategyUuid": "Пример strategyUuid",
"hostId": 123,
"clientId": 123,
"organizationId": "АО \"Торговый дом\"",
"dateStart": "2024-01-15T10:30:00Z",
"dateEnd": "2024-01-15T10:30:00Z",
"strategyPeriod": "NONE",
"strategyType": "standard",
"isActive": true
},
{
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/repricer/',
headers=headers,
json={
'id': 'Иванович',
'strategyUuid': 'Пример strategyUuid',
'hostId': 123,
'clientId': 123,
'organizationId': 'АО \'Торговый дом\'',
'dateStart': '2024-01-15T10:30:00Z',
'dateEnd': '2024-01-15T10:30:00Z',
'strategyPeriod': 'NONE',
'strategyType': 'standard',
'isActive': true
}
)
print(response.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
client := &http.Client{}
payload := map[string]interface{}{
`id`: `Иванович`,
`strategyUuid`: `Пример strategyUuid`,
`hostId`: 123,
`clientId`: 123,
`organizationId`: `АО \`Торговый дом\``,
`dateStart`: `2024-01-15T10:30:00Z`,
`dateEnd`: `2024-01-15T10:30:00Z`,
`strategyPeriod`: `NONE`,
`strategyType`: `standard`,
`isActive`: true
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("post", "https://api.selsup.ru/api/repricer/", 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/repricer/"))
.header("Authorization", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.post(HttpRequest.BodyPublishers.ofString(
"{\"id\":\"Иванович\",\"strategyUuid\":\"Пример strategyUuid\",\"hostId\":123,\"clientId\":123,\"organizationId\":\"АО \\"Торговый дом\\"\",\"dateStart\":\"2024-01-15T10:30:00Z\",\"dateEnd\":\"2024-01-15T10:30:00Z\",\"strategyPeriod\":\"NONE\",\"strategyType\":\"standard\",\"isActive\":true}"
))
.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/repricer/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'post',
CURLOPT_POSTFIELDS => json_encode({
'id': 'Иванович',
'strategyUuid': 'Пример strategyUuid',
'hostId': 123,
'clientId': 123,
'organizationId': 'АО \'Торговый дом\'',
'dateStart': '2024-01-15T10:30:00Z',
'dateEnd': '2024-01-15T10:30:00Z',
'strategyPeriod': 'NONE',
'strategyType': 'standard',
'isActive': true
}),
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/repricer/' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"id": "Иванович",
"strategyUuid": "Пример strategyUuid",
"hostId": 123,
"clientId": 123,
"organizationId": "АО \"Торговый дом\"",
"dateStart": "2024-01-15T10:30:00Z",
"dateEnd": "2024-01-15T10:30:00Z",
"strategyPeriod": "NONE",
"strategyType": "standard",
"isActive": true
}'
🔗 Статус загрузки файлов
Метод возвращает последние данные загрузки файлов акции из списка
GET
/api/repricer/getPromotionStrategyInfoByPromoIds
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| clientId | integer | Нет |
Идентификатор клиента
|
| organizationId | integer | Нет |
Параметр organizationId
|
| limit | integer | Нет |
Максимальное количество записей
|
| page | integer | Нет |
Номер страницы
|
| service | "NONE""WILDBERRIES""OZON""YANDEX_MARKET""FAMILIYA""NATIONAL_CATALOG""ALIEXPRESS""OTHER""MOY_SKLAD""SBER_MEGA_MARKET""CISLINK""ONE_C""AVITO""LEROY_MERLIN""DETMIR""KAZAN_EXPRESS""EVOTOR""WEBASYST""AMAZON""EBAY""SIMALAND""INSALES""LAMODA""OZON_PERFORMANCE""WALMART""GOOGLE""YANDEX_DISC""EMAIL" | Нет |
Параметр service
|
| dateFrom | Date | Нет |
Дата начала отчета
|
| dateTo | Date | Нет |
Дата окончания отчета
|
| setDiscount | boolean | Нет |
Параметр setDiscount
|
| cancelDiscount | boolean | Нет |
Параметр cancelDiscount
|
| strategyUuid | string | Нет |
Параметр strategyUuid
|
| services | Array of string | Нет |
Параметр services
|
| isDeleted | boolean | Нет |
Параметр isDeleted
|
| promotionIds | integer | Нет |
Параметр promotionIds
|
| strategyType | "NONE""SET_DISCOUNT_BY_PERIOD""PROMOTION""SET_PRICE_WITH_SPP" | Нет |
Параметр strategyType
|
| productIds | integer | Нет |
Параметр productIds
|
| productServiceIds | integer | Нет |
Параметр productServiceIds
|
Тело ответа
✓ 200
OK
▶
Тип:
object
✗ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get('https://api.selsup.ru/api/repricer/getPromotionStrategyInfoByPromoIds',
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
clientId?: number;
organizationId?: number;
limit?: number;
page?: number;
service?: string;
dateFrom?: string;
dateTo?: string;
setDiscount?: string;
cancelDiscount?: string;
strategyUuid?: string;
services?: string;
isDeleted?: string;
promotionIds?: string;
strategyType?: string;
productIds?: string;
productServiceIds?: string;
}
const params: QueryParams = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get<any>('https://api.selsup.ru/api/repricer/getPromotionStrategyInfoByPromoIds',
{
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 = {
'clientId': '123',
'organizationId': 'АО "Торговый дом"',
'limit': '100',
'page': '1',
'service': 'NONE',
'dateFrom': '2024-01-15T10:30:00Z',
'dateTo': '2024-01-15T10:30:00Z',
'setDiscount': '10',
'cancelDiscount': '10',
'strategyUuid': 'Пример strategyUuid',
'services': '',
'isDeleted': 'false',
'promotionIds': '',
'strategyType': 'standard',
'productIds': '',
'productServiceIds': '',
}
response = requests.get(
'https://api.selsup.ru/api/repricer/getPromotionStrategyInfoByPromoIds',
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/repricer/getPromotionStrategyInfoByPromoIds?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds=", 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/repricer/getPromotionStrategyInfoByPromoIds?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds="))
.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 = [
'clientId' => '123',
'organizationId' => 'АО "Торговый дом"',
'limit' => '100',
'page' => '1',
'service' => 'NONE',
'dateFrom' => '2024-01-15T10:30:00Z',
'dateTo' => '2024-01-15T10:30:00Z',
'setDiscount' => '10',
'cancelDiscount' => '10',
'strategyUuid' => 'Пример strategyUuid',
'services' => '',
'isDeleted' => 'false',
'promotionIds' => '',
'strategyType' => 'standard',
'productIds' => '',
'productServiceIds' => '',
];
$url = 'https://api.selsup.ru/api/repricer/getPromotionStrategyInfoByPromoIds?' . 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/repricer/getPromotionStrategyInfoByPromoIds?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=value&promotionIds=&strategyType=standard&productIds=&productServiceIds=' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Экспорт аналитики в репрайсер
Метод запускает импорт аналитики и возвращает список профит репортов для репрайсера
GET
/api/repricer/getProfitReports
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| clientId | integer | Нет |
Идентификатор клиента
|
| organizationId | integer | Нет |
Параметр organizationId
|
| limit | integer | Нет |
Максимальное количество записей
|
| page | integer | Нет |
Номер страницы
|
| service | "NONE""WILDBERRIES""OZON""YANDEX_MARKET""FAMILIYA""NATIONAL_CATALOG""ALIEXPRESS""OTHER""MOY_SKLAD""SBER_MEGA_MARKET""CISLINK""ONE_C""AVITO""LEROY_MERLIN""DETMIR""KAZAN_EXPRESS""EVOTOR""WEBASYST""AMAZON""EBAY""SIMALAND""INSALES""LAMODA""OZON_PERFORMANCE""WALMART""GOOGLE""YANDEX_DISC""EMAIL" | Нет |
Параметр service
|
| dateFrom | Date | Нет |
Дата начала отчета
|
| dateTo | Date | Нет |
Дата окончания отчета
|
| setDiscount | boolean | Нет |
Параметр setDiscount
|
| cancelDiscount | boolean | Нет |
Параметр cancelDiscount
|
| strategyUuid | string | Нет |
Параметр strategyUuid
|
| services | Array of string | Нет |
Параметр services
|
| isDeleted | boolean | Нет |
Параметр isDeleted
|
| promotionIds | integer | Нет |
Параметр promotionIds
|
| strategyType | "NONE""SET_DISCOUNT_BY_PERIOD""PROMOTION""SET_PRICE_WITH_SPP" | Нет |
Параметр strategyType
|
| productIds | integer | Нет |
Параметр productIds
|
| productServiceIds | integer | Нет |
Параметр productServiceIds
|
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
Тип ответа:
ProfitReport
Элементы массива
| Поле | Тип | Описание | |
|---|---|---|---|
| id | integer | Нет | |
| realizationReportId | string | Нет | Номер отчета WB и идентификатор операции ozon и sbermarket |
| currencyName | string | Нет | Оригинальная валюта отчёта |
| currentCurrency | string | Нет | Валюта отчёта |
| originalValues | string | Нет | Суммы в первоначальной валюте отчёта |
| dateFrom | string | Нет | Дата начала отчетного периода |
| dateTo | string | Нет | Дата конца отчетного периода |
| supplierContractCode | string | Нет | Договор |
| rid | string | Нет | Уникальный идентификатор позиции заказа |
| operationDate | string | Нет | Дата операции |
| createDate | string | Нет | Дата формирования отчёта WB |
| rrdId | integer | Нет | Номер строки |
| giId | integer | Нет | Номер поставки |
| subjectName | string | Нет | Название товара(товаров) WB или ozon(Items.name) |
| productCode | string | Нет | Артикул WB(nm_id) или код SKU ozon(Items.sku) Артикул СМ(p.sber_article) |
| brandName | string | Нет | Бренд |
| saName | string | Нет | Артикул поставщика |
| tsName | string | Нет | Размер |
| barcode | string | Нет | |
| docTypeName | 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get('https://api.selsup.ru/api/repricer/getProfitReports',
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
clientId?: number;
organizationId?: number;
limit?: number;
page?: number;
service?: string;
dateFrom?: string;
dateTo?: string;
setDiscount?: string;
cancelDiscount?: string;
strategyUuid?: string;
services?: string;
isDeleted?: string;
promotionIds?: string;
strategyType?: string;
productIds?: string;
productServiceIds?: string;
}
const params: QueryParams = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get<any>('https://api.selsup.ru/api/repricer/getProfitReports',
{
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 = {
'clientId': '123',
'organizationId': 'АО "Торговый дом"',
'limit': '100',
'page': '1',
'service': 'NONE',
'dateFrom': '2024-01-15T10:30:00Z',
'dateTo': '2024-01-15T10:30:00Z',
'setDiscount': '10',
'cancelDiscount': '10',
'strategyUuid': 'Пример strategyUuid',
'services': '',
'isDeleted': 'false',
'promotionIds': '',
'strategyType': 'standard',
'productIds': '',
'productServiceIds': '',
}
response = requests.get(
'https://api.selsup.ru/api/repricer/getProfitReports',
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/repricer/getProfitReports?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds=", 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/repricer/getProfitReports?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds="))
.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 = [
'clientId' => '123',
'organizationId' => 'АО "Торговый дом"',
'limit' => '100',
'page' => '1',
'service' => 'NONE',
'dateFrom' => '2024-01-15T10:30:00Z',
'dateTo' => '2024-01-15T10:30:00Z',
'setDiscount' => '10',
'cancelDiscount' => '10',
'strategyUuid' => 'Пример strategyUuid',
'services' => '',
'isDeleted' => 'false',
'promotionIds' => '',
'strategyType' => 'standard',
'productIds' => '',
'productServiceIds' => '',
];
$url = 'https://api.selsup.ru/api/repricer/getProfitReports?' . 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/repricer/getProfitReports?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=value&promotionIds=&strategyType=standard&productIds=&productServiceIds=' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Экспорт продуктов в репрайсер
Метод возвращает список продуктов для репрайсера
GET
/api/repricer/getProducts
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| clientId | integer | Нет |
Идентификатор клиента
|
| organizationId | integer | Нет |
Параметр organizationId
|
| limit | integer | Нет |
Максимальное количество записей
|
| page | integer | Нет |
Номер страницы
|
| service | "NONE""WILDBERRIES""OZON""YANDEX_MARKET""FAMILIYA""NATIONAL_CATALOG""ALIEXPRESS""OTHER""MOY_SKLAD""SBER_MEGA_MARKET""CISLINK""ONE_C""AVITO""LEROY_MERLIN""DETMIR""KAZAN_EXPRESS""EVOTOR""WEBASYST""AMAZON""EBAY""SIMALAND""INSALES""LAMODA""OZON_PERFORMANCE""WALMART""GOOGLE""YANDEX_DISC""EMAIL" | Нет |
Параметр service
|
| dateFrom | Date | Нет |
Дата начала отчета
|
| dateTo | Date | Нет |
Дата окончания отчета
|
| setDiscount | boolean | Нет |
Параметр setDiscount
|
| cancelDiscount | boolean | Нет |
Параметр cancelDiscount
|
| strategyUuid | string | Нет |
Параметр strategyUuid
|
| services | Array of string | Нет |
Параметр services
|
| isDeleted | boolean | Нет |
Параметр isDeleted
|
| promotionIds | integer | Нет |
Параметр promotionIds
|
| strategyType | "NONE""SET_DISCOUNT_BY_PERIOD""PROMOTION""SET_PRICE_WITH_SPP" | Нет |
Параметр strategyType
|
| productIds | integer | Нет |
Параметр productIds
|
| productServiceIds | integer | Нет |
Параметр productServiceIds
|
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
Тип ответа:
RepricerProduct
Элементы массива
| Поле | Тип | Описание | |
|---|---|---|---|
| strategyUuid | string | Нет | Идентификатор стратегии |
| id | integer | Нет | Идентификатор товара в селсап. Используется в первичном ключе |
| viewId | integer | Нет | Идентификатор цвета в селсап. |
| modelId | integer | Нет | Идентификатор модели в селсап. |
| clientId | integer | Нет | Идентификатор клиента. Используется в первичном ключе |
| organizationId | integer | Нет | Идентификатор организации. Используется в первичном ключе |
| productName | string | Нет | Наименование товара внутренее. |
| minPrice | number | Нет | Минимальная цена товара. Ниже этой цены нельзя выставлять цену на товар. |
| wildberriesId | integer | Нет | Идентификатор товара в Wildberries |
| wildberriesSale | number | Нет | Процент скидки в Wildberries |
| wildberriesPriceWithoutDiscount | number | Нет | Текущая цена товара на Вайлдбериз без скидки |
| wildberriesPrice | number | Нет | Текущая цена товара на Вайлдбериз со скидкой |
| wildberriesUpdatedPriceWithoutDiscount | number | Нет | Новая цена товара на Вайлдбериз без скидки.Только для методов изменения цены |
| wildberriesUpdatedPrice | number | Нет | Новая цена товара на Вайлдбериз со скидкой. |
| wildberriesPromoProfit | number | Нет | Расчетный профит по акциям WB нужен для определения какая акция выгодная |
| wildberriesMarginality | number | Нет | Расчетная маржинальность по WB |
| newWildberriesPriceWithDiscount | number | Нет | Новая цена ВБ со скидкой по акции |
| newWildberriesDiscountPercent | number | Нет | Новый процент скидки по акции ВБ |
| wildberriesSaleLogistic | number | Нет | Логистика WB, руб. |
| wildberriesReturnLogistic | number | Нет | Обратная логистика WB, руб. |
✗ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get('https://api.selsup.ru/api/repricer/getProducts',
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
clientId?: number;
organizationId?: number;
limit?: number;
page?: number;
service?: string;
dateFrom?: string;
dateTo?: string;
setDiscount?: string;
cancelDiscount?: string;
strategyUuid?: string;
services?: string;
isDeleted?: string;
promotionIds?: string;
strategyType?: string;
productIds?: string;
productServiceIds?: string;
}
const params: QueryParams = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get<any>('https://api.selsup.ru/api/repricer/getProducts',
{
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 = {
'clientId': '123',
'organizationId': 'АО "Торговый дом"',
'limit': '100',
'page': '1',
'service': 'NONE',
'dateFrom': '2024-01-15T10:30:00Z',
'dateTo': '2024-01-15T10:30:00Z',
'setDiscount': '10',
'cancelDiscount': '10',
'strategyUuid': 'Пример strategyUuid',
'services': '',
'isDeleted': 'false',
'promotionIds': '',
'strategyType': 'standard',
'productIds': '',
'productServiceIds': '',
}
response = requests.get(
'https://api.selsup.ru/api/repricer/getProducts',
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/repricer/getProducts?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds=", 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/repricer/getProducts?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds="))
.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 = [
'clientId' => '123',
'organizationId' => 'АО "Торговый дом"',
'limit' => '100',
'page' => '1',
'service' => 'NONE',
'dateFrom' => '2024-01-15T10:30:00Z',
'dateTo' => '2024-01-15T10:30:00Z',
'setDiscount' => '10',
'cancelDiscount' => '10',
'strategyUuid' => 'Пример strategyUuid',
'services' => '',
'isDeleted' => 'false',
'promotionIds' => '',
'strategyType' => 'standard',
'productIds' => '',
'productServiceIds' => '',
];
$url = 'https://api.selsup.ru/api/repricer/getProducts?' . 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/repricer/getProducts?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=value&promotionIds=&strategyType=standard&productIds=&productServiceIds=' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Список товаров стратегии
Метод получает список продуктов по стратегии
GET
/api/repricer/getProductInStrategy
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| strategyUuid | string | Да |
Параметр strategyUuid
|
| limit | integer | Нет |
Максимальное количество записей
|
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
Тип ответа:
ProductForExport
Элементы массива
| Поле | Тип | Описание | |
|---|---|---|---|
| id | integer | Нет | Идентификатор товара. Проставляется автоматически |
| productType | string | Нет | Тип товара |
| name | string | Нет | Наименование товара внутреннее |
| deleted | boolean | Нет | Признак удаления товара |
| printName | string | Нет | Название товара для внешних сервисов. Если не задано, проставляется равным наименованию товара |
| realSize | string | Нет | Российский размер товара для одежды или характеристики для других категорий |
| vendorSize | string | Нет | Размер производителя или характеристики производителя. Не обязательно заполнять |
| size | string | Нет | Размер для одежды или характеристики для внешних сервисов. Должен быть уникальным в рамках цвета |
| wildberriesImtId | integer | Нет | Используется для категорий, у которых не предусмотрен размер |
| wildberriesStockCount | integer | Нет | Остатки товара на Вайлдбериз |
| ozonId | integer | Нет | Идентификатор товара Озон на сайте. SKU в озон |
| ozonRealFbs | boolean | Нет | Признак использования RealFbs для товара |
| ozonProductId | integer | Нет | Идентификатор товара Озон в кабинете API |
| wildberriesSizeId | integer | Нет | Идентификатор размера на Вайлдбериз |
| simalandId | integer | Нет | Уникальный идентификатор товара для Simaland |
| ozonArticle | string | Нет | Уникальный артикул товара для озон. Offer ID в озон |
| externalArticle | string | Нет | Уникальный артикул товара для стороннего сервиса |
| ozonStockCount | integer | Нет | Остаток товара на складах Озон |
| ozonStockBetweenWarehouses | integer | Нет | Остаток товара в Озон, которые перемещаются между складами |
| removeFbsStock | boolean | Нет | Не выгружать остатки товара на маркетплейсы |
✗ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
strategyUuid: 'Пример strategyUuid',
limit: '100',
};
const response = await axios.get('https://api.selsup.ru/api/repricer/getProductInStrategy',
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
strategyUuid?: string;
limit?: number;
}
const params: QueryParams = {
strategyUuid: 'Пример strategyUuid',
limit: '100',
};
const response = await axios.get<any>('https://api.selsup.ru/api/repricer/getProductInStrategy',
{
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 = {
'strategyUuid': 'Пример strategyUuid',
'limit': '100',
}
response = requests.get(
'https://api.selsup.ru/api/repricer/getProductInStrategy',
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/repricer/getProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&limit=100", 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/repricer/getProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&limit=100"))
.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 = [
'strategyUuid' => 'Пример strategyUuid',
'limit' => '100',
];
$url = 'https://api.selsup.ru/api/repricer/getProductInStrategy?' . 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/repricer/getProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&limit=100' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Экспорт цен озона в репрайсер
Метод получает список цен из озоан и передает их в репрайсер
GET
/api/repricer/getOzonPrices
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| clientId | integer | Нет |
Идентификатор клиента
|
| organizationId | integer | Нет |
Параметр organizationId
|
| limit | integer | Нет |
Максимальное количество записей
|
| page | integer | Нет |
Номер страницы
|
| service | "NONE""WILDBERRIES""OZON""YANDEX_MARKET""FAMILIYA""NATIONAL_CATALOG""ALIEXPRESS""OTHER""MOY_SKLAD""SBER_MEGA_MARKET""CISLINK""ONE_C""AVITO""LEROY_MERLIN""DETMIR""KAZAN_EXPRESS""EVOTOR""WEBASYST""AMAZON""EBAY""SIMALAND""INSALES""LAMODA""OZON_PERFORMANCE""WALMART""GOOGLE""YANDEX_DISC""EMAIL" | Нет |
Параметр service
|
| dateFrom | Date | Нет |
Дата начала отчета
|
| dateTo | Date | Нет |
Дата окончания отчета
|
| setDiscount | boolean | Нет |
Параметр setDiscount
|
| cancelDiscount | boolean | Нет |
Параметр cancelDiscount
|
| strategyUuid | string | Нет |
Параметр strategyUuid
|
| services | Array of string | Нет |
Параметр services
|
| isDeleted | boolean | Нет |
Параметр isDeleted
|
| promotionIds | integer | Нет |
Параметр promotionIds
|
| strategyType | "NONE""SET_DISCOUNT_BY_PERIOD""PROMOTION""SET_PRICE_WITH_SPP" | Нет |
Параметр strategyType
|
| productIds | integer | Нет |
Параметр productIds
|
| productServiceIds | integer | Нет |
Параметр productServiceIds
|
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
| Поле | Тип | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| items > | Array of object | Список товаров. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура object
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| total > | integer | Количество товаров в списке. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cursor > | string | Указатель для выборки следующих данных. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| code > | integer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| message > | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| details > | Array of ErrorDetails | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура ErrorDetails
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
✗ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get('https://api.selsup.ru/api/repricer/getOzonPrices',
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
clientId?: number;
organizationId?: number;
limit?: number;
page?: number;
service?: string;
dateFrom?: string;
dateTo?: string;
setDiscount?: string;
cancelDiscount?: string;
strategyUuid?: string;
services?: string;
isDeleted?: string;
promotionIds?: string;
strategyType?: string;
productIds?: string;
productServiceIds?: string;
}
const params: QueryParams = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get<any>('https://api.selsup.ru/api/repricer/getOzonPrices',
{
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 = {
'clientId': '123',
'organizationId': 'АО "Торговый дом"',
'limit': '100',
'page': '1',
'service': 'NONE',
'dateFrom': '2024-01-15T10:30:00Z',
'dateTo': '2024-01-15T10:30:00Z',
'setDiscount': '10',
'cancelDiscount': '10',
'strategyUuid': 'Пример strategyUuid',
'services': '',
'isDeleted': 'false',
'promotionIds': '',
'strategyType': 'standard',
'productIds': '',
'productServiceIds': '',
}
response = requests.get(
'https://api.selsup.ru/api/repricer/getOzonPrices',
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/repricer/getOzonPrices?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds=", 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/repricer/getOzonPrices?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds="))
.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 = [
'clientId' => '123',
'organizationId' => 'АО "Торговый дом"',
'limit' => '100',
'page' => '1',
'service' => 'NONE',
'dateFrom' => '2024-01-15T10:30:00Z',
'dateTo' => '2024-01-15T10:30:00Z',
'setDiscount' => '10',
'cancelDiscount' => '10',
'strategyUuid' => 'Пример strategyUuid',
'services' => '',
'isDeleted' => 'false',
'promotionIds' => '',
'strategyType' => 'standard',
'productIds' => '',
'productServiceIds' => '',
];
$url = 'https://api.selsup.ru/api/repricer/getOzonPrices?' . 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/repricer/getOzonPrices?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=value&promotionIds=&strategyType=standard&productIds=&productServiceIds=' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Список акций
Метод возвращает все акции
GET
/api/repricer/getAllNotExpiredPromotion
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
Тип ответа:
Promotion
Акция стратегии
Элементы массива
| Поле | Тип | Описание | |
|---|---|---|---|
| clientId | integer | Нет | |
| promotionId | integer | Нет | Идентификатор акции |
| id | integer | Нет | Порядковый номер в списке запроса |
| totalCount | integer | Нет | Общее кол-во акций |
| name | string | Нет | Название акции |
| dateStart | string | Нет | Дата и время начало |
| dateEnd | string | Нет | Дата и время окончания |
| changeCommission | boolean | Нет | Меняется ли комиссия или нет |
| changeCommissionAmount | number | Нет | На какой процент сокращается комиссия |
| createdDate | string | Нет | Дата создания |
| service | string | Нет | Маркетплейс акции |
| isDeleted | boolean | Нет | Идентификатор удаления |
| description | string | Нет | Описание акции |
| promotionIdOnMp | integer | Нет | Идентификатор акции на МП |
| candidateCount | integer | Нет | Кол-во кандидатов в акцию |
| inPromotionCount | 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const response = await axios.get('https://api.selsup.ru/api/repricer/getAllNotExpiredPromotion',
{
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/repricer/getAllNotExpiredPromotion',
{
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/repricer/getAllNotExpiredPromotion',
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/repricer/getAllNotExpiredPromotion", 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/repricer/getAllNotExpiredPromotion"))
.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/repricer/getAllNotExpiredPromotion',
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/repricer/getAllNotExpiredPromotion' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Получить find
Метод возвращает все стратегии
GET
/api/repricer/find
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| clientId | integer | Нет |
Идентификатор клиента
|
| organizationId | integer | Нет |
Параметр organizationId
|
| limit | integer | Нет |
Максимальное количество записей
|
| page | integer | Нет |
Номер страницы
|
| service | "NONE""WILDBERRIES""OZON""YANDEX_MARKET""FAMILIYA""NATIONAL_CATALOG""ALIEXPRESS""OTHER""MOY_SKLAD""SBER_MEGA_MARKET""CISLINK""ONE_C""AVITO""LEROY_MERLIN""DETMIR""KAZAN_EXPRESS""EVOTOR""WEBASYST""AMAZON""EBAY""SIMALAND""INSALES""LAMODA""OZON_PERFORMANCE""WALMART""GOOGLE""YANDEX_DISC""EMAIL" | Нет |
Параметр service
|
| dateFrom | Date | Нет |
Дата начала отчета
|
| dateTo | Date | Нет |
Дата окончания отчета
|
| setDiscount | boolean | Нет |
Параметр setDiscount
|
| cancelDiscount | boolean | Нет |
Параметр cancelDiscount
|
| strategyUuid | string | Нет |
Параметр strategyUuid
|
| services | Array of string | Нет |
Параметр services
|
| isDeleted | boolean | Нет |
Параметр isDeleted
|
| promotionIds | integer | Нет |
Параметр promotionIds
|
| strategyType | "NONE""SET_DISCOUNT_BY_PERIOD""PROMOTION""SET_PRICE_WITH_SPP" | Нет |
Параметр strategyType
|
| productIds | integer | Нет |
Параметр productIds
|
| productServiceIds | integer | Нет |
Параметр productServiceIds
|
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
Тип ответа:
RepriceStrategy
Стратегия репрайсера
Элементы массива
| Поле | Тип | Описание | |
|---|---|---|---|
| id | integer | Нет | Идентификатор стратегии по обновлению цен в списке |
| strategyUuid | string | Нет | Идентификатор стратегии по обновлению цен |
| hostId | integer | Нет | Идентификатор с какого хоста данный продукт |
| clientId | integer | Нет | Идентификатор клиента. |
| organizationId | integer | Нет | Идентификатор организации. |
| dateStart | string | Нет | Дата и время начало |
| dateEnd | string | Нет | Дата и время окончания |
| strategyPeriod | string | Нет | Период обновления цены |
| strategyType | string | Нет | Тип выбранной стратегии по обновлению цены |
| isActive | boolean | Нет | Показатель уже активирована стратегия или нет |
| createdDate | string | Нет | Дата создания стратегии |
| discountPercent | number | Нет | Процент скидки для настройки |
| botToken | string | Нет | Токен для обратной связи |
| products | Array of RepricerProduct | Нет | Список товаров по которым проводить |
| isDeleted | boolean | Нет | Пометка на удаление стратегии |
| promotionId | integer | Нет | Идентификатор акции |
| timeZone | integer | Нет | Тайм зона |
| service | string | Нет | Сервис |
| promotion | Promotion | Нет | Акция стратегии |
✗ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get('https://api.selsup.ru/api/repricer/find',
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
clientId?: number;
organizationId?: number;
limit?: number;
page?: number;
service?: string;
dateFrom?: string;
dateTo?: string;
setDiscount?: string;
cancelDiscount?: string;
strategyUuid?: string;
services?: string;
isDeleted?: string;
promotionIds?: string;
strategyType?: string;
productIds?: string;
productServiceIds?: string;
}
const params: QueryParams = {
clientId: '123',
organizationId: 'АО "Торговый дом"',
limit: '100',
page: '1',
service: 'NONE',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
setDiscount: '10',
cancelDiscount: '10',
strategyUuid: 'Пример strategyUuid',
services: '',
isDeleted: 'false',
promotionIds: '',
strategyType: 'standard',
productIds: '',
productServiceIds: '',
};
const response = await axios.get<any>('https://api.selsup.ru/api/repricer/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 = {
'clientId': '123',
'organizationId': 'АО "Торговый дом"',
'limit': '100',
'page': '1',
'service': 'NONE',
'dateFrom': '2024-01-15T10:30:00Z',
'dateTo': '2024-01-15T10:30:00Z',
'setDiscount': '10',
'cancelDiscount': '10',
'strategyUuid': 'Пример strategyUuid',
'services': '',
'isDeleted': 'false',
'promotionIds': '',
'strategyType': 'standard',
'productIds': '',
'productServiceIds': '',
}
response = requests.get(
'https://api.selsup.ru/api/repricer/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/repricer/find?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds=", 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/repricer/find?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=false&promotionIds=&strategyType=standard&productIds=&productServiceIds="))
.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 = [
'clientId' => '123',
'organizationId' => 'АО "Торговый дом"',
'limit' => '100',
'page' => '1',
'service' => 'NONE',
'dateFrom' => '2024-01-15T10:30:00Z',
'dateTo' => '2024-01-15T10:30:00Z',
'setDiscount' => '10',
'cancelDiscount' => '10',
'strategyUuid' => 'Пример strategyUuid',
'services' => '',
'isDeleted' => 'false',
'promotionIds' => '',
'strategyType' => 'standard',
'productIds' => '',
'productServiceIds' => '',
];
$url = 'https://api.selsup.ru/api/repricer/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/repricer/find?clientId=123&organizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&limit=100&page=1&service=NONE&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&setDiscount=10&cancelDiscount=10&strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid&services=&isDeleted=value&promotionIds=&strategyType=standard&productIds=&productServiceIds=' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Скачать файл с настройками товаров
Метод ставит задачу на скачивает файла с настройками по товару
GET
/api/repricer/addDownloadProductRepriceConfig
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| clientOrganizationId | integer | Нет |
Параметр clientOrganizationId
|
| query | string | Нет |
Поисковый запрос. Может содержать штрих-код, часть названия товара, внешние идентификаторы товаров Wildberries или Ozon
|
| article | string | Нет |
Поиск по названию артикула товара
|
| color | string | Нет |
Поиск по названию цвета товара
|
| viewId | integer | Нет |
Поиск по идентификатору цвета
|
| skuViewId | integer | Нет |
Поиск по SKU идентификатору цвета
|
| modelId | integer | Нет |
Поиск по идентификатору модели
|
| onlyUnpurchased | boolean | Нет |
Непродающиеся товары?
|
| onlyUnprofitable | boolean | Нет |
Товары с отрицательной чистой прибылью?
|
| groupId | integer | Нет |
Фильтр по ID групповой карточки
|
| groupIds | integer | Нет |
Фильтр по ID групповых карточек. groupIds=1&groupIds=2
|
| onlyLowMargin | boolean | Нет |
Товары с низкой маржинальностью?
|
| onlyNegativeMargin | boolean | Нет |
Товары с отрицательной маржинальностью?
|
| onlyLowPurchasePercent | boolean | Нет |
Товары с низким процентом выкупа?
|
| needToBuy | boolean | Нет |
Товары, которые нужно показать в списке для заказа?
|
| planDays | integer | Нет |
Количество дней на которые планировать закупки. По умолчанию 30
|
| organizations | integer | Нет |
Фильтр по ID организаций. Передается несколько значений organizations=1.organizations=2
|
| needUpdatePrice | boolean | Нет |
Фильтр по необходимости обновить цену на Wildberries?
|
| testCard | boolean | Нет |
Тестовая карточки для создания?
|
| hasImages | boolean | Нет |
Наличие или отсутствие картинок у товара?
|
| isDuplicate | boolean | Нет |
Карточка является дубликатом?
|
| hasWildberriesId | integer | Нет |
Наличие карточки товара в Wildberries?
|
| hasSupplyingQuantity | boolean | Нет |
Наличие поставляемого количества по модели FBM?
|
| noWbImages | boolean | Нет |
Наличие фото на Wildberries?
|
| noOzonImages | boolean | Нет |
Наличие фото на Ozon?
|
| noYMImages | boolean | Нет |
Наличие фото на Яндекс.Маркет?
|
| deleted | boolean | Нет |
Показать помеченные удаленными товары?
|
| hasGroup | boolean | Нет |
Наличие групповой карточки у товара?
|
| modelDeleted | boolean | Нет |
Показать помеченные удаленными модели?
|
| viewDeleted | boolean | Нет |
Показать помеченные удаленными цвета?
|
| inStock | boolean | Нет |
Наличие остатков товаров на маркетплейсе или складе?
|
| noStock | boolean | Нет |
Отсутствие остатков товаров на маркетплейсе и складе?
|
| inFbsStock | boolean | Нет |
Наличие остатков на складах в SelSup?
|
| noFbsStock | boolean | Нет |
Отсутствие остатков на складах в SelSup?
|
| inFboStock | boolean | Нет |
Наличие остатков на складах FBO?
|
| noFboStock | boolean | Нет |
Отсутствие остатков на складах FBO?
|
| hasStockInWarehouse | integer | Нет |
ID склада на котором есть остатки в SelSup
|
| noStockInWarehouse | integer | Нет |
ID склада на котором нет остатков в SelSup
|
| grouped | boolean | Нет |
Группировать товары по цветам?
|
| uniqView | boolean | Нет |
Отдавать только товары с уникальными цвета?
|
| uniqViewSku | boolean | Нет |
Отдавать только товары с уникальными цвета без дубликатов по остаткам?
|
| uniqModel | boolean | Нет |
Отдавать только товары с уникальными моделями?
|
| uniqSku | boolean | Нет |
Отдавать только товары с уникальными SKU?
|
| contractors | integer | Нет |
Фильтр по ID поставщикам товара. Передается несколько параметров contractors=1&contractors=2
|
| categories | integer | Нет |
Фильтр по ID категориям товара.Передается несколько параметров categories=1&categories=2
|
| brands | integer | Нет |
Фильтр по ID брендам товара
|
| stockRefreshDate | Date | Нет |
Параметр stockRefreshDate
|
| wildberriesRating | Array of integer | Нет |
Фильтр товаров по рейтингу отзывов Вайлдбериз
|
| wildberriesCardDoesNotOpen | boolean | Нет |
Фильтр товаров для не открывается карточка в Вайлдбериз: значит не создана карточка, либо не загружены картинки и пр?
|
| productId | integer | Нет |
Идентификатор товара
|
| productIds | integer | Нет |
Фильтр по ID товаров. Можно передавать несколько значений productIds=1&productIds=2
|
| sourceOrganizationIds | integer | Нет |
Фильтр товаров, которые были импортрованы в другие организации
|
| needImportWildberriesCard | boolean | Нет |
Фильтр товаров для которых нужно обновить карточку в Вайлдбериз?
|
| needImportOzonCard | boolean | Нет |
Фильтр товаров для которых нужно обновить карточку в Ozon?
|
| needImportAliexpressCard | boolean | Нет |
Фильтр товаров для которых нужно обновить карточку в Aliexpress?
|
| needUpdateFromSimaland | boolean | Нет |
Фильтр товаров для которых нужно обновить стоки и цены в Simaland?
|
| favourite | boolean | Нет |
Фильтр по избранным товарам, которые клиент пометил избранными?
|
| status | "CREATED""IN_STOCK""LOST""RESERVED""SUPPLIED""REMOVED""SALE""REFUND""INCOME_MARKETPLACE" | Нет |
Фильтр по статусу для WmsItem
|
| actual | boolean | Нет |
Фильтр по показателю актуальности?
|
| skuId | integer | Нет |
Фильтр по skuId
|
| skuIds | integer | Нет |
Фильтр по skuIds
|
| lastInventoryId | integer | Нет |
Фильтр по ID инвентаризации для WmsItem
|
| cellId | integer | Нет |
Фильтр по ID ячейке для WmsItem
|
| itemId | integer | Нет |
Фильтр ID уникальному коду для WmsItem
|
| warehouseId | integer | Нет |
Фильтр ID складу для WmsItem
|
| avitoCategoryId | integer | Нет |
ID категории Авито
|
| hasAvitoCategory | boolean | Нет |
Параметр hasAvitoCategory
|
| services | Array of string | Нет |
Список сервисов в которых не создана карточка. Например, services=WILDBERRIES&services=OZON
|
| createdIn | Array of string | Нет |
Список сервисов в которых создана карточка. Например, createdIn=WILDBERRIES&createdIn=OZON
|
| duplicate | boolean | Нет |
Является ли карточка дубликатом?
|
| orderService | "NONE""WILDBERRIES""OZON""YANDEX_MARKET""FAMILIYA""NATIONAL_CATALOG""ALIEXPRESS""OTHER""MOY_SKLAD""SBER_MEGA_MARKET""CISLINK""ONE_C""AVITO""LEROY_MERLIN""DETMIR""KAZAN_EXPRESS""EVOTOR""WEBASYST""AMAZON""EBAY""SIMALAND""INSALES""LAMODA""OZON_PERFORMANCE""WALMART""GOOGLE""YANDEX_DISC""EMAIL" | Нет |
Позволяет отфильтровать по маркетплейсу заказа, в закупках из заказов
|
| productType | "PRODUCT""SET""SERVICE""DIGITAL" | Нет |
Фильтр по типу товара, type=PRODUCT или type=SET
|
| withCategoryAndBrand | boolean | Нет |
Признак, что грузим категорию и бренд?
|
| allServices | boolean | Нет |
Признак, что грузить данные по всем сервисам?
|
| inWarehouseRegions | Array of string | Нет |
Подгружать ФБО остатки/продажи со складов входящих в список регионов
|
| inWarehouses | Array of integer | Нет |
Подгружать ФБО остатки/продажи со складов входящих в список
|
| incomeOrderId | integer | Нет |
Фильтр товаров по ID заказа
|
| incomeId | integer | Нет |
Фильтр товаров по ID заказа поставщика
|
| itemIncomeOrderId | integer | Нет |
Фильтр остатков из приемки
|
| dateFrom | Date | Нет |
Дата начала
|
| dateTo | Date | Нет |
Дата окончания
|
| plannedSupplyDate | Date | Нет |
Планируемая дата поставки
|
| timeZone | integer | Нет |
Часовой пояс клиента по UTC
|
| ids | integer | Нет |
Фильтр по ID товаров. Можно передавать несколько значений ids=1&ids=2
|
| skipDayWithoutStocks | boolean | Нет |
Пропускать дни без остатков?
|
| countByOrders | boolean | Нет |
Делать расчет по заказам, если true, и по заказам, если false?
|
| requierPlan | number | Нет |
Фильтр по Рекомендации к поставке
|
| forPrices | boolean | Нет |
Отдавать в ответе данные для таблицы цен?
|
| deliveryDate | Date | Нет |
Фильтр по дате доставки заказа
|
| onlyEmptyParchasePrice | boolean | Нет |
Выгружать товары только с пустыми закупочными ценами?
|
| onlyEmptyDeliveryCostPrice | boolean | Нет |
Выгружать товары только с пустыми дополнительными расходами?
|
| forFboSupplyPlan | boolean | Нет |
Показывает для чего идет расчет планирования для фбо или поставок?
|
| ignoreParams | boolean | Нет |
Признак для выгрузки карточек без параметров?
|
| ungroupWarehouses | boolean | Нет |
Если true - не группировать по складам, то есть вывести список продуктов отдельный для каждого склада. Используется в планировании поставок
|
| replaceSetsByComponents | boolean | Нет |
Признак раскрывать ли комплекты?
|
| notGroupComponents | boolean | Нет |
Признак не группировать компоненты?
|
| modelArticle | string | Нет |
Фильтр по артикулу модели
|
| ozonArticle | string | Нет |
Фильтр по артикулу Ozon
|
| yandexMarketShopSku | string | Нет |
Фильтр по артикулу Яндекс.Маркет
|
| sberArticle | string | Нет |
Параметр sberArticle
|
| wbArticle | string | Нет |
Параметр wbArticle
|
| barcode | string | Нет |
Фильтр по штрих-коду
|
| name | string | Нет |
Фильтр по названию товара
|
| tagIds | integer | Нет |
Фильтр по ID тегов. Только товары, привязанные к этим тегам
|
| limit | integer | Нет |
Ограничение на количество записей. Максимальное значение - 500
|
| page | integer | Нет |
Номер страницы начиная с 1
|
| count | boolean | Нет |
Возвратить в ответе общее количество записей
|
| sortBy | string | Нет |
Поле сортировки записей. Работает только при получении списка.
|
| ascending | boolean | Нет |
Порядок сортировки - по возрастанию?. Работает только при получении списка.
|
Тело ответа
✓ 200
OK
▶
Content-Type:
application/json
| Поле | Тип | Описание |
|---|---|---|
| id > | integer | Идентификатор задачи |
| status > | string | Текущий статус задачи |
| type > | string | Тип задачи |
| name > | string | Данные задачи в json - могут быть пустыми |
| clientId > | integer | |
| entityId > | integer | Сущность, к которой относится задача |
| progress > | integer | Прогресс выполнения задачи в процентах |
| processedQuantity > | integer | Количество обработанных записей задачи |
| organizationId > | integer | Организация задачи, может быть 0, если не зависит от организации |
| priority > | integer | Приоритет задачи - чем выше тем быстрее задача запустится |
| properties > | string | Параметры задачи |
| message > | string | Сообщение с результатом выполнения задачи |
| messageParams > | string | Параметры сообщения с результатом выполнения задачи |
| createdDate > | string | Дата добавления задачи в очередь |
| startDate > | string | Дата запуска задачи |
| finishDate > | string | Дата завершения задачи |
| url > | string | Ссылка на скачивание файла с результатом задачи |
| inputFileUrl > | string | Ссылка на загруженный файл |
| retryNumber > | integer | Счётчик перезапуска задачи. |
| userId > | integer | Пользователь запустивший задачу |
| retryDate > | string | Запланированная дата перезапуска |
| debug > | boolean | Запуск задачи в режиме отладки с большим логированием |
| forcedStart > | boolean | Ручной запуск задачи |
| service > | string | Сервис |
| lang > | 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
clientOrganizationId: 'АО "Торговый дом"',
query: 'Пример query',
article: 'ART-001',
color: 'Пример color',
viewId: '123',
skuViewId: 'SKU-12345',
modelId: '123',
onlyUnpurchased: 'true',
onlyUnprofitable: 'true',
groupId: '123',
groupIds: '',
onlyLowMargin: 'true',
onlyNegativeMargin: 'true',
onlyLowPurchasePercent: 'true',
needToBuy: 'true',
planDays: '15',
organizations: 'АО "Торговый дом"',
needUpdatePrice: '1999.99',
testCard: 'true',
hasImages: 'https://example.com/image.jpg',
isDuplicate: 'true',
hasWildberriesId: 'true',
hasSupplyingQuantity: 'true',
noWbImages: 'https://example.com/image.jpg',
noOzonImages: 'https://example.com/image.jpg',
noYMImages: 'https://example.com/image.jpg',
deleted: 'false',
hasGroup: 'true',
modelDeleted: 'false',
viewDeleted: 'false',
inStock: 'true',
noStock: 'true',
inFbsStock: 'true',
noFbsStock: 'true',
inFboStock: 'true',
noFboStock: 'true',
hasStockInWarehouse: '1',
noStockInWarehouse: '1',
grouped: 'true',
uniqView: 'true',
uniqViewSku: 'SKU-12345',
uniqModel: 'true',
uniqSku: 'SKU-12345',
contractors: '',
categories: '',
brands: '',
stockRefreshDate: '2024-01-15T10:30:00Z',
wildberriesRating: '',
wildberriesCardDoesNotOpen: 'true',
productId: '123',
productIds: '',
sourceOrganizationIds: 'АО "Торговый дом"',
needImportWildberriesCard: 'true',
needImportOzonCard: 'true',
needImportAliexpressCard: 'true',
needUpdateFromSimaland: 'true',
favourite: 'true',
status: 'active',
actual: 'true',
skuId: 'SKU-12345',
skuIds: 'SKU-12345',
lastInventoryId: '123',
cellId: '123',
itemId: '123',
warehouseId: '123',
avitoCategoryId: '123',
hasAvitoCategory: 'true',
services: '',
createdIn: '',
duplicate: 'true',
orderService: 'NONE',
productType: 'standard',
withCategoryAndBrand: 'true',
allServices: 'true',
inWarehouseRegions: 'Московская область',
inWarehouses: '',
incomeOrderId: '123',
incomeId: '123',
itemIncomeOrderId: '123',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
plannedSupplyDate: '2024-01-15T10:30:00Z',
timeZone: '1',
ids: '',
skipDayWithoutStocks: 'true',
countByOrders: 'true',
requierPlan: '1',
forPrices: '1999.99',
deliveryDate: 'Пример deliveryDate',
onlyEmptyParchasePrice: '1999.99',
onlyEmptyDeliveryCostPrice: '1999.99',
forFboSupplyPlan: 'true',
ignoreParams: 'true',
ungroupWarehouses: 'true',
replaceSetsByComponents: 'true',
notGroupComponents: 'true',
modelArticle: 'ART-001',
ozonArticle: 'ART-001',
yandexMarketShopSku: 'SKU-12345',
sberArticle: 'ART-001',
wbArticle: 'ART-001',
barcode: '4600123456789',
name: 'Иван',
tagIds: '',
limit: '100',
page: '1',
count: 'Россия',
sortBy: 'Пример sortBy',
ascending: 'true',
};
const response = await axios.get('https://api.selsup.ru/api/repricer/addDownloadProductRepriceConfig',
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
clientOrganizationId?: number;
query?: string;
article?: string;
color?: string;
viewId?: number;
skuViewId?: number;
modelId?: number;
onlyUnpurchased?: string;
onlyUnprofitable?: string;
groupId?: number;
groupIds?: string;
onlyLowMargin?: string;
onlyNegativeMargin?: string;
onlyLowPurchasePercent?: string;
needToBuy?: string;
planDays?: number;
organizations?: string;
needUpdatePrice?: string;
testCard?: string;
hasImages?: string;
isDuplicate?: string;
hasWildberriesId?: string;
hasSupplyingQuantity?: string;
noWbImages?: string;
noOzonImages?: string;
noYMImages?: string;
deleted?: string;
hasGroup?: string;
modelDeleted?: string;
viewDeleted?: string;
inStock?: string;
noStock?: string;
inFbsStock?: string;
noFbsStock?: string;
inFboStock?: string;
noFboStock?: string;
hasStockInWarehouse?: number;
noStockInWarehouse?: number;
grouped?: string;
uniqView?: string;
uniqViewSku?: string;
uniqModel?: string;
uniqSku?: string;
contractors?: string;
categories?: string;
brands?: string;
stockRefreshDate?: string;
wildberriesRating?: string;
wildberriesCardDoesNotOpen?: string;
productId?: number;
productIds?: string;
sourceOrganizationIds?: string;
needImportWildberriesCard?: string;
needImportOzonCard?: string;
needImportAliexpressCard?: string;
needUpdateFromSimaland?: string;
favourite?: string;
status?: string;
actual?: string;
skuId?: number;
skuIds?: string;
lastInventoryId?: number;
cellId?: number;
itemId?: number;
warehouseId?: number;
avitoCategoryId?: number;
hasAvitoCategory?: string;
services?: string;
createdIn?: string;
duplicate?: string;
orderService?: string;
productType?: string;
withCategoryAndBrand?: string;
allServices?: string;
inWarehouseRegions?: string;
inWarehouses?: string;
incomeOrderId?: number;
incomeId?: number;
itemIncomeOrderId?: number;
dateFrom?: string;
dateTo?: string;
plannedSupplyDate?: string;
timeZone?: number;
ids?: string;
skipDayWithoutStocks?: string;
countByOrders?: string;
requierPlan?: number;
forPrices?: string;
deliveryDate?: string;
onlyEmptyParchasePrice?: string;
onlyEmptyDeliveryCostPrice?: string;
forFboSupplyPlan?: string;
ignoreParams?: string;
ungroupWarehouses?: string;
replaceSetsByComponents?: string;
notGroupComponents?: string;
modelArticle?: string;
ozonArticle?: string;
yandexMarketShopSku?: string;
sberArticle?: string;
wbArticle?: string;
barcode?: string;
name?: string;
tagIds?: string;
limit?: number;
page?: number;
count?: string;
sortBy?: string;
ascending?: string;
}
const params: QueryParams = {
clientOrganizationId: 'АО "Торговый дом"',
query: 'Пример query',
article: 'ART-001',
color: 'Пример color',
viewId: '123',
skuViewId: 'SKU-12345',
modelId: '123',
onlyUnpurchased: 'true',
onlyUnprofitable: 'true',
groupId: '123',
groupIds: '',
onlyLowMargin: 'true',
onlyNegativeMargin: 'true',
onlyLowPurchasePercent: 'true',
needToBuy: 'true',
planDays: '15',
organizations: 'АО "Торговый дом"',
needUpdatePrice: '1999.99',
testCard: 'true',
hasImages: 'https://example.com/image.jpg',
isDuplicate: 'true',
hasWildberriesId: 'true',
hasSupplyingQuantity: 'true',
noWbImages: 'https://example.com/image.jpg',
noOzonImages: 'https://example.com/image.jpg',
noYMImages: 'https://example.com/image.jpg',
deleted: 'false',
hasGroup: 'true',
modelDeleted: 'false',
viewDeleted: 'false',
inStock: 'true',
noStock: 'true',
inFbsStock: 'true',
noFbsStock: 'true',
inFboStock: 'true',
noFboStock: 'true',
hasStockInWarehouse: '1',
noStockInWarehouse: '1',
grouped: 'true',
uniqView: 'true',
uniqViewSku: 'SKU-12345',
uniqModel: 'true',
uniqSku: 'SKU-12345',
contractors: '',
categories: '',
brands: '',
stockRefreshDate: '2024-01-15T10:30:00Z',
wildberriesRating: '',
wildberriesCardDoesNotOpen: 'true',
productId: '123',
productIds: '',
sourceOrganizationIds: 'АО "Торговый дом"',
needImportWildberriesCard: 'true',
needImportOzonCard: 'true',
needImportAliexpressCard: 'true',
needUpdateFromSimaland: 'true',
favourite: 'true',
status: 'active',
actual: 'true',
skuId: 'SKU-12345',
skuIds: 'SKU-12345',
lastInventoryId: '123',
cellId: '123',
itemId: '123',
warehouseId: '123',
avitoCategoryId: '123',
hasAvitoCategory: 'true',
services: '',
createdIn: '',
duplicate: 'true',
orderService: 'NONE',
productType: 'standard',
withCategoryAndBrand: 'true',
allServices: 'true',
inWarehouseRegions: 'Московская область',
inWarehouses: '',
incomeOrderId: '123',
incomeId: '123',
itemIncomeOrderId: '123',
dateFrom: '2024-01-15T10:30:00Z',
dateTo: '2024-01-15T10:30:00Z',
plannedSupplyDate: '2024-01-15T10:30:00Z',
timeZone: '1',
ids: '',
skipDayWithoutStocks: 'true',
countByOrders: 'true',
requierPlan: '1',
forPrices: '1999.99',
deliveryDate: 'Пример deliveryDate',
onlyEmptyParchasePrice: '1999.99',
onlyEmptyDeliveryCostPrice: '1999.99',
forFboSupplyPlan: 'true',
ignoreParams: 'true',
ungroupWarehouses: 'true',
replaceSetsByComponents: 'true',
notGroupComponents: 'true',
modelArticle: 'ART-001',
ozonArticle: 'ART-001',
yandexMarketShopSku: 'SKU-12345',
sberArticle: 'ART-001',
wbArticle: 'ART-001',
barcode: '4600123456789',
name: 'Иван',
tagIds: '',
limit: '100',
page: '1',
count: 'Россия',
sortBy: 'Пример sortBy',
ascending: 'true',
};
const response = await axios.get<any>('https://api.selsup.ru/api/repricer/addDownloadProductRepriceConfig',
{
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 = {
'clientOrganizationId': 'АО "Торговый дом"',
'query': 'Пример query',
'article': 'ART-001',
'color': 'Пример color',
'viewId': '123',
'skuViewId': 'SKU-12345',
'modelId': '123',
'onlyUnpurchased': 'true',
'onlyUnprofitable': 'true',
'groupId': '123',
'groupIds': '',
'onlyLowMargin': 'true',
'onlyNegativeMargin': 'true',
'onlyLowPurchasePercent': 'true',
'needToBuy': 'true',
'planDays': '15',
'organizations': 'АО "Торговый дом"',
'needUpdatePrice': '1999.99',
'testCard': 'true',
'hasImages': 'https://example.com/image.jpg',
'isDuplicate': 'true',
'hasWildberriesId': 'true',
'hasSupplyingQuantity': 'true',
'noWbImages': 'https://example.com/image.jpg',
'noOzonImages': 'https://example.com/image.jpg',
'noYMImages': 'https://example.com/image.jpg',
'deleted': 'false',
'hasGroup': 'true',
'modelDeleted': 'false',
'viewDeleted': 'false',
'inStock': 'true',
'noStock': 'true',
'inFbsStock': 'true',
'noFbsStock': 'true',
'inFboStock': 'true',
'noFboStock': 'true',
'hasStockInWarehouse': '1',
'noStockInWarehouse': '1',
'grouped': 'true',
'uniqView': 'true',
'uniqViewSku': 'SKU-12345',
'uniqModel': 'true',
'uniqSku': 'SKU-12345',
'contractors': '',
'categories': '',
'brands': '',
'stockRefreshDate': '2024-01-15T10:30:00Z',
'wildberriesRating': '',
'wildberriesCardDoesNotOpen': 'true',
'productId': '123',
'productIds': '',
'sourceOrganizationIds': 'АО "Торговый дом"',
'needImportWildberriesCard': 'true',
'needImportOzonCard': 'true',
'needImportAliexpressCard': 'true',
'needUpdateFromSimaland': 'true',
'favourite': 'true',
'status': 'active',
'actual': 'true',
'skuId': 'SKU-12345',
'skuIds': 'SKU-12345',
'lastInventoryId': '123',
'cellId': '123',
'itemId': '123',
'warehouseId': '123',
'avitoCategoryId': '123',
'hasAvitoCategory': 'true',
'services': '',
'createdIn': '',
'duplicate': 'true',
'orderService': 'NONE',
'productType': 'standard',
'withCategoryAndBrand': 'true',
'allServices': 'true',
'inWarehouseRegions': 'Московская область',
'inWarehouses': '',
'incomeOrderId': '123',
'incomeId': '123',
'itemIncomeOrderId': '123',
'dateFrom': '2024-01-15T10:30:00Z',
'dateTo': '2024-01-15T10:30:00Z',
'plannedSupplyDate': '2024-01-15T10:30:00Z',
'timeZone': '1',
'ids': '',
'skipDayWithoutStocks': 'true',
'countByOrders': 'true',
'requierPlan': '1',
'forPrices': '1999.99',
'deliveryDate': 'Пример deliveryDate',
'onlyEmptyParchasePrice': '1999.99',
'onlyEmptyDeliveryCostPrice': '1999.99',
'forFboSupplyPlan': 'true',
'ignoreParams': 'true',
'ungroupWarehouses': 'true',
'replaceSetsByComponents': 'true',
'notGroupComponents': 'true',
'modelArticle': 'ART-001',
'ozonArticle': 'ART-001',
'yandexMarketShopSku': 'SKU-12345',
'sberArticle': 'ART-001',
'wbArticle': 'ART-001',
'barcode': '4600123456789',
'name': 'Иван',
'tagIds': '',
'limit': '100',
'page': '1',
'count': 'Россия',
'sortBy': 'Пример sortBy',
'ascending': 'true',
}
response = requests.get(
'https://api.selsup.ru/api/repricer/addDownloadProductRepriceConfig',
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/repricer/addDownloadProductRepriceConfig?clientOrganizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&article=ART-001&color=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20color&viewId=123&skuViewId=SKU-12345&modelId=123&onlyUnpurchased=true&onlyUnprofitable=true&groupId=123&groupIds=&onlyLowMargin=true&onlyNegativeMargin=true&onlyLowPurchasePercent=true&needToBuy=true&planDays=15&organizations=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&needUpdatePrice=1999.99&testCard=true&hasImages=https%3A%2F%2Fexample.com%2Fimage.jpg&isDuplicate=true&hasWildberriesId=true&hasSupplyingQuantity=true&noWbImages=https%3A%2F%2Fexample.com%2Fimage.jpg&noOzonImages=https%3A%2F%2Fexample.com%2Fimage.jpg&noYMImages=https%3A%2F%2Fexample.com%2Fimage.jpg&deleted=false&hasGroup=true&modelDeleted=false&viewDeleted=false&inStock=true&noStock=true&inFbsStock=true&noFbsStock=true&inFboStock=true&noFboStock=true&hasStockInWarehouse=1&noStockInWarehouse=1&grouped=true&uniqView=true&uniqViewSku=SKU-12345&uniqModel=true&uniqSku=SKU-12345&contractors=&categories=&brands=&stockRefreshDate=2024-01-15T10%3A30%3A00Z&wildberriesRating=&wildberriesCardDoesNotOpen=true&productId=123&productIds=&sourceOrganizationIds=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&needImportWildberriesCard=true&needImportOzonCard=true&needImportAliexpressCard=true&needUpdateFromSimaland=true&favourite=true&status=active&actual=true&skuId=SKU-12345&skuIds=SKU-12345&lastInventoryId=123&cellId=123&itemId=123&warehouseId=123&avitoCategoryId=123&hasAvitoCategory=true&services=&createdIn=&duplicate=true&orderService=NONE&productType=standard&withCategoryAndBrand=true&allServices=true&inWarehouseRegions=%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C&inWarehouses=&incomeOrderId=123&incomeId=123&itemIncomeOrderId=123&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&plannedSupplyDate=2024-01-15T10%3A30%3A00Z&timeZone=1&ids=&skipDayWithoutStocks=true&countByOrders=true&requierPlan=1&forPrices=1999.99&deliveryDate=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20deliveryDate&onlyEmptyParchasePrice=1999.99&onlyEmptyDeliveryCostPrice=1999.99&forFboSupplyPlan=true&ignoreParams=true&ungroupWarehouses=true&replaceSetsByComponents=true¬GroupComponents=true&modelArticle=ART-001&ozonArticle=ART-001&yandexMarketShopSku=SKU-12345&sberArticle=ART-001&wbArticle=ART-001&barcode=4600123456789&name=%D0%98%D0%B2%D0%B0%D0%BD&tagIds=&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20sortBy&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/repricer/addDownloadProductRepriceConfig?clientOrganizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&article=ART-001&color=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20color&viewId=123&skuViewId=SKU-12345&modelId=123&onlyUnpurchased=true&onlyUnprofitable=true&groupId=123&groupIds=&onlyLowMargin=true&onlyNegativeMargin=true&onlyLowPurchasePercent=true&needToBuy=true&planDays=15&organizations=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&needUpdatePrice=1999.99&testCard=true&hasImages=https%3A%2F%2Fexample.com%2Fimage.jpg&isDuplicate=true&hasWildberriesId=true&hasSupplyingQuantity=true&noWbImages=https%3A%2F%2Fexample.com%2Fimage.jpg&noOzonImages=https%3A%2F%2Fexample.com%2Fimage.jpg&noYMImages=https%3A%2F%2Fexample.com%2Fimage.jpg&deleted=false&hasGroup=true&modelDeleted=false&viewDeleted=false&inStock=true&noStock=true&inFbsStock=true&noFbsStock=true&inFboStock=true&noFboStock=true&hasStockInWarehouse=1&noStockInWarehouse=1&grouped=true&uniqView=true&uniqViewSku=SKU-12345&uniqModel=true&uniqSku=SKU-12345&contractors=&categories=&brands=&stockRefreshDate=2024-01-15T10%3A30%3A00Z&wildberriesRating=&wildberriesCardDoesNotOpen=true&productId=123&productIds=&sourceOrganizationIds=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&needImportWildberriesCard=true&needImportOzonCard=true&needImportAliexpressCard=true&needUpdateFromSimaland=true&favourite=true&status=active&actual=true&skuId=SKU-12345&skuIds=SKU-12345&lastInventoryId=123&cellId=123&itemId=123&warehouseId=123&avitoCategoryId=123&hasAvitoCategory=true&services=&createdIn=&duplicate=true&orderService=NONE&productType=standard&withCategoryAndBrand=true&allServices=true&inWarehouseRegions=%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C&inWarehouses=&incomeOrderId=123&incomeId=123&itemIncomeOrderId=123&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&plannedSupplyDate=2024-01-15T10%3A30%3A00Z&timeZone=1&ids=&skipDayWithoutStocks=true&countByOrders=true&requierPlan=1&forPrices=1999.99&deliveryDate=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20deliveryDate&onlyEmptyParchasePrice=1999.99&onlyEmptyDeliveryCostPrice=1999.99&forFboSupplyPlan=true&ignoreParams=true&ungroupWarehouses=true&replaceSetsByComponents=true¬GroupComponents=true&modelArticle=ART-001&ozonArticle=ART-001&yandexMarketShopSku=SKU-12345&sberArticle=ART-001&wbArticle=ART-001&barcode=4600123456789&name=%D0%98%D0%B2%D0%B0%D0%BD&tagIds=&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20sortBy&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 = [
'clientOrganizationId' => 'АО "Торговый дом"',
'query' => 'Пример query',
'article' => 'ART-001',
'color' => 'Пример color',
'viewId' => '123',
'skuViewId' => 'SKU-12345',
'modelId' => '123',
'onlyUnpurchased' => 'true',
'onlyUnprofitable' => 'true',
'groupId' => '123',
'groupIds' => '',
'onlyLowMargin' => 'true',
'onlyNegativeMargin' => 'true',
'onlyLowPurchasePercent' => 'true',
'needToBuy' => 'true',
'planDays' => '15',
'organizations' => 'АО "Торговый дом"',
'needUpdatePrice' => '1999.99',
'testCard' => 'true',
'hasImages' => 'https://example.com/image.jpg',
'isDuplicate' => 'true',
'hasWildberriesId' => 'true',
'hasSupplyingQuantity' => 'true',
'noWbImages' => 'https://example.com/image.jpg',
'noOzonImages' => 'https://example.com/image.jpg',
'noYMImages' => 'https://example.com/image.jpg',
'deleted' => 'false',
'hasGroup' => 'true',
'modelDeleted' => 'false',
'viewDeleted' => 'false',
'inStock' => 'true',
'noStock' => 'true',
'inFbsStock' => 'true',
'noFbsStock' => 'true',
'inFboStock' => 'true',
'noFboStock' => 'true',
'hasStockInWarehouse' => '1',
'noStockInWarehouse' => '1',
'grouped' => 'true',
'uniqView' => 'true',
'uniqViewSku' => 'SKU-12345',
'uniqModel' => 'true',
'uniqSku' => 'SKU-12345',
'contractors' => '',
'categories' => '',
'brands' => '',
'stockRefreshDate' => '2024-01-15T10:30:00Z',
'wildberriesRating' => '',
'wildberriesCardDoesNotOpen' => 'true',
'productId' => '123',
'productIds' => '',
'sourceOrganizationIds' => 'АО "Торговый дом"',
'needImportWildberriesCard' => 'true',
'needImportOzonCard' => 'true',
'needImportAliexpressCard' => 'true',
'needUpdateFromSimaland' => 'true',
'favourite' => 'true',
'status' => 'active',
'actual' => 'true',
'skuId' => 'SKU-12345',
'skuIds' => 'SKU-12345',
'lastInventoryId' => '123',
'cellId' => '123',
'itemId' => '123',
'warehouseId' => '123',
'avitoCategoryId' => '123',
'hasAvitoCategory' => 'true',
'services' => '',
'createdIn' => '',
'duplicate' => 'true',
'orderService' => 'NONE',
'productType' => 'standard',
'withCategoryAndBrand' => 'true',
'allServices' => 'true',
'inWarehouseRegions' => 'Московская область',
'inWarehouses' => '',
'incomeOrderId' => '123',
'incomeId' => '123',
'itemIncomeOrderId' => '123',
'dateFrom' => '2024-01-15T10:30:00Z',
'dateTo' => '2024-01-15T10:30:00Z',
'plannedSupplyDate' => '2024-01-15T10:30:00Z',
'timeZone' => '1',
'ids' => '',
'skipDayWithoutStocks' => 'true',
'countByOrders' => 'true',
'requierPlan' => '1',
'forPrices' => '1999.99',
'deliveryDate' => 'Пример deliveryDate',
'onlyEmptyParchasePrice' => '1999.99',
'onlyEmptyDeliveryCostPrice' => '1999.99',
'forFboSupplyPlan' => 'true',
'ignoreParams' => 'true',
'ungroupWarehouses' => 'true',
'replaceSetsByComponents' => 'true',
'notGroupComponents' => 'true',
'modelArticle' => 'ART-001',
'ozonArticle' => 'ART-001',
'yandexMarketShopSku' => 'SKU-12345',
'sberArticle' => 'ART-001',
'wbArticle' => 'ART-001',
'barcode' => '4600123456789',
'name' => 'Иван',
'tagIds' => '',
'limit' => '100',
'page' => '1',
'count' => 'Россия',
'sortBy' => 'Пример sortBy',
'ascending' => 'true',
];
$url = 'https://api.selsup.ru/api/repricer/addDownloadProductRepriceConfig?' . 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/repricer/addDownloadProductRepriceConfig?clientOrganizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&article=ART-001&color=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20color&viewId=123&skuViewId=SKU-12345&modelId=123&onlyUnpurchased=true&onlyUnprofitable=true&groupId=123&groupIds=&onlyLowMargin=true&onlyNegativeMargin=true&onlyLowPurchasePercent=true&needToBuy=true&planDays=15&organizations=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&needUpdatePrice=1999.99&testCard=true&hasImages=https%3A%2F%2Fexample.com%2Fimage.jpg&isDuplicate=true&hasWildberriesId=true&hasSupplyingQuantity=true&noWbImages=https%3A%2F%2Fexample.com%2Fimage.jpg&noOzonImages=https%3A%2F%2Fexample.com%2Fimage.jpg&noYMImages=https%3A%2F%2Fexample.com%2Fimage.jpg&deleted=value&hasGroup=true&modelDeleted=value&viewDeleted=value&inStock=true&noStock=true&inFbsStock=true&noFbsStock=true&inFboStock=true&noFboStock=true&hasStockInWarehouse=1&noStockInWarehouse=1&grouped=true&uniqView=true&uniqViewSku=SKU-12345&uniqModel=true&uniqSku=SKU-12345&contractors=&categories=&brands=&stockRefreshDate=2024-01-15T10%3A30%3A00Z&wildberriesRating=&wildberriesCardDoesNotOpen=true&productId=123&productIds=&sourceOrganizationIds=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&needImportWildberriesCard=true&needImportOzonCard=true&needImportAliexpressCard=true&needUpdateFromSimaland=true&favourite=true&status=active&actual=true&skuId=SKU-12345&skuIds=SKU-12345&lastInventoryId=123&cellId=123&itemId=123&warehouseId=123&avitoCategoryId=123&hasAvitoCategory=true&services=&createdIn=&duplicate=true&orderService=NONE&productType=standard&withCategoryAndBrand=true&allServices=true&inWarehouseRegions=%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C&inWarehouses=&incomeOrderId=123&incomeId=123&itemIncomeOrderId=123&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&plannedSupplyDate=2024-01-15T10%3A30%3A00Z&timeZone=1&ids=&skipDayWithoutStocks=true&countByOrders=true&requierPlan=1&forPrices=1999.99&deliveryDate=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20deliveryDate&onlyEmptyParchasePrice=1999.99&onlyEmptyDeliveryCostPrice=1999.99&forFboSupplyPlan=true&ignoreParams=true&ungroupWarehouses=true&replaceSetsByComponents=true¬GroupComponents=true&modelArticle=ART-001&ozonArticle=ART-001&yandexMarketShopSku=SKU-12345&sberArticle=ART-001&wbArticle=ART-001&barcode=4600123456789&name=%D0%98%D0%B2%D0%B0%D0%BD&tagIds=&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20sortBy&ascending=true' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json'
🔗 Удаление товара из стратегии
Метод удаляет продукт из стратегии по обновлению цены
DELETE
/api/repricer/deleteProductInStrategy
Параметры запроса QUERY
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| strategyUuid | string | Да |
Параметр strategyUuid
|
Тело запроса *Обязательно
Content-Type:
application/json
Тело ответа
✓ 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 | Системная ошибки парсинга данных запроса |
Примеры кода
const axios = require('axios');
const params = {
strategyUuid: 'Пример strategyUuid',
};
const response = await axios.delete('https://api.selsup.ru/api/repricer/deleteProductInStrategy',
"Пример value",
{
params,
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
import axios from 'axios';
interface QueryParams {
strategyUuid?: string;
}
const params: QueryParams = {
strategyUuid: 'Пример strategyUuid',
};
const response = await axios.delete<any>('https://api.selsup.ru/api/repricer/deleteProductInStrategy',
"Пример value",
{
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 = {
'strategyUuid': 'Пример strategyUuid',
}
response = requests.delete(
'https://api.selsup.ru/api/repricer/deleteProductInStrategy',
headers=headers,
params=params,
json='Пример value'
)
print(response.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
client := &http.Client{}
payload := map[string]interface{}`Пример value`
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("delete", "https://api.selsup.ru/api/repricer/deleteProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid", 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/repricer/deleteProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid"))
.header("Authorization", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.delete(HttpRequest.BodyPublishers.ofString(
"\"Пример value\""
))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
$curl = curl_init();
$params = [
'strategyUuid' => 'Пример strategyUuid',
];
$url = 'https://api.selsup.ru/api/repricer/deleteProductInStrategy?' . http_build_query($params);
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'delete',
CURLOPT_POSTFIELDS => json_encode('Пример value'),
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/repricer/deleteProductInStrategy?strategyUuid=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20strategyUuid' \ -H 'Authorization: YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '"Пример value"'