Реклама

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

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

🔗 Изменение статуса рекламной компании

Останавливает, запускает или ставит на паузу компанию по маркетплейсу
POST /api/campaign/updateStatusCampaign

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

Название Тип Обязательный Описание
campaignId integer Да Параметр campaignId
status "WILLDELETE""READY""DONE""REFUSED""PROCCESS""PAUSE" Да Параметр status
organizationId integer Да Параметр organizationId

Тело ответа

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

Примеры кода

const axios = require('axios');

const params = {
  campaignId: '123',
  status: 'active',
  organizationId: 'АО "Торговый дом"',
};

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

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

interface QueryParams {
  campaignId?: number;
  status?: string;
  organizationId?: number;
}

const params: QueryParams = {
  campaignId: '123',
  status: 'active',
  organizationId: 'АО "Торговый дом"',
};

const response = await axios.post<any>('https://api.selsup.ru/api/campaign/updateStatusCampaign',
  {
    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 = {
    'campaignId': '123',
    'status': 'active',
    'organizationId': 'АО "Торговый дом"',
}

response = requests.post(
    'https://api.selsup.ru/api/campaign/updateStatusCampaign',
    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/campaign/updateStatusCampaign?campaignId=123&status=active&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/campaign/updateStatusCampaign?campaignId=123&status=active&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 = [
    'campaignId' => '123',
    'status' => 'active',
    'organizationId' => 'АО "Торговый дом"',
];

$url = 'https://api.selsup.ru/api/campaign/updateStatusCampaign?' . 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/campaign/updateStatusCampaign?campaignId=123&status=active&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'

🔗 Создание рекламной компании

Создает новую рекламную компанию по маркетплейсу
POST /api/campaign/createCampaign

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

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

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

Content-Type: application/json
ПолеТипОписание
id integer
externalId integer
name string
campaignName string
type string
statusType string
productId integer
externalProductId integer
createDate string
endDate string
startDate string
sum integer
writeOffType string
onPause boolean
clientId integer
service string Сервис
categoryId integer
categoryName string
campaignType string
dateStatImport string
nms string

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
id integer
externalId integer
name string
campaignName string
type string
statusType string
productId integer
externalProductId integer
createDate string
endDate string
startDate string
sum integer
writeOffType string
onPause boolean
clientId integer
service string Сервис
categoryId integer
categoryName string
campaignType string
dateStatImport string
nms string
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  organizationId: 'АО "Торговый дом"',
};

const response = await axios.post('https://api.selsup.ru/api/campaign/createCampaign',
  {
    "id": "Иванович",
    "externalId": 123,
    "name": "Иван",
    "campaignName": "Название campaignName",
    "type": "standard",
    "statusType": "active",
    "productId": 123,
    "externalProductId": 123,
    "createDate": "2024-01-15T10:30:00Z",
    "endDate": "2024-01-15T10:30:00Z"
  },
  {
    params,
    headers: {
      'Authorization': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);

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

interface QueryParams {
  organizationId?: number;
}

const params: QueryParams = {
  organizationId: 'АО "Торговый дом"',
};

const response = await axios.post<any>('https://api.selsup.ru/api/campaign/createCampaign',
  {
    "id": "Иванович",
    "externalId": 123,
    "name": "Иван",
    "campaignName": "Название campaignName",
    "type": "standard",
    "statusType": "active",
    "productId": 123,
    "externalProductId": 123,
    "createDate": "2024-01-15T10:30:00Z",
    "endDate": "2024-01-15T10:30:00Z"
  },
  {
    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 = {
    'organizationId': 'АО "Торговый дом"',
}

response = requests.post(
    'https://api.selsup.ru/api/campaign/createCampaign',
    headers=headers,
    params=params,
    json={
    'id': 'Иванович',
    'externalId': 123,
    'name': 'Иван',
    'campaignName': 'Название campaignName',
    'type': 'standard',
    'statusType': 'active',
    'productId': 123,
    'externalProductId': 123,
    'createDate': '2024-01-15T10:30:00Z',
    'endDate': '2024-01-15T10:30:00Z'
}
)

print(response.json())
package main

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

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

    payload := map[string]interface{}{
        `id`: `Иванович`,
        `externalId`: 123,
        `name`: `Иван`,
        `campaignName`: `Название campaignName`,
        `type`: `standard`,
        `statusType`: `active`,
        `productId`: 123,
        `externalProductId`: 123,
        `createDate`: `2024-01-15T10:30:00Z`,
        `endDate`: `2024-01-15T10:30:00Z`
}
    jsonData, _ := json.Marshal(payload)

    req, _ := http.NewRequest("post", "https://api.selsup.ru/api/campaign/createCampaign?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", 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/campaign/createCampaign?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.ofString(
        "{\"id\":\"Иванович\",\"externalId\":123,\"name\":\"Иван\",\"campaignName\":\"Название campaignName\",\"type\":\"standard\",\"statusType\":\"active\",\"productId\":123,\"externalProductId\":123,\"createDate\":\"2024-01-15T10:30:00Z\",\"endDate\":\"2024-01-15T10:30:00Z\"}"
    ))
    .build();

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

$params = [
    'organizationId' => 'АО "Торговый дом"',
];

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

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'post',
    CURLOPT_POSTFIELDS => json_encode({
    'id': 'Иванович',
    'externalId': 123,
    'name': 'Иван',
    'campaignName': 'Название campaignName',
    'type': 'standard',
    'statusType': 'active',
    'productId': 123,
    'externalProductId': 123,
    'createDate': '2024-01-15T10:30:00Z',
    'endDate': '2024-01-15T10:30:00Z'
}),
    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/campaign/createCampaign?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' \
  -d '{
  "id": "Иванович",
  "externalId": 123,
  "name": "Иван",
  "campaignName": "Название campaignName",
  "type": "standard",
  "statusType": "active",
  "productId": 123,
  "externalProductId": 123,
  "createDate": "2024-01-15T10:30:00Z",
  "endDate": "2024-01-15T10:30:00Z"
}'

🔗 Запуск задачи по обновлению/прогрузки рекламных кампаний

Возвращает задачу на старт
GET /api/campaign/updateCampaigns

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

Название Тип Обязательный Описание
organizationId integer Да Параметр organizationId
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""WOOCOMMERCE" Да Параметр service

Тело ответа

✓ 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 Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  organizationId: 'АО "Торговый дом"',
  service: 'NONE',
};

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

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

interface QueryParams {
  organizationId?: number;
  service?: string;
}

const params: QueryParams = {
  organizationId: 'АО "Торговый дом"',
  service: 'NONE',
};

const response = await axios.get<any>('https://api.selsup.ru/api/campaign/updateCampaigns',
  {
    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 = {
    'organizationId': 'АО "Торговый дом"',
    'service': 'NONE',
}

response = requests.get(
    'https://api.selsup.ru/api/campaign/updateCampaigns',
    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/campaign/updateCampaigns?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&service=NONE", 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/campaign/updateCampaigns?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&service=NONE"))
    .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 = [
    'organizationId' => 'АО "Торговый дом"',
    'service' => 'NONE',
];

$url = 'https://api.selsup.ru/api/campaign/updateCampaigns?' . 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/campaign/updateCampaigns?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&service=NONE' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Получение информации о кампании с API маркетплейса

Возвращает кампанию по внешнему идентификатору
GET /api/campaign/getWildberriesSubjects

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

Название Тип Обязательный Описание
query string Да Поисковый запрос
limit integer Да Максимальное количество записей
organizationId integer Да Параметр organizationId

Тело ответа

✓ 200 OK
Content-Type: application/json
Тип ответа: WildberriesType Предмет Вайлдбериз
Элементы массива
Поле Тип Описание
id integer Нет
name string Нет Название
published boolean Нет Опубликованность предмета Вайлдбериз
hasSize boolean Нет Атрибут, указывающий наличие размера
monoBoxMinQuantity integer Нет
monoType string Нет
monoMinPrice integer Нет
hasParent boolean Нет
parentId integer Нет
wildberriesId integer Нет Идентификатор предмета на Вайлдбериз
lastSyncDate string Нет Дата последней синхронизации предмета с Вайлдбериз
notChangedDays integer Нет Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
commission number Нет Комиссия для товаров данного предмета в Вайлдбериз по FBM
fbsCommission number Нет Комиссия для товаров данного предмета в Вайлдбериз по FBS
fbwCommission number Нет Комиссия по тарифу FBW
dbsCommission number Нет Комиссия по тарифу DBS
edbsCommission number Нет Комиссия по тарифу EDBS
cAndCCommission number Нет Комиссия по тарифу C&C
bookingCommission number Нет Комиссия за бронирование
logisticPrice integer Нет Стоимость доставки товара к клиенту на Вайлдбериз
storagePrice number Нет Стоимость хранения товара на складе Вайлдбериз за штуку в день
acceptancePrice number Нет Стоимость приемки товара на складе Вайлдбериз за штуку
needDimensions boolean Нет Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов
candCCommission number Нет
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  query: 'Пример query',
  limit: '100',
  organizationId: 'АО "Торговый дом"',
};

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

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

interface QueryParams {
  query?: string;
  limit?: number;
  organizationId?: number;
}

const params: QueryParams = {
  query: 'Пример query',
  limit: '100',
  organizationId: 'АО "Торговый дом"',
};

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

console.log(response.data);
import requests

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

params = {
    'query': 'Пример query',
    'limit': '100',
    'organizationId': 'АО "Торговый дом"',
}

response = requests.get(
    'https://api.selsup.ru/api/campaign/getWildberriesSubjects',
    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/campaign/getWildberriesSubjects?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&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/campaign/getWildberriesSubjects?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&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")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

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

$params = [
    'query' => 'Пример query',
    'limit' => '100',
    'organizationId' => 'АО "Торговый дом"',
];

$url = 'https://api.selsup.ru/api/campaign/getWildberriesSubjects?' . 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/campaign/getWildberriesSubjects?query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&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'

🔗 Суммарная статистику по рекламным кампаниям

Возвращает суммарную статистику по маркетплейсам
GET /api/campaign/getTotalStatCampaigns

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

Название Тип Обязательный Описание
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""WOOCOMMERCE" Да Параметр service
organizationId integer Да Параметр organizationId
status "WILLDELETE""READY""DONE""REFUSED""PROCCESS""PAUSE" Нет Параметр status
type integer Нет Параметр type
offset integer Нет Смещение от начала
dateTo Date Нет Параметр dateTo
dateFrom Date Нет Параметр dateFrom
isStatCampaign boolean Нет Параметр isStatCampaign
dateStart Date Нет Параметр dateStart
query string Нет Поисковый запрос. Может содержать external_id или часть названия медиакампании
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "EXTERNALID""SERVICE""CAMPAIGNNAME""CAMPAIGNTYPE""CATEGORYNAME""VIEWS""CLICKS""RATIOCLICKSVIEWS""AVERAGECOST""EXPENSES""QUANTITYADDCART""QUANTITYORDERS""RATIOORDERSOFVISITS""QUANTITYPRODUCTORDERS""ORDERSAMOUNT""CREATEDATE""STATUS" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.
topN integer Да Параметр topN

Тело ответа

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

Примеры кода

const axios = require('axios');

const params = {
  service: 'NONE',
  organizationId: 'АО "Торговый дом"',
  status: 'active',
  type: 'standard',
  offset: '0',
  dateTo: '2024-01-15T10:30:00Z',
  dateFrom: '2024-01-15T10:30:00Z',
  isStatCampaign: 'true',
  dateStart: '2024-01-15T10:30:00Z',
  query: 'Пример query',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'EXTERNALID',
  ascending: 'true',
  topN: '1',
};

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

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

interface QueryParams {
  service?: string;
  organizationId?: number;
  status?: string;
  type?: number;
  offset?: number;
  dateTo?: string;
  dateFrom?: string;
  isStatCampaign?: string;
  dateStart?: string;
  query?: string;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
  topN?: number;
}

const params: QueryParams = {
  service: 'NONE',
  organizationId: 'АО "Торговый дом"',
  status: 'active',
  type: 'standard',
  offset: '0',
  dateTo: '2024-01-15T10:30:00Z',
  dateFrom: '2024-01-15T10:30:00Z',
  isStatCampaign: 'true',
  dateStart: '2024-01-15T10:30:00Z',
  query: 'Пример query',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'EXTERNALID',
  ascending: 'true',
  topN: '1',
};

const response = await axios.get<any>('https://api.selsup.ru/api/campaign/getTotalStatCampaigns',
  {
    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 = {
    'service': 'NONE',
    'organizationId': 'АО "Торговый дом"',
    'status': 'active',
    'type': 'standard',
    'offset': '0',
    'dateTo': '2024-01-15T10:30:00Z',
    'dateFrom': '2024-01-15T10:30:00Z',
    'isStatCampaign': 'true',
    'dateStart': '2024-01-15T10:30:00Z',
    'query': 'Пример query',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'EXTERNALID',
    'ascending': 'true',
    'topN': '1',
}

response = requests.get(
    'https://api.selsup.ru/api/campaign/getTotalStatCampaigns',
    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/campaign/getTotalStatCampaigns?service=NONE&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&status=active&type=standard&offset=0&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&ascending=true&topN=1", 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/campaign/getTotalStatCampaigns?service=NONE&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&status=active&type=standard&offset=0&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&ascending=true&topN=1"))
    .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 = [
    'service' => 'NONE',
    'organizationId' => 'АО "Торговый дом"',
    'status' => 'active',
    'type' => 'standard',
    'offset' => '0',
    'dateTo' => '2024-01-15T10:30:00Z',
    'dateFrom' => '2024-01-15T10:30:00Z',
    'isStatCampaign' => 'true',
    'dateStart' => '2024-01-15T10:30:00Z',
    'query' => 'Пример query',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'EXTERNALID',
    'ascending' => 'true',
    'topN' => '1',
];

$url = 'https://api.selsup.ru/api/campaign/getTotalStatCampaigns?' . 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/campaign/getTotalStatCampaigns?service=NONE&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&status=active&type=standard&offset=value&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&ascending=true&topN=1' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Статистику по рекламным кампаниям

Возвращает статистику по маркетплейсам
GET /api/campaign/getStatCampaigns

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

Название Тип Обязательный Описание
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""WOOCOMMERCE" Да Параметр service
organizationId integer Да Параметр organizationId
status "WILLDELETE""READY""DONE""REFUSED""PROCCESS""PAUSE" Нет Параметр status
type integer Нет Параметр type
offset integer Нет Смещение от начала
dateTo Date Нет Параметр dateTo
dateFrom Date Нет Параметр dateFrom
isStatCampaign boolean Нет Параметр isStatCampaign
dateStart Date Нет Параметр dateStart
query string Нет Поисковый запрос. Может содержать external_id или часть названия медиакампании
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "EXTERNALID""SERVICE""CAMPAIGNNAME""CAMPAIGNTYPE""CATEGORYNAME""VIEWS""CLICKS""RATIOCLICKSVIEWS""AVERAGECOST""EXPENSES""QUANTITYADDCART""QUANTITYORDERS""RATIOORDERSOFVISITS""QUANTITYPRODUCTORDERS""ORDERSAMOUNT""CREATEDATE""STATUS" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
rows Array of StatCampaign Строки с результатом поиска
Структура StatCampaign
Поле Тип Описание
limit integer Ограничение на количество записей. Максимальное значение - 500
page integer Номер страницы начиная с 1
count boolean Возвратить в ответе общее количество записей
sortBy string Поле сортировки записей. Работает только при получении списка.
ascending boolean Порядок сортировки - по возрастанию?. Работает только при получении списка.
statCampaignId integer ID в базе
views integer Количество просмотров.
clicks integer Количество кликов
ratioClicksViews number Отношение числа кликов к количеству показов. Выражается в процентах
averageCost number Средняя стоимость клика, ₽
expenses number Затраты, ₽
quantityAddCart integer Количество добавлений товаров в корзину
quantityOrders integer Количество заказов
ratioOrdersOfVisits number Отношение количества заказов к общему количеству посещений кампании
quantityProductOrders integer Количество заказанных товаров, шт.
campaignId integer ID кампании
campaignName string Название кампании к которой относится статистика
createDate string Дата создния рекламной кампании к которой относится статистика
service string Сервис
campaignType string
categoryName string
externalId integer
productId integer Идентификатор размера
productViewId integer Идентификатор цвета
date string Дата к которой относится статистика
startDate string Начало интервала к которому относится статистика Проставляется при импорте если статистика по дням недоступна
endDate string Конец интервала к которому относится статистика. Проставляется при импорте если статистика по дням недоступна
importDate string Дата импорта
uniqueId string
clientId integer
sum_price number Заказов на сумму, ₽
total integer Общее количество найденных записей. Возвращается только, когда count = true
page integer Номер запрошенной страницы
hasNextPage boolean Есть ли следующая страница
emptyPurchase integer Показатель пустой закупочной цены
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  service: 'NONE',
  organizationId: 'АО "Торговый дом"',
  status: 'active',
  type: 'standard',
  offset: '0',
  dateTo: '2024-01-15T10:30:00Z',
  dateFrom: '2024-01-15T10:30:00Z',
  isStatCampaign: 'true',
  dateStart: '2024-01-15T10:30:00Z',
  query: 'Пример query',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'EXTERNALID',
  ascending: 'true',
};

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

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

interface QueryParams {
  service?: string;
  organizationId?: number;
  status?: string;
  type?: number;
  offset?: number;
  dateTo?: string;
  dateFrom?: string;
  isStatCampaign?: string;
  dateStart?: string;
  query?: string;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
}

const params: QueryParams = {
  service: 'NONE',
  organizationId: 'АО "Торговый дом"',
  status: 'active',
  type: 'standard',
  offset: '0',
  dateTo: '2024-01-15T10:30:00Z',
  dateFrom: '2024-01-15T10:30:00Z',
  isStatCampaign: 'true',
  dateStart: '2024-01-15T10:30:00Z',
  query: 'Пример query',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'EXTERNALID',
  ascending: 'true',
};

const response = await axios.get<any>('https://api.selsup.ru/api/campaign/getStatCampaigns',
  {
    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 = {
    'service': 'NONE',
    'organizationId': 'АО "Торговый дом"',
    'status': 'active',
    'type': 'standard',
    'offset': '0',
    'dateTo': '2024-01-15T10:30:00Z',
    'dateFrom': '2024-01-15T10:30:00Z',
    'isStatCampaign': 'true',
    'dateStart': '2024-01-15T10:30:00Z',
    'query': 'Пример query',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'EXTERNALID',
    'ascending': 'true',
}

response = requests.get(
    'https://api.selsup.ru/api/campaign/getStatCampaigns',
    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/campaign/getStatCampaigns?service=NONE&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&status=active&type=standard&offset=0&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&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/campaign/getStatCampaigns?service=NONE&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&status=active&type=standard&offset=0&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&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 = [
    'service' => 'NONE',
    'organizationId' => 'АО "Торговый дом"',
    'status' => 'active',
    'type' => 'standard',
    'offset' => '0',
    'dateTo' => '2024-01-15T10:30:00Z',
    'dateFrom' => '2024-01-15T10:30:00Z',
    'isStatCampaign' => 'true',
    'dateStart' => '2024-01-15T10:30:00Z',
    'query' => 'Пример query',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'EXTERNALID',
    'ascending' => 'true',
];

$url = 'https://api.selsup.ru/api/campaign/getStatCampaigns?' . 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/campaign/getStatCampaigns?service=NONE&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&status=active&type=standard&offset=value&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&ascending=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Получение информации о заказе

Возвращает заказ по идентификатору
GET /api/campaign/getCampaigns

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

Название Тип Обязательный Описание
organizationId integer Да Параметр organizationId
status "WILLDELETE""READY""DONE""REFUSED""PROCCESS""PAUSE" Нет Параметр status
type integer Нет Параметр type
offset 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""WOOCOMMERCE" Нет Параметр service
dateTo Date Нет Параметр dateTo
dateFrom Date Нет Параметр dateFrom
isStatCampaign boolean Нет Параметр isStatCampaign
dateStart Date Нет Параметр dateStart
query string Нет Поисковый запрос. Может содержать external_id или часть названия медиакампании
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "EXTERNALID""SERVICE""CAMPAIGNNAME""CAMPAIGNTYPE""CATEGORYNAME""VIEWS""CLICKS""RATIOCLICKSVIEWS""AVERAGECOST""EXPENSES""QUANTITYADDCART""QUANTITYORDERS""RATIOORDERSOFVISITS""QUANTITYPRODUCTORDERS""ORDERSAMOUNT""CREATEDATE""STATUS" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.

Тело ответа

✓ 200 OK
Content-Type: application/json
Поле Тип Описание
rows Array of Campaign Строки с результатом поиска
Структура Campaign
Поле Тип Описание
id integer
externalId integer
name string
campaignName string
type string
statusType string
productId integer
externalProductId integer
createDate string
endDate string
startDate string
sum integer
writeOffType string
onPause boolean
clientId integer
service string Сервис
categoryId integer
categoryName string
campaignType string
dateStatImport string
nms string
total integer Общее количество найденных записей. Возвращается только, когда count = true
page integer Номер запрошенной страницы
hasNextPage boolean Есть ли следующая страница
emptyPurchase integer Показатель пустой закупочной цены
⚠ 400 Ошибка с данными запроса
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
localMessage Обязательный string Текст ошибки на языке пользователя
params object Дополнительные параметры ошибки
⚠ 403 Доступ запрещен
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
✗ 500 Внутренняя ошибка сервера
Content-Type: application/json
Поле Тип Описание
error Обязательный string Код ошибки
message string Описание ошибки
system string Системная ошибки парсинга данных запроса
Укажите ключ API в правом верхнем углу, чтобы попробовать использовать метод

Примеры кода

const axios = require('axios');

const params = {
  organizationId: 'АО "Торговый дом"',
  status: 'active',
  type: 'standard',
  offset: '0',
  service: 'NONE',
  dateTo: '2024-01-15T10:30:00Z',
  dateFrom: '2024-01-15T10:30:00Z',
  isStatCampaign: 'true',
  dateStart: '2024-01-15T10:30:00Z',
  query: 'Пример query',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'EXTERNALID',
  ascending: 'true',
};

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

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

interface QueryParams {
  organizationId?: number;
  status?: string;
  type?: number;
  offset?: number;
  service?: string;
  dateTo?: string;
  dateFrom?: string;
  isStatCampaign?: string;
  dateStart?: string;
  query?: string;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
}

const params: QueryParams = {
  organizationId: 'АО "Торговый дом"',
  status: 'active',
  type: 'standard',
  offset: '0',
  service: 'NONE',
  dateTo: '2024-01-15T10:30:00Z',
  dateFrom: '2024-01-15T10:30:00Z',
  isStatCampaign: 'true',
  dateStart: '2024-01-15T10:30:00Z',
  query: 'Пример query',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'EXTERNALID',
  ascending: 'true',
};

const response = await axios.get<any>('https://api.selsup.ru/api/campaign/getCampaigns',
  {
    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 = {
    'organizationId': 'АО "Торговый дом"',
    'status': 'active',
    'type': 'standard',
    'offset': '0',
    'service': 'NONE',
    'dateTo': '2024-01-15T10:30:00Z',
    'dateFrom': '2024-01-15T10:30:00Z',
    'isStatCampaign': 'true',
    'dateStart': '2024-01-15T10:30:00Z',
    'query': 'Пример query',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'EXTERNALID',
    'ascending': 'true',
}

response = requests.get(
    'https://api.selsup.ru/api/campaign/getCampaigns',
    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/campaign/getCampaigns?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&status=active&type=standard&offset=0&service=NONE&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&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/campaign/getCampaigns?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&status=active&type=standard&offset=0&service=NONE&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&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 = [
    'organizationId' => 'АО "Торговый дом"',
    'status' => 'active',
    'type' => 'standard',
    'offset' => '0',
    'service' => 'NONE',
    'dateTo' => '2024-01-15T10:30:00Z',
    'dateFrom' => '2024-01-15T10:30:00Z',
    'isStatCampaign' => 'true',
    'dateStart' => '2024-01-15T10:30:00Z',
    'query' => 'Пример query',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'EXTERNALID',
    'ascending' => 'true',
];

$url = 'https://api.selsup.ru/api/campaign/getCampaigns?' . 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/campaign/getCampaigns?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&status=active&type=standard&offset=value&service=NONE&dateTo=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&isStatCampaign=true&dateStart=2024-01-15T10%3A30%3A00Z&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=EXTERNALID&ascending=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Получение баланса по маркетплейсу

Отдает баланс на аккаунте для рекламных кампаний
GET /api/campaign/getCampaignBalance

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

Название Тип Обязательный Описание
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""WOOCOMMERCE" Да Параметр service
organizationId integer Да Параметр organizationId

Тело ответа

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

Примеры кода

const axios = require('axios');

const params = {
  service: 'NONE',
  organizationId: 'АО "Торговый дом"',
};

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

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

interface QueryParams {
  service?: string;
  organizationId?: number;
}

const params: QueryParams = {
  service: 'NONE',
  organizationId: 'АО "Торговый дом"',
};

const response = await axios.get<any>('https://api.selsup.ru/api/campaign/getCampaignBalance',
  {
    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 = {
    'service': 'NONE',
    'organizationId': 'АО "Торговый дом"',
}

response = requests.get(
    'https://api.selsup.ru/api/campaign/getCampaignBalance',
    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/campaign/getCampaignBalance?service=NONE&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/campaign/getCampaignBalance?service=NONE&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")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

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

$params = [
    'service' => 'NONE',
    'organizationId' => 'АО "Торговый дом"',
];

$url = 'https://api.selsup.ru/api/campaign/getCampaignBalance?' . 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/campaign/getCampaignBalance?service=NONE&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'