Возвраты

Методы для работы с отчетами по возвратным отправлениям

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

🔗 Обновление списка возвратов

Метод ставит в очередь задачу по загрузке перечня возвратов из маркетплейсов
POST /api/return/download

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

Название Тип Обязательный Описание
productAnalyticField "BARCODE""COLOR""ARTICLE""BRAND""CATEGORY" Нет Агрегировать данные по сущности
query string Нет Поисковый запрос для фильтрации аналитики
withDuplicate boolean Нет Отдавать аналитику по дубликатам товаров
limit integer Нет Количество записей в ответе
page integer Нет Страница для навигации по страницам, начиная с 1
sortBy string Нет Поле сортировки
ascending boolean Нет Сортировать по возрастанию по полю sortBy
id integer Нет Уникальный идентификатор
isMarketPlaceStructure boolean Нет Идентификатор, получать данные только по маркетплейсу или по всем.
isDashboard boolean Нет Идентификатор, запрос с дашборда или нет.
analyticsField "PRODUCT""MODEL""GROUP""ORGANIZATION""CLIENT""CATEGORY""PRODUCT_VIEW""BRAND""REGION""WAREHOUSE" Нет Агрегировать данные по model/product/view
planDayCount integer Нет Кол-во дней для отчетов
groupByView boolean Нет Сгруппировать по цвету
warehouses Array of integer Нет Список идентификаторов складов
regions Array of string Нет Список регионов
group boolean Нет Сгруппировать данные
calculationByOrders boolean Нет Делать расчет по заказанному количеству
sourceReport "DEFAULT""ORDER""SALES""PROFIT""OZON""YANDEX_MARKET""WB_REALIZATION_FILE""WB_DETAILED_REPORT_FILE""OZON_REALIZATION_FILE""OZON_REALIZATION_FILE_NEW""OZON_COMPENSATIONS_FILE""OZON_SERVICES_FILE""OZON_CASH_FLOW_STATEMENT""WB_CAMPAIGN""SBER_MEGA_MARKET_FILES""YANDEX_MARKET_FILE_DETAILS""WB_RETURNS_REPORT""OWN_DELIVERY""OZON_CAMPAIGN_SKU_REPORT""WB_PAID_STORAGE" Нет Операция по которой выводить данные
skipDayWithoutStocks boolean Нет Пропускать дни без остатков
isSaleStructure boolean Нет Идентификатор, что нужно получить структуру по продажам
isAveragePerOneUnit boolean Нет Идентификатор, получить среднее за 1 единицу
updateDate Date Нет Обновлять даты
useWeightedGroup boolean Нет Использовать группы по весу
isFindirRequest boolean Нет Является ли запрос - запросом для Задачника
brandIds integer Нет Фильтр по идентификаторам брендов (список)
categoryIds integer Нет Фильтр по идентификаторам категорий (список)
articles Array of string Нет Фильтр по артикулу (список)
colors Array of string Нет Фильтр по цвету (список)
sizes Array of string Нет Фильтр по размеру (список)
barcodes Array of string Нет Фильтр по штрих-коду (список)
penaltyFrom number Нет Фильтр по штрафам (от)
penaltyTo number Нет Фильтр по штрафам (до)
logisticsFrom number Нет Фильтр по логистике (от)
logisticsTo number Нет Фильтр по логистике (до)
marginFrom number Нет Фильтр по маржинальности (от)
marginTo number Нет Фильтр по маржинальности (до)
totalSalesAmountFrom number Нет Фильтр по сумме продаж (от)
totalSalesAmountTo number Нет Фильтр по сумме продаж (до)
grossProfitFrom number Нет Фильтр по валовой прибыли (от)
grossProfitTo number Нет Фильтр по валовой прибыли (до)
period "DAY""WEEK""MONTH""QUARTER""YEAR""MONTH_3""MONTH_6""END_OF_TARIFF""MONTH_7""MONTH_14""YEAR_2" Нет Период агрегации
dateFrom Date Нет Дата начала отчета
dateTo Date Нет Дата окончания отчета
services Array of string Нет Список маркетплейсов для которых отдать данные
categories Array of integer Нет Фильтр категорий для которых отдать данные
brands Array of integer Нет Фильтр брендов для которых отдать данные
clientOrganizationId integer Нет Идентификатор организации, для которой отдать данные
organizations Array of integer Нет Идентификаторы организаций клиента
ids Array of integer Нет Список идентификаторов
type "FBM""FBS""INCOME""RETAIL""WHOLESALE""FBO""MOVEMENT""WRITE_OFF""PRODUCTION" Нет Тип заказа
types Array of string Нет Типы заказа
status "CREATED""REVOKING""REVOKED""ORDER_CREATED""CARDS_CREATED""BOX_BARCODES""IMAGES_UPLOADED""INVOICE_UPLOADED""READY_TO_SUPPLY""SUPPLIED""FINISHED""COLLECTED""SEND""DELIVERY""REFUND""COLLECTING""PACKING""PAYMENT_REQUIRED""CANCELED""CONTROVERSIAL""OVERDUE""READY_FOR_PICKUP""WAITING_SUPPLY""PICK_UP_REFUND""REFUND_RECEIVED""DELETED""RESTORE""PRODUCTION_CONFIRMED" Нет Фильтр по статусу заказа
timeZone integer Нет Часовой пояс клиента по UTC
previousDateFrom Date Нет Дата начала периода для сравнения

Тело ответа

✓ 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 = {
  productAnalyticField: 'BARCODE',
  query: 'Пример query',
  withDuplicate: 'true',
  limit: '100',
  page: '1',
  sortBy: 'Пример sortBy',
  ascending: 'true',
  id: 'Иванович',
  isMarketPlaceStructure: 'true',
  isDashboard: 'true',
  analyticsField: 'PRODUCT',
  planDayCount: '42',
  groupByView: 'true',
  warehouses: '',
  regions: 'Московская область',
  group: 'true',
  calculationByOrders: 'true',
  sourceReport: 'DEFAULT',
  skipDayWithoutStocks: 'true',
  isSaleStructure: 'true',
  isAveragePerOneUnit: 'true',
  updateDate: 'true',
  useWeightedGroup: 'true',
  isFindirRequest: 'true',
  brandIds: '',
  categoryIds: '',
  articles: 'ART-001',
  colors: '',
  sizes: '',
  barcodes: '4600123456789',
  penaltyFrom: '1',
  penaltyTo: '1',
  logisticsFrom: '1',
  logisticsTo: '1',
  marginFrom: '1',
  marginTo: '1',
  totalSalesAmountFrom: '2500',
  totalSalesAmountTo: '2500',
  grossProfitFrom: '1',
  grossProfitTo: '1',
  period: 'DAY',
  dateFrom: '2024-01-15T10:30:00Z',
  dateTo: '2024-01-15T10:30:00Z',
  services: '',
  categories: '',
  brands: '',
  clientOrganizationId: 'АО "Торговый дом"',
  organizations: 'АО "Торговый дом"',
  ids: '',
  type: 'standard',
  types: 'standard',
  status: 'active',
  timeZone: '1',
  previousDateFrom: '2024-01-15T10:30:00Z',
};

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

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

interface QueryParams {
  productAnalyticField?: string;
  query?: string;
  withDuplicate?: string;
  limit?: number;
  page?: number;
  sortBy?: string;
  ascending?: string;
  id?: number;
  isMarketPlaceStructure?: string;
  isDashboard?: string;
  analyticsField?: string;
  planDayCount?: number;
  groupByView?: string;
  warehouses?: string;
  regions?: string;
  group?: string;
  calculationByOrders?: string;
  sourceReport?: string;
  skipDayWithoutStocks?: string;
  isSaleStructure?: string;
  isAveragePerOneUnit?: string;
  updateDate?: string;
  useWeightedGroup?: string;
  isFindirRequest?: string;
  brandIds?: string;
  categoryIds?: string;
  articles?: string;
  colors?: string;
  sizes?: string;
  barcodes?: string;
  penaltyFrom?: number;
  penaltyTo?: number;
  logisticsFrom?: number;
  logisticsTo?: number;
  marginFrom?: number;
  marginTo?: number;
  totalSalesAmountFrom?: number;
  totalSalesAmountTo?: number;
  grossProfitFrom?: number;
  grossProfitTo?: number;
  period?: string;
  dateFrom?: string;
  dateTo?: string;
  services?: string;
  categories?: string;
  brands?: string;
  clientOrganizationId?: number;
  organizations?: string;
  ids?: string;
  type?: string;
  types?: string;
  status?: string;
  timeZone?: number;
  previousDateFrom?: string;
}

const params: QueryParams = {
  productAnalyticField: 'BARCODE',
  query: 'Пример query',
  withDuplicate: 'true',
  limit: '100',
  page: '1',
  sortBy: 'Пример sortBy',
  ascending: 'true',
  id: 'Иванович',
  isMarketPlaceStructure: 'true',
  isDashboard: 'true',
  analyticsField: 'PRODUCT',
  planDayCount: '42',
  groupByView: 'true',
  warehouses: '',
  regions: 'Московская область',
  group: 'true',
  calculationByOrders: 'true',
  sourceReport: 'DEFAULT',
  skipDayWithoutStocks: 'true',
  isSaleStructure: 'true',
  isAveragePerOneUnit: 'true',
  updateDate: 'true',
  useWeightedGroup: 'true',
  isFindirRequest: 'true',
  brandIds: '',
  categoryIds: '',
  articles: 'ART-001',
  colors: '',
  sizes: '',
  barcodes: '4600123456789',
  penaltyFrom: '1',
  penaltyTo: '1',
  logisticsFrom: '1',
  logisticsTo: '1',
  marginFrom: '1',
  marginTo: '1',
  totalSalesAmountFrom: '2500',
  totalSalesAmountTo: '2500',
  grossProfitFrom: '1',
  grossProfitTo: '1',
  period: 'DAY',
  dateFrom: '2024-01-15T10:30:00Z',
  dateTo: '2024-01-15T10:30:00Z',
  services: '',
  categories: '',
  brands: '',
  clientOrganizationId: 'АО "Торговый дом"',
  organizations: 'АО "Торговый дом"',
  ids: '',
  type: 'standard',
  types: 'standard',
  status: 'active',
  timeZone: '1',
  previousDateFrom: '2024-01-15T10:30:00Z',
};

const response = await axios.post<any>('https://api.selsup.ru/api/return/download',
  {
    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 = {
    'productAnalyticField': 'BARCODE',
    'query': 'Пример query',
    'withDuplicate': 'true',
    'limit': '100',
    'page': '1',
    'sortBy': 'Пример sortBy',
    'ascending': 'true',
    'id': 'Иванович',
    'isMarketPlaceStructure': 'true',
    'isDashboard': 'true',
    'analyticsField': 'PRODUCT',
    'planDayCount': '42',
    'groupByView': 'true',
    'warehouses': '',
    'regions': 'Московская область',
    'group': 'true',
    'calculationByOrders': 'true',
    'sourceReport': 'DEFAULT',
    'skipDayWithoutStocks': 'true',
    'isSaleStructure': 'true',
    'isAveragePerOneUnit': 'true',
    'updateDate': 'true',
    'useWeightedGroup': 'true',
    'isFindirRequest': 'true',
    'brandIds': '',
    'categoryIds': '',
    'articles': 'ART-001',
    'colors': '',
    'sizes': '',
    'barcodes': '4600123456789',
    'penaltyFrom': '1',
    'penaltyTo': '1',
    'logisticsFrom': '1',
    'logisticsTo': '1',
    'marginFrom': '1',
    'marginTo': '1',
    'totalSalesAmountFrom': '2500',
    'totalSalesAmountTo': '2500',
    'grossProfitFrom': '1',
    'grossProfitTo': '1',
    'period': 'DAY',
    'dateFrom': '2024-01-15T10:30:00Z',
    'dateTo': '2024-01-15T10:30:00Z',
    'services': '',
    'categories': '',
    'brands': '',
    'clientOrganizationId': 'АО "Торговый дом"',
    'organizations': 'АО "Торговый дом"',
    'ids': '',
    'type': 'standard',
    'types': 'standard',
    'status': 'active',
    'timeZone': '1',
    'previousDateFrom': '2024-01-15T10:30:00Z',
}

response = requests.post(
    'https://api.selsup.ru/api/return/download',
    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/return/download?productAnalyticField=BARCODE&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&withDuplicate=true&limit=100&page=1&sortBy=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20sortBy&ascending=true&id=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&isMarketPlaceStructure=true&isDashboard=true&analyticsField=PRODUCT&planDayCount=42&groupByView=true&warehouses=&regions=%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C&group=true&calculationByOrders=true&sourceReport=DEFAULT&skipDayWithoutStocks=true&isSaleStructure=true&isAveragePerOneUnit=true&updateDate=true&useWeightedGroup=true&isFindirRequest=true&brandIds=&categoryIds=&articles=ART-001&colors=&sizes=&barcodes=4600123456789&penaltyFrom=1&penaltyTo=1&logisticsFrom=1&logisticsTo=1&marginFrom=1&marginTo=1&totalSalesAmountFrom=2500&totalSalesAmountTo=2500&grossProfitFrom=1&grossProfitTo=1&period=DAY&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&services=&categories=&brands=&clientOrganizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&organizations=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&ids=&type=standard&types=standard&status=active&timeZone=1&previousDateFrom=2024-01-15T10%3A30%3A00Z", 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/return/download?productAnalyticField=BARCODE&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&withDuplicate=true&limit=100&page=1&sortBy=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20sortBy&ascending=true&id=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&isMarketPlaceStructure=true&isDashboard=true&analyticsField=PRODUCT&planDayCount=42&groupByView=true&warehouses=&regions=%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C&group=true&calculationByOrders=true&sourceReport=DEFAULT&skipDayWithoutStocks=true&isSaleStructure=true&isAveragePerOneUnit=true&updateDate=true&useWeightedGroup=true&isFindirRequest=true&brandIds=&categoryIds=&articles=ART-001&colors=&sizes=&barcodes=4600123456789&penaltyFrom=1&penaltyTo=1&logisticsFrom=1&logisticsTo=1&marginFrom=1&marginTo=1&totalSalesAmountFrom=2500&totalSalesAmountTo=2500&grossProfitFrom=1&grossProfitTo=1&period=DAY&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&services=&categories=&brands=&clientOrganizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&organizations=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&ids=&type=standard&types=standard&status=active&timeZone=1&previousDateFrom=2024-01-15T10%3A30%3A00Z"))
    .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 = [
    'productAnalyticField' => 'BARCODE',
    'query' => 'Пример query',
    'withDuplicate' => 'true',
    'limit' => '100',
    'page' => '1',
    'sortBy' => 'Пример sortBy',
    'ascending' => 'true',
    'id' => 'Иванович',
    'isMarketPlaceStructure' => 'true',
    'isDashboard' => 'true',
    'analyticsField' => 'PRODUCT',
    'planDayCount' => '42',
    'groupByView' => 'true',
    'warehouses' => '',
    'regions' => 'Московская область',
    'group' => 'true',
    'calculationByOrders' => 'true',
    'sourceReport' => 'DEFAULT',
    'skipDayWithoutStocks' => 'true',
    'isSaleStructure' => 'true',
    'isAveragePerOneUnit' => 'true',
    'updateDate' => 'true',
    'useWeightedGroup' => 'true',
    'isFindirRequest' => 'true',
    'brandIds' => '',
    'categoryIds' => '',
    'articles' => 'ART-001',
    'colors' => '',
    'sizes' => '',
    'barcodes' => '4600123456789',
    'penaltyFrom' => '1',
    'penaltyTo' => '1',
    'logisticsFrom' => '1',
    'logisticsTo' => '1',
    'marginFrom' => '1',
    'marginTo' => '1',
    'totalSalesAmountFrom' => '2500',
    'totalSalesAmountTo' => '2500',
    'grossProfitFrom' => '1',
    'grossProfitTo' => '1',
    'period' => 'DAY',
    'dateFrom' => '2024-01-15T10:30:00Z',
    'dateTo' => '2024-01-15T10:30:00Z',
    'services' => '',
    'categories' => '',
    'brands' => '',
    'clientOrganizationId' => 'АО "Торговый дом"',
    'organizations' => 'АО "Торговый дом"',
    'ids' => '',
    'type' => 'standard',
    'types' => 'standard',
    'status' => 'active',
    'timeZone' => '1',
    'previousDateFrom' => '2024-01-15T10:30:00Z',
];

$url = 'https://api.selsup.ru/api/return/download?' . 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/return/download?productAnalyticField=BARCODE&query=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20query&withDuplicate=true&limit=100&page=1&sortBy=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20sortBy&ascending=true&id=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&isMarketPlaceStructure=true&isDashboard=true&analyticsField=PRODUCT&planDayCount=42&groupByView=true&warehouses=&regions=%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C&group=true&calculationByOrders=true&sourceReport=DEFAULT&skipDayWithoutStocks=true&isSaleStructure=true&isAveragePerOneUnit=true&updateDate=true&useWeightedGroup=true&isFindirRequest=true&brandIds=&categoryIds=&articles=ART-001&colors=&sizes=&barcodes=4600123456789&penaltyFrom=1&penaltyTo=1&logisticsFrom=1&logisticsTo=1&marginFrom=1&marginTo=1&totalSalesAmountFrom=2500&totalSalesAmountTo=2500&grossProfitFrom=1&grossProfitTo=1&period=DAY&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&services=&categories=&brands=&clientOrganizationId=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&organizations=%D0%90%D0%9E%20%22%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC%22&ids=&type=standard&types=standard&status=active&timeZone=1&previousDateFrom=2024-01-15T10%3A30%3A00Z' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

🔗 Поиск возвратов

Возвращает список возвратных отправлений, найденных по фильтру
GET /api/return/find

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

Название Тип Обязательный Описание
id integer Нет ID возврата
organizationId integer Нет Идентификатор организации.
orderType "FBM""FBS""INCOME""RETAIL""WHOLESALE""FBO""MOVEMENT""WRITE_OFF""PRODUCTION" Нет Тип заказа FBO/FBS.
orderBarcode string Нет Штрих-код изначального отправления (Ozon: clearing_id).
services Array of string Нет Маркетплейсы по которым показать данные
barcode string Нет Штрих-код на возвратном отправлении (Ozon: return_barcode, WB: shkId).
productBarcode string Нет Штрих-код на возвратном отправлении (WB: barcode).
article string Нет Артикул товара на момент создания возврата.
externalOrderId integer Нет Номер отправления на маркетплейсе (Ozon: posting_number, WB: stickerId, ЯМ: orderId).
returnOrderId integer Нет Номер возвратного отправления (Ozon: return_clearing_id, WB: srid, ЯМ:id).
externalProductId integer Нет ID товара на маркетплейсе (Ozon: product_id, WB: nmId).
officeId integer Нет ID офиса/ПВЗ маркетплейса (Ozon: place_id, WB: dstOfficeId).
officeAddress string Нет Адрес офиса/ПВЗ маркетплейса (WB: dstOfficeAddress).
orderId integer Нет ID заказа SelSup
orderProductId integer Нет ID позиции заказа SelSup
returnReasonName string Нет Причина возврата (Ozon: return_reason_name)
status string Нет Статус возврата
modifyDate Date Нет Дата последнего изменения статуса или полей возвратного отправления.
dateFrom Date Нет Дата с которой ищем возвраты.
dateTo Date Нет Дата до которой ищем возвраты.
modifiedDateFrom Date Нет Дата с которой ищем возвраты.
modifiedDateTo Date Нет Дата до которой ищем возвраты.
limit integer Нет Ограничение на количество записей. Максимальное значение - 500
page integer Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy "ID""ORDER_TYPE""ORDER_BARCODE""BARCODE""PRODUCT_BARCODE""ARTICLE""EXTERNAL_ORDER_ID""RETURN_ORDER_ID""EXTERNAL_PRODUCT_ID""QUANTITY""OFFICE_ID""OFFICE_ADDRESS""ORDER_ID""PRICE""CURRENCY_CODE""SERVICE_ID""CREATED_DATE""RETURN_DATE""RETURN_REASON_NAME""STATUS""MODIFY_DATE" Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.

Тело ответа

✓ 200 OK
Content-Type: application/json
Тип ответа: ReturnReport
Элементы массива
Поле Тип Описание
id integer Нет Идентификатор возврата.
orderType string Нет Тип заказа FBO/FBS.
orderBarcode string Нет Штрих-код изначального отправления (Ozon: clearing_id).
barcode string Нет Штрих-код на возвратном отправлении (Ozon: return_barcode, WB: shkId).
productBarcode string Нет Штрих-код на возвратном отправлении (WB: barcode).
article string Нет Артикул товара на момент создания возврата.
externalOrderId string Нет Номер отправления на маркетплейсе (Ozon: posting_number, WB: stickerId, ЯМ: orderId).
returnOrderId string Нет Номер возвратного отправления (Ozon: return_clearing_id, WB: srid, ЯМ:id).
externalProductId integer Нет Идентификатор товара на маркетплейсе (Ozon: product_id, WB: nmId, YM: marketSku).
quantity integer Нет Количество товара для возврата, WB: 1 всегда.
officeId integer Нет Идентификатор офиса/ПВЗ маркетплейса (Ozon: place_id, WB: dstOfficeId).
officeAddress string Нет Адрес офиса/ПВЗ маркетплейса (WB: dstOfficeAddress).
orderId integer Нет Идентификатор заказа SelSup.
price number Нет Цена товара.
currencyCode string Нет Валюта.
orderProductId integer Нет Идентификатор позиции заказа SelSup.
returnDate string Нет Дата возврата (Ozon: return_date, WB: orderDt).
returnReasonName string Нет Причина возврата (Ozon: return_reason_name).
status string Нет Статус возврата.
modifyDate string Нет Дата последнего изменения статуса или полей возвратного отправления.
createdDate string Нет Дата создания записи о возврате.
uniqueId string Нет Уникальный идентификатор
service string Нет Сервис
productId integer Нет Идентификатор продукта
productViewId integer Нет Идентификатор представления продукта
productModelId integer Нет Идентификатор модели продукта
clientId integer Нет Идентификатор клиента
organizationId 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 = {
  id: 'Иванович',
  organizationId: 'АО "Торговый дом"',
  orderType: 'standard',
  orderBarcode: '4600123456789',
  services: '',
  barcode: '4600123456789',
  productBarcode: '4600123456789',
  article: 'ART-001',
  externalOrderId: 'Пример externalOrderId',
  returnOrderId: 'Пример returnOrderId',
  externalProductId: '123',
  officeId: '101',
  officeAddress: 'г. Москва, ул. Ленина, д. 1, оф. 101',
  orderId: '123',
  orderProductId: '123',
  returnReasonName: 'Название returnReasonName',
  status: 'active',
  modifyDate: '2024-01-15T10:30:00Z',
  dateFrom: '2024-01-15T10:30:00Z',
  dateTo: '2024-01-15T10:30:00Z',
  modifiedDateFrom: '2024-01-15T10:30:00Z',
  modifiedDateTo: '2024-01-15T10:30:00Z',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'ID',
  ascending: 'true',
};

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

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

interface QueryParams {
  id?: number;
  organizationId?: number;
  orderType?: string;
  orderBarcode?: string;
  services?: string;
  barcode?: string;
  productBarcode?: string;
  article?: string;
  externalOrderId?: string;
  returnOrderId?: string;
  externalProductId?: number;
  officeId?: number;
  officeAddress?: string;
  orderId?: number;
  orderProductId?: number;
  returnReasonName?: string;
  status?: string;
  modifyDate?: string;
  dateFrom?: string;
  dateTo?: string;
  modifiedDateFrom?: string;
  modifiedDateTo?: string;
  limit?: number;
  page?: number;
  count?: string;
  sortBy?: string;
  ascending?: string;
}

const params: QueryParams = {
  id: 'Иванович',
  organizationId: 'АО "Торговый дом"',
  orderType: 'standard',
  orderBarcode: '4600123456789',
  services: '',
  barcode: '4600123456789',
  productBarcode: '4600123456789',
  article: 'ART-001',
  externalOrderId: 'Пример externalOrderId',
  returnOrderId: 'Пример returnOrderId',
  externalProductId: '123',
  officeId: '101',
  officeAddress: 'г. Москва, ул. Ленина, д. 1, оф. 101',
  orderId: '123',
  orderProductId: '123',
  returnReasonName: 'Название returnReasonName',
  status: 'active',
  modifyDate: '2024-01-15T10:30:00Z',
  dateFrom: '2024-01-15T10:30:00Z',
  dateTo: '2024-01-15T10:30:00Z',
  modifiedDateFrom: '2024-01-15T10:30:00Z',
  modifiedDateTo: '2024-01-15T10:30:00Z',
  limit: '100',
  page: '1',
  count: 'Россия',
  sortBy: 'ID',
  ascending: 'true',
};

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

console.log(response.data);
import requests

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

params = {
    'id': 'Иванович',
    'organizationId': 'АО "Торговый дом"',
    'orderType': 'standard',
    'orderBarcode': '4600123456789',
    'services': '',
    'barcode': '4600123456789',
    'productBarcode': '4600123456789',
    'article': 'ART-001',
    'externalOrderId': 'Пример externalOrderId',
    'returnOrderId': 'Пример returnOrderId',
    'externalProductId': '123',
    'officeId': '101',
    'officeAddress': 'г. Москва, ул. Ленина, д. 1, оф. 101',
    'orderId': '123',
    'orderProductId': '123',
    'returnReasonName': 'Название returnReasonName',
    'status': 'active',
    'modifyDate': '2024-01-15T10:30:00Z',
    'dateFrom': '2024-01-15T10:30:00Z',
    'dateTo': '2024-01-15T10:30:00Z',
    'modifiedDateFrom': '2024-01-15T10:30:00Z',
    'modifiedDateTo': '2024-01-15T10:30:00Z',
    'limit': '100',
    'page': '1',
    'count': 'Россия',
    'sortBy': 'ID',
    'ascending': 'true',
}

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

print(response.json())
package main

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

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

    req, _ := http.NewRequest("get", "https://api.selsup.ru/api/return/find?id=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&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&orderType=standard&orderBarcode=4600123456789&services=&barcode=4600123456789&productBarcode=4600123456789&article=ART-001&externalOrderId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20externalOrderId&returnOrderId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20returnOrderId&externalProductId=123&officeId=101&officeAddress=%D0%B3.%20%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%2C%20%D1%83%D0%BB.%20%D0%9B%D0%B5%D0%BD%D0%B8%D0%BD%D0%B0%2C%20%D0%B4.%201%2C%20%D0%BE%D1%84.%20101&orderId=123&orderProductId=123&returnReasonName=%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20returnReasonName&status=active&modifyDate=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&modifiedDateFrom=2024-01-15T10%3A30%3A00Z&modifiedDateTo=2024-01-15T10%3A30%3A00Z&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=ID&ascending=true", nil)
    req.Header.Set("Authorization", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

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

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

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.selsup.ru/api/return/find?id=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&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&orderType=standard&orderBarcode=4600123456789&services=&barcode=4600123456789&productBarcode=4600123456789&article=ART-001&externalOrderId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20externalOrderId&returnOrderId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20returnOrderId&externalProductId=123&officeId=101&officeAddress=%D0%B3.%20%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%2C%20%D1%83%D0%BB.%20%D0%9B%D0%B5%D0%BD%D0%B8%D0%BD%D0%B0%2C%20%D0%B4.%201%2C%20%D0%BE%D1%84.%20101&orderId=123&orderProductId=123&returnReasonName=%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20returnReasonName&status=active&modifyDate=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&modifiedDateFrom=2024-01-15T10%3A30%3A00Z&modifiedDateTo=2024-01-15T10%3A30%3A00Z&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=ID&ascending=true"))
    .header("Authorization", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .get(HttpRequest.BodyPublishers.noBody())
    .build();

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

$params = [
    'id' => 'Иванович',
    'organizationId' => 'АО "Торговый дом"',
    'orderType' => 'standard',
    'orderBarcode' => '4600123456789',
    'services' => '',
    'barcode' => '4600123456789',
    'productBarcode' => '4600123456789',
    'article' => 'ART-001',
    'externalOrderId' => 'Пример externalOrderId',
    'returnOrderId' => 'Пример returnOrderId',
    'externalProductId' => '123',
    'officeId' => '101',
    'officeAddress' => 'г. Москва, ул. Ленина, д. 1, оф. 101',
    'orderId' => '123',
    'orderProductId' => '123',
    'returnReasonName' => 'Название returnReasonName',
    'status' => 'active',
    'modifyDate' => '2024-01-15T10:30:00Z',
    'dateFrom' => '2024-01-15T10:30:00Z',
    'dateTo' => '2024-01-15T10:30:00Z',
    'modifiedDateFrom' => '2024-01-15T10:30:00Z',
    'modifiedDateTo' => '2024-01-15T10:30:00Z',
    'limit' => '100',
    'page' => '1',
    'count' => 'Россия',
    'sortBy' => 'ID',
    'ascending' => 'true',
];

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

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

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

echo $response;
?>
curl -X get \
  'https://api.selsup.ru/api/return/find?id=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&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&orderType=standard&orderBarcode=4600123456789&services=&barcode=4600123456789&productBarcode=4600123456789&article=ART-001&externalOrderId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20externalOrderId&returnOrderId=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20returnOrderId&externalProductId=123&officeId=101&officeAddress=%D0%B3.%20%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%2C%20%D1%83%D0%BB.%20%D0%9B%D0%B5%D0%BD%D0%B8%D0%BD%D0%B0%2C%20%D0%B4.%201%2C%20%D0%BE%D1%84.%20101&orderId=123&orderProductId=123&returnReasonName=%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20returnReasonName&status=active&modifyDate=2024-01-15T10%3A30%3A00Z&dateFrom=2024-01-15T10%3A30%3A00Z&dateTo=2024-01-15T10%3A30%3A00Z&modifiedDateFrom=2024-01-15T10%3A30%3A00Z&modifiedDateTo=2024-01-15T10%3A30%3A00Z&limit=100&page=1&count=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&sortBy=ID&ascending=true' \
  -H 'Authorization: YOUR_API_KEY' \
  -H 'Content-Type: application/json'