Реклама
Методы для управления рекламой на маркетплейсах
Базовый 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
|
||||||||||||
| views > | Array of CampaignStat | |||||||||||
Структура CampaignStat
|
||||||||||||
| expenses > | Array of CampaignStat | |||||||||||
Структура CampaignStat
|
||||||||||||
| averageCost > | Array of CampaignStat | |||||||||||
Структура CampaignStat
|
||||||||||||
⚠ 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
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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'
Управление API ключом
Ключ будет сохранен локально в браузере