开始使用出口
使用专用API代币,首先验证测试数据的读取操作.
- 保存代币服务器侧,然后将其发送到Authorization标题中.
- 检查所需参数,并扩大请求或响应方案.
- 在应用错误中处理HTTP状态和稳定的error字段.
通过可编辑的独立合同来支持本页面. 在生产使用之前,验证使用测试数据的写作操作.
/api/export
准备使用的工作流程
使用专用API代币,首先验证测试数据的读取操作.
数据模型
模型在此列出一次,并且可以直接从使用它们的终端点扩展.
idinteger · int64Id.
read-onlystatusstringStatus.
read-onlytypestringType.
read-onlynamestring姓名.
clientIdinteger · int64客户身份证.
entityIdinteger · int64实体身份证
progressinteger · int32进步.
processedQuantityinteger · int32处理量
organizationIdinteger · int64组织身份证.
priorityinteger · int32优先考虑.
propertiesstring房产.
messagestring信息.
messageParamsstring消息帕拉姆.
createdDatestring · date-time创造日期.
startDatestring · date-time开始日期.
finishDatestring · date-time终结日期.
urlstring查看一个URL.
inputFileUrlstring输入文件URL.
retryNumberinteger · int32复试号码.
userIdinteger · int32用户身份证
retryDatestring · date-time试一次.
debugboolean调试.
forcedStartboolean强迫开始.
servicestring服务.
langstringLang.
markIdsinteger[]标签标识.
fromOrganizationIdinteger · int64组织身份证.
toOrganizationIdinteger · int64组织身份证.
servicestring服务.
documentNumberstring文件号码.
documentDatestring · date文件日期.
positionsinteger · int32位置.
codesinteger · int32代码.
quantityinteger · int32量量.
totalWithoutVatnumber完全没有水.
vatAmountnumber量
totalWithVatnumber完全与VAT.
limitinteger · int32限制.
pageinteger · int32页面.
countboolean伯爵.
sortBystring排序了.
ascendingboolean升高.
querystring问问.
articlestring关于此的文章.
colorstring颜色.
viewIdinteger · int64查看ID.
skuViewIdinteger · int64查看SkuID.
modelIdinteger · int64模型身份证.
groupIdinteger · int64组身份证.
groupIdsinteger[]集团身份证.
needToBuyboolean需要买.
planDaysinteger · int32计划日.
daysToSupplyinteger · int32供应时间.
organizationsinteger[]组织.
needUpdatePriceboolean需要更新价格.
testCardboolean测试卡.
hasImagesboolean有图像.
isDuplicateboolean是复制.
hasWildberriesIdboolean有野生果身份证.
hasSupplyingQuantityboolean现在,我们有大量的供应.
noWbImagesboolean没有Wb图像.
noOzonImagesboolean没有臭氧图像.
noYMImagesboolean没有YMI图像.
deletedboolean删除了.
hasGroupboolean有一个小组.
modelDeletedboolean模型被删除.
viewDeletedboolean视图已删除.
inStockboolean在斯托克.
noStockboolean没有股票.
inFbsStockboolean在联邦调查局股票.
noFbsStockboolean没有联邦调查局股票.
inFboStockboolean在FBO股票.
noFboStockboolean没有FBI股票.
hasStockInWarehouseinteger · int64库存存储存.
hasQuantityboolean拥有量.
noStockInWarehouseinteger · int64没有库存.
groupedboolean集团.
uniqViewboolean唯一的视角.
uniqViewSkuboolean唯一的视角是Sku.
uniqModelboolean唯一的模型.
uniqSkuboolean唯一的苏.
contractorsinteger[]承包商.
categoriesinteger[]类别.
brandsinteger[]品牌.
stockRefreshDatestring · date-time股票更新日期.
wildberriesRatinginteger[]果排名.
wildberriesCardDoesNotOpenboolean果卡没有开放.
productIdinteger · int64产品身份证
productIdsinteger[]产品身份证
sourceOrganizationIdsinteger[]来源组织身份证.
needImportWildberriesCardboolean需要进口野生卡.
needImportOzonCardboolean需要进口臭氧卡.
needImportAliexpressCardboolean需要进口阿里埃克斯普雷斯卡.
needUpdateFromSimalandboolean需要Simaland的更新.
favouriteboolean我最喜欢的.
statusstringStatus.
modifiedAfterstring · date-time后面修改.
actualboolean实际的.
skuIdinteger · int64现在,我知道.
skuIdsinteger[]斯库的身份证.
lastInventoryIdinteger · int32最后的库存身份证.
strategyIdinteger · int64战略身份.
strategyIdsinteger[]战略身份证.
cellIdinteger · int32电话身份证.
itemIdinteger · int64标签:
warehouseIdinteger · int64仓库身份证.
avitoCategoryIdinteger · int64果类别的身份
hasAvitoCategoryboolean拥有Avido类别.
servicesstring[]服务.
createdInstring[]创造在.
duplicateboolean复制.
orderServicestring订单服务.
productTypestring产品类型
withCategoryAndBrandboolean品牌和类别.
allServicesboolean服务所有.
inWarehouseRegionsstring[]在仓库地区.
inWarehousesinteger[]在仓库里.
excludeStockWarehousesinteger[]排除库存仓库.
incomeOrderIdinteger · int64收入订单身份证.
incomeIdinteger · int64收入证.
itemIncomeOrderIdinteger · int64收入指令的标识.
dateFromstring · date-time时间从.
dateTostring · date-time约会到.
plannedSupplyDatestring · date-time预计供应日期.
timeZoneinteger · int32时间区.
idsinteger[]身份证.
skipDayWithoutStocksboolean没有股票的节日.
countByOrdersboolean按照命令计算.
requierPlannumber · double雷克维尔计划.
forPricesboolean为了价格.
deliveryDatestring交货日期.
onlyEmptyParchasePriceboolean只有空价格.
onlyEmptyDeliveryCostPriceboolean只有空货运费用.
forFboSupplyPlanboolean对于FBO供应计划.
ignoreParamsboolean忽略帕拉姆斯.
ungroupWarehousesboolean没有组装仓库.
replaceSetsByComponentsboolean取代组件以组件.
distributeFbsByWarehouseboolean根据仓库分发FBS.
distributeFbsStockboolean发行联邦调查局股票.
ignoreDumpingboolean忽略.
distributeAllRecommendationsboolean给大家提供建议.
limitByFbsStocksboolean根据联邦调查局股票的限制.
useSalesPlanboolean使用销售计划.
packagingTypestring包装类型
notGroupComponentsboolean没有组件.
modelArticlestring标题:
serviceArticlestring服务条款
serviceArticleServicestring服务条款服务.
ozonArticlestring臭氧条款
yandexMarketShopSkustring亚兰德克斯市场商店Sku.
sberArticlestring其他国家
wbArticlestring关于"世界杯"的文章.
barcodestring条码.
namestring姓名.
reportSheetsstring报告表.
forSupplyPlanboolean供应计划.
tagIdsinteger[]标签身份证.
findirTipTypesstring[]找个提示类型.
removeFbsStockboolean删除FBS股票.
brandIdinteger · int64品牌身份证.
countByOrdersOrSalesboolean根据订单或销售量计算.
idinteger · int64Id.
fileExportIdinteger · int64文件出口身份证
columnNamestring列名
columnOrderinteger · int32列队的命令.
isEnabledboolean已启用.
错误合同
编程的代码在每个地方都相同,而用户面向的消息由服务器翻译. 建立在error周围的应用逻辑,仅用于显示.
鱼类稳定机器可读的代码用于集成逻辑.
鱼类在API代币用户语言中显示准备的消息.
鱼类服务器在本地化消息模板中插入的值.
localMessage使用了 API代币的用户的lang字段.文档语言和 Accept-Language标题不会改变它;当用户没有语言配置时,使用俄语.
{
"error": "error_brand_already_exists",
"localMessage": "Бренд Base уже существует",
"params": {
"name": "Base"
}
}{
"error": "error_brand_already_exists",
"localMessage": "品牌 Base 已经存在",
"params": {
"name": "Base"
}
}终点
/api/export/uploadImagesToWildberries使用POST/api/export/uploadImagesToWildberries.将图像上传到Wildberries
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
photographyId |
integer · int64 | 是 | 照片身份证 |
override |
boolean | 否 | 过渡. |
useLinks |
boolean | 否 | 使用链接. |
curl --request POST 'https://api.selsup.ru/api/export/uploadImagesToWildberries?photographyId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/uploadImagesToWildberries?photographyId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/uploadImagesToWildberries?photographyId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/uploadImagesToWildberries?photographyId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/uploadImagesToWildberries?photographyId=1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/uploadImagesToWildberries?photographyId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/uploadImagesToWildberries?photographyId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
TmsTask
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
status |
stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION | 否 | Status. |
type |
stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT | 否 | Type. |
name |
string | 否 | 姓名. |
clientId |
integer · int64 | 否 | 客户身份证. |
entityId |
integer · int64 | 否 | 实体身份证 |
progress |
integer · int32 | 否 | 进步. |
processedQuantity |
integer · int32 | 否 | 处理量 |
organizationId |
integer · int64 | 否 | 组织身份证. |
priority |
integer · int32 | 否 | 优先考虑. |
properties |
string | 否 | 房产. |
message |
string | 否 | 信息. |
messageParams |
string | 否 | 消息帕拉姆. |
createdDate |
string · date-time | 否 | 创造日期. |
startDate |
string · date-time | 否 | 开始日期. |
finishDate |
string · date-time | 否 | 终结日期. |
url |
string | 否 | 查看一个URL. |
inputFileUrl |
string | 否 | 输入文件URL. |
retryNumber |
integer · int32 | 否 | 复试号码. |
userId |
integer · int32 | 否 | 用户身份证 |
retryDate |
string · date-time | 否 | 试一次. |
debug |
boolean | 否 | 调试. |
forcedStart |
boolean | 否 | 强迫开始. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
lang |
string | 否 | Lang. |
{
"id": 1001,
"status": "CREATED",
"type": "WILDBERRIES_CREATE_CARD",
"name": "Example",
"clientId": 1001,
"entityId": 1001
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_images_upload应用逻辑中使用稳定的error_images_upload代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_images应用逻辑中使用稳定的error_no_images代码;localMessage包含上述翻译.
error_no_wildberries_id应用逻辑中使用稳定的error_no_wildberries_id代码;localMessage包含上述翻译.
error_not_found_view应用逻辑中使用稳定的error_not_found_view代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_remote_error应用逻辑中使用稳定的error_remote_error代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_token_expired_or_revoked应用逻辑中使用稳定的error_token_expired_or_revoked代码;localMessage包含上述翻译.
error_wb_card_limit应用逻辑中使用稳定的error_wb_card_limit代码;localMessage包含上述翻译.
error_wb_internal_error应用逻辑中使用稳定的error_wb_internal_error代码;localMessage包含上述翻译.
/api/export/stocksFile使用 POST /api/export/stocksFile.的库存文件
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
warehouseId |
integer · int64 | 否 | 仓库身份证. |
byCell |
boolean | 否 | 通过细胞. |
byExpirationDate |
boolean | 否 | 截止到过期日期. |
byProductionDate |
boolean | 否 | 产品日期 |
byGtd |
boolean | 否 | 通过Gtd. |
curl --request POST 'https://api.selsup.ru/api/export/stocksFile' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/stocksFile', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/stocksFile', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/stocksFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/stocksFile',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/stocksFile", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/stocksFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
TmsTask
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
status |
stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION | 否 | Status. |
type |
stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT | 否 | Type. |
name |
string | 否 | 姓名. |
clientId |
integer · int64 | 否 | 客户身份证. |
entityId |
integer · int64 | 否 | 实体身份证 |
progress |
integer · int32 | 否 | 进步. |
processedQuantity |
integer · int32 | 否 | 处理量 |
organizationId |
integer · int64 | 否 | 组织身份证. |
priority |
integer · int32 | 否 | 优先考虑. |
properties |
string | 否 | 房产. |
message |
string | 否 | 信息. |
messageParams |
string | 否 | 消息帕拉姆. |
createdDate |
string · date-time | 否 | 创造日期. |
startDate |
string · date-time | 否 | 开始日期. |
finishDate |
string · date-time | 否 | 终结日期. |
url |
string | 否 | 查看一个URL. |
inputFileUrl |
string | 否 | 输入文件URL. |
retryNumber |
integer · int32 | 否 | 复试号码. |
userId |
integer · int32 | 否 | 用户身份证 |
retryDate |
string · date-time | 否 | 试一次. |
debug |
boolean | 否 | 调试. |
forcedStart |
boolean | 否 | 强迫开始. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
lang |
string | 否 | Lang. |
{
"id": 1001,
"status": "CREATED",
"type": "WILDBERRIES_CREATE_CARD",
"name": "Example",
"clientId": 1001,
"entityId": 1001
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/invoice/wb/nds-upd使用 POST /api/export/invoice/wb/nds-upd. 下载Wb文档
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
clientOrganizationId |
integer · int64 | 是 | 客户组织身份证. |
multipart/form-data| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
file |
string · binary | 是 | 文件. |
curl --request POST 'https://api.selsup.ru/api/export/invoice/wb/nds-upd?clientOrganizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN' \
--form 'file=@./file.bin'
const form = new FormData();
form.append('file', fileInput.files[0]);
const response = await fetch('https://api.selsup.ru/api/export/invoice/wb/nds-upd?clientOrganizationId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
body: form,
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const form: FormData = new FormData();
form.append('file', fileInput.files![0]);
const response: Response = await fetch('https://api.selsup.ru/api/export/invoice/wb/nds-upd?clientOrganizationId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
body: form,
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/invoice/wb/nds-upd?clientOrganizationId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
files={'file': open('./logo.png', 'rb')},
)
response.raise_for_status()
result = response.json()
<?php
$payload = ['file' => new CURLFile('./logo.png')];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/invoice/wb/nds-upd?clientOrganizationId=1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
"path/filepath"
)
func main() {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
file, err := os.Open("./logo.png")
if err != nil { panic(err) }
defer file.Close()
part, err := writer.CreateFormFile("file", filepath.Base(file.Name()))
if err != nil { panic(err) }
if _, err = io.Copy(part, file); err != nil { panic(err) }
writer.Close()
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/invoice/wb/nds-upd?clientOrganizationId=1001", &body)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", writer.FormDataContentType())
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
public class SelSupExample {
public static void main(String[] args) throws Exception {
String boundary = "SelSupBoundary" + System.currentTimeMillis();
byte[] file = Files.readAllBytes(Path.of("./logo.png"));
byte[] head = ("--" + boundary + "\r\n" +
"Content-Disposition: form-data; name=\"file\"; filename=\"logo.png\"\r\n" +
"Content-Type: image/png\r\n\r\n").getBytes(StandardCharsets.UTF_8);
byte[] tail = ("\r\n--" + boundary + "--\r\n").getBytes(StandardCharsets.UTF_8);
byte[] payload = new byte[head.length + file.length + tail.length];
System.arraycopy(head, 0, payload, 0, head.length);
System.arraycopy(file, 0, payload, head.length, file.length);
System.arraycopy(tail, 0, payload, head.length + file.length, tail.length);
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/invoice/wb/nds-upd?clientOrganizationId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "multipart/form-data; boundary=" + boundary)
.method("POST", HttpRequest.BodyPublishers.ofByteArray(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_cant_open_file应用逻辑中使用稳定的error_cant_open_file代码;localMessage包含上述翻译.
error_column_not_found应用逻辑中使用稳定的error_column_not_found代码;localMessage包含上述翻译.
error_empty_bill_price应用逻辑中使用稳定的error_empty_bill_price代码;localMessage包含上述翻译.
error_empty_customer_name应用逻辑中使用稳定的error_empty_customer_name代码;localMessage包含上述翻译.
error_empty_external_order_id应用逻辑中使用稳定的error_empty_external_order_id代码;localMessage包含上述翻译.
error_empty_product_codes应用逻辑中使用稳定的error_empty_product_codes代码;localMessage包含上述翻译.
error_empty_products应用逻辑中使用稳定的error_empty_products代码;localMessage包含上述翻译.
error_empty_taxRate应用逻辑中使用稳定的error_empty_taxRate代码;localMessage包含上述翻译.
error_incorrect_date应用逻辑中使用稳定的error_incorrect_date代码;localMessage包含上述翻译.
error_incorrect_excel应用逻辑中使用稳定的error_incorrect_excel代码;localMessage包含上述翻译.
error_incorrect_service应用逻辑中使用稳定的error_incorrect_service代码;localMessage包含上述翻译.
error_max_upload_size_exceeded应用逻辑中使用稳定的error_max_upload_size_exceeded代码;localMessage包含上述翻译.
error_no_barcode应用逻辑中使用稳定的error_no_barcode代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_invoice_number应用逻辑中使用稳定的error_no_invoice_number代码;localMessage包含上述翻译.
error_no_invoice_organization应用逻辑中使用稳定的error_no_invoice_organization代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_unsupported_file_type应用逻辑中使用稳定的error_unsupported_file_type代码;localMessage包含上述翻译.
error_unsupported_mark应用逻辑中使用稳定的error_unsupported_mark代码;localMessage包含上述翻译.
error_user_does_not_have_this_organization应用逻辑中使用稳定的error_user_does_not_have_this_organization代码;localMessage包含上述翻译.
error_wrong_quantity应用逻辑中使用稳定的error_wrong_quantity代码;localMessage包含上述翻译.
/api/export/invoice/transfer使用POST/api/export/invoice/transfer.获取标记传输账单内容
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
format |
string | 否 | Format. |
application/jsonMarkTransferRequest| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
markIds |
integer[] | 否 | 标签标识. |
fromOrganizationId |
integer · int64 | 否 | 组织身份证. |
toOrganizationId |
integer · int64 | 否 | 组织身份证. |
curl --request POST 'https://api.selsup.ru/api/export/invoice/transfer' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"markIds": "string",
"fromOrganizationId": 1001,
"toOrganizationId": 1001
}'
const response = await fetch('https://api.selsup.ru/api/export/invoice/transfer', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"markIds": "string",
"fromOrganizationId": 1001,
"toOrganizationId": 1001
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/invoice/transfer', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"markIds": "string",
"fromOrganizationId": 1001,
"toOrganizationId": 1001
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/invoice/transfer',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'markIds': 'string',
'fromOrganizationId': 1001,
'toOrganizationId': 1001
},
)
response.raise_for_status()
result = response.json()
<?php
$payload = <<<'JSON'
{
"markIds": "string",
"fromOrganizationId": 1001,
"toOrganizationId": 1001
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/invoice/transfer',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/invoice/transfer", strings.NewReader(`{
"markIds": "string",
"fromOrganizationId": 1001,
"toOrganizationId": 1001
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/invoice/transfer"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"markIds": "string",
"fromOrganizationId": 1001,
"toOrganizationId": 1001
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/invoice/from-file使用POST/api/export/invoice/from-file.下载账单
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
clientOrganizationId |
integer · int64 | 是 | 客户组织身份证. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 是 | 服务. |
documentNumber |
string | 否 | 文件号码. |
multipart/form-data| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
file |
string · binary | 是 | 文件. |
curl --request POST 'https://api.selsup.ru/api/export/invoice/from-file?clientOrganizationId=1001&service=NONE' \
--header 'Authorization: YOUR_API_TOKEN' \
--form 'file=@./file.bin'
const form = new FormData();
form.append('file', fileInput.files[0]);
const response = await fetch('https://api.selsup.ru/api/export/invoice/from-file?clientOrganizationId=1001&service=NONE', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
body: form,
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const form: FormData = new FormData();
form.append('file', fileInput.files![0]);
const response: Response = await fetch('https://api.selsup.ru/api/export/invoice/from-file?clientOrganizationId=1001&service=NONE', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
body: form,
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/invoice/from-file?clientOrganizationId=1001&service=NONE',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
files={'file': open('./logo.png', 'rb')},
)
response.raise_for_status()
result = response.json()
<?php
$payload = ['file' => new CURLFile('./logo.png')];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/invoice/from-file?clientOrganizationId=1001&service=NONE',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
"path/filepath"
)
func main() {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
file, err := os.Open("./logo.png")
if err != nil { panic(err) }
defer file.Close()
part, err := writer.CreateFormFile("file", filepath.Base(file.Name()))
if err != nil { panic(err) }
if _, err = io.Copy(part, file); err != nil { panic(err) }
writer.Close()
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/invoice/from-file?clientOrganizationId=1001&service=NONE", &body)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", writer.FormDataContentType())
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
public class SelSupExample {
public static void main(String[] args) throws Exception {
String boundary = "SelSupBoundary" + System.currentTimeMillis();
byte[] file = Files.readAllBytes(Path.of("./logo.png"));
byte[] head = ("--" + boundary + "\r\n" +
"Content-Disposition: form-data; name=\"file\"; filename=\"logo.png\"\r\n" +
"Content-Type: image/png\r\n\r\n").getBytes(StandardCharsets.UTF_8);
byte[] tail = ("\r\n--" + boundary + "--\r\n").getBytes(StandardCharsets.UTF_8);
byte[] payload = new byte[head.length + file.length + tail.length];
System.arraycopy(head, 0, payload, 0, head.length);
System.arraycopy(file, 0, payload, head.length, file.length);
System.arraycopy(tail, 0, payload, head.length + file.length, tail.length);
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/invoice/from-file?clientOrganizationId=1001&service=NONE"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "multipart/form-data; boundary=" + boundary)
.method("POST", HttpRequest.BodyPublishers.ofByteArray(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_max_upload_size_exceeded应用逻辑中使用稳定的error_max_upload_size_exceeded代码;localMessage包含上述翻译.
/api/export/invoice/from-file/preview预览使用POST/api/export/invoice/from-file/preview.的文件中的发票
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
clientOrganizationId |
integer · int64 | 是 | 客户组织身份证. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 是 | 服务. |
multipart/form-data| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
file |
string · binary | 是 | 文件. |
curl --request POST 'https://api.selsup.ru/api/export/invoice/from-file/preview?clientOrganizationId=1001&service=NONE' \
--header 'Authorization: YOUR_API_TOKEN' \
--form 'file=@./file.bin'
const form = new FormData();
form.append('file', fileInput.files[0]);
const response = await fetch('https://api.selsup.ru/api/export/invoice/from-file/preview?clientOrganizationId=1001&service=NONE', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
body: form,
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const form: FormData = new FormData();
form.append('file', fileInput.files![0]);
const response: Response = await fetch('https://api.selsup.ru/api/export/invoice/from-file/preview?clientOrganizationId=1001&service=NONE', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
body: form,
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/invoice/from-file/preview?clientOrganizationId=1001&service=NONE',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
files={'file': open('./logo.png', 'rb')},
)
response.raise_for_status()
result = response.json()
<?php
$payload = ['file' => new CURLFile('./logo.png')];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/invoice/from-file/preview?clientOrganizationId=1001&service=NONE',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
"path/filepath"
)
func main() {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
file, err := os.Open("./logo.png")
if err != nil { panic(err) }
defer file.Close()
part, err := writer.CreateFormFile("file", filepath.Base(file.Name()))
if err != nil { panic(err) }
if _, err = io.Copy(part, file); err != nil { panic(err) }
writer.Close()
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/invoice/from-file/preview?clientOrganizationId=1001&service=NONE", &body)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", writer.FormDataContentType())
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
public class SelSupExample {
public static void main(String[] args) throws Exception {
String boundary = "SelSupBoundary" + System.currentTimeMillis();
byte[] file = Files.readAllBytes(Path.of("./logo.png"));
byte[] head = ("--" + boundary + "\r\n" +
"Content-Disposition: form-data; name=\"file\"; filename=\"logo.png\"\r\n" +
"Content-Type: image/png\r\n\r\n").getBytes(StandardCharsets.UTF_8);
byte[] tail = ("\r\n--" + boundary + "--\r\n").getBytes(StandardCharsets.UTF_8);
byte[] payload = new byte[head.length + file.length + tail.length];
System.arraycopy(head, 0, payload, 0, head.length);
System.arraycopy(file, 0, payload, head.length, file.length);
System.arraycopy(tail, 0, payload, head.length + file.length, tail.length);
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/invoice/from-file/preview?clientOrganizationId=1001&service=NONE"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "multipart/form-data; boundary=" + boundary)
.method("POST", HttpRequest.BodyPublishers.ofByteArray(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
InvoiceFilePreview
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
documentNumber |
string | 否 | 文件号码. |
documentDate |
string · date | 否 | 文件日期. |
positions |
integer · int32 | 否 | 位置. |
codes |
integer · int32 | 否 | 代码. |
quantity |
integer · int32 | 否 | 量量. |
totalWithoutVat |
number | 否 | 完全没有水. |
vatAmount |
number | 否 | 量 |
totalWithVat |
number | 否 | 完全与VAT. |
{
"service": "NONE",
"documentNumber": "string",
"documentDate": "2026-01-15",
"positions": 1,
"codes": 1,
"quantity": 1
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_cant_open_file应用逻辑中使用稳定的error_cant_open_file代码;localMessage包含上述翻译.
error_column_not_found应用逻辑中使用稳定的error_column_not_found代码;localMessage包含上述翻译.
error_empty_bill_price应用逻辑中使用稳定的error_empty_bill_price代码;localMessage包含上述翻译.
error_empty_product_codes应用逻辑中使用稳定的error_empty_product_codes代码;localMessage包含上述翻译.
error_empty_products应用逻辑中使用稳定的error_empty_products代码;localMessage包含上述翻译.
error_empty_taxRate应用逻辑中使用稳定的error_empty_taxRate代码;localMessage包含上述翻译.
error_incorrect_date应用逻辑中使用稳定的error_incorrect_date代码;localMessage包含上述翻译.
error_incorrect_excel应用逻辑中使用稳定的error_incorrect_excel代码;localMessage包含上述翻译.
error_incorrect_service应用逻辑中使用稳定的error_incorrect_service代码;localMessage包含上述翻译.
error_max_upload_size_exceeded应用逻辑中使用稳定的error_max_upload_size_exceeded代码;localMessage包含上述翻译.
error_no_barcode应用逻辑中使用稳定的error_no_barcode代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_invoice_number应用逻辑中使用稳定的error_no_invoice_number代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_unsupported_file_type应用逻辑中使用稳定的error_unsupported_file_type代码;localMessage包含上述翻译.
error_user_does_not_have_this_organization应用逻辑中使用稳定的error_user_does_not_have_this_organization代码;localMessage包含上述翻译.
error_wrong_quantity应用逻辑中使用稳定的error_wrong_quantity代码;localMessage包含上述翻译.
/api/export/getWildberriesFile使用 POST /api/export/getWildberriesFile.获取 Wildberries 文件
application/jsonProductFilter| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
limit |
integer · int32 | 否 | 限制. |
page |
integer · int32 | 否 | 页面. |
count |
boolean | 否 | 伯爵. |
sortBy |
stringACTUAL, ID, PRODUCTID, NAME, BARCODE, FAVOURITE, INSTOCKQUANTITY, FBSQUANTITY, CALCULATEDINSTOCKQUANTITY, STOCK, OZONSTOCKCOUNT, OZONSUPPLYINGQUANTITY, OZONORDERQUANTITY, OZONFBSORDERSQUANTITY, OZONSTOCKBETWEENWAREHOUSES, OZONUPDATEDPRICE, LASTWILDBERRIESORDERDATE, WILDBERRIESSTOCKCOUNT, WILDBERRIESSUPPLYINGQUANTITY, WILDBERRIESFBSORDERSQUANTITY, WILDBERRIESORDERQUANTITY, WILDBERRIESPROFIT, WILDBERRIESPRICE, WILDBERRIESUPDATEDPRICE, PRICE, PRICEWITHOUTDISCOUNT, PURCHASEPRICE, PURCHASECURRENCY, MANUFACTURER, REALSIZE, CATEGORY, VENDORSIZE, DELIVERYCOST, WILDBERRIESSALEQUANTITY, WILDBERRIESQUANTITYINWAY, OZONPRICE, OZONPROFIT, LASTOZONORDERDATE, ARTICLE, COLOR, SIZE, CREATEDUSER, ORGANIZATIONID, BRAND, CREATEDDATE, LASTSTOCKCHANGE, STATUS, CELL, ITEMID, ORDERID, PUTUSERID, PUTDATE, TAKEUSERID, TAKEDATE, INCOMEORDER, NUMBER, TOTALQUANTITY, SUPPLYORDERPRODUCTID, TOTALORDERS, UPDATEDPRICE, QUANTITY, ALIEXPRESSPRICE, YANDEXMARKETPRICE, SKU, SERVICEARTICLE, OZONARTICLE, WBARTICLE, YANDEXMARKETSHOPSKU, YANDEXMARKETSTOCKCOUNT, ALIEXPRESSSKU, SBERARTICLE, ONECARTICLE, ADD, ORDERMINDATE, INCOMEQUANTITY, SBERMEGAMARKETSUPPLYINGQUANTITY, YANDEXMARKETSUPPLYINGQUANTITY, TOTALSUPPLYINGQUANTITY, TOTALFBSORDERSCOUNT, STOCKCOUNTUNITED, FBOSTOCKCOUNT, RECOMENDSALESPLAN, WBTOTALSALESCOUNT, OZONTOTALSALESCOUNT, SBERTOTALSALESCOUNT, YANDEXTOTALSALESCOUNT, EXTERNALARTICLE, FBOSALES, IMAGESUPDATEDAT | 否 | 排序了. |
ascending |
boolean | 否 | 升高. |
query |
string | 否 | 问问. |
article |
string | 否 | 关于此的文章. |
color |
string | 否 | 颜色. |
viewId |
integer · int64 | 否 | 查看ID. |
skuViewId |
integer · int64 | 否 | 查看SkuID. |
modelId |
integer · int64 | 否 | 模型身份证. |
groupId |
integer · int64 | 否 | 组身份证. |
groupIds |
integer[] | 否 | 集团身份证. |
needToBuy |
boolean | 否 | 需要买. |
planDays |
integer · int32 | 否 | 计划日. |
daysToSupply |
integer · int32 | 否 | 供应时间. |
organizations |
integer[] | 否 | 组织. |
needUpdatePrice |
boolean | 否 | 需要更新价格. |
testCard |
boolean | 否 | 测试卡. |
hasImages |
boolean | 否 | 有图像. |
isDuplicate |
boolean | 否 | 是复制. |
hasWildberriesId |
boolean | 否 | 有野生果身份证. |
hasSupplyingQuantity |
boolean | 否 | 现在,我们有大量的供应. |
noWbImages |
boolean | 否 | 没有Wb图像. |
noOzonImages |
boolean | 否 | 没有臭氧图像. |
noYMImages |
boolean | 否 | 没有YMI图像. |
deleted |
boolean | 否 | 删除了. |
hasGroup |
boolean | 否 | 有一个小组. |
modelDeleted |
boolean | 否 | 模型被删除. |
viewDeleted |
boolean | 否 | 视图已删除. |
inStock |
boolean | 否 | 在斯托克. |
noStock |
boolean | 否 | 没有股票. |
inFbsStock |
boolean | 否 | 在联邦调查局股票. |
noFbsStock |
boolean | 否 | 没有联邦调查局股票. |
inFboStock |
boolean | 否 | 在FBO股票. |
noFboStock |
boolean | 否 | 没有FBI股票. |
hasStockInWarehouse |
integer · int64 | 否 | 库存存储存. |
hasQuantity |
boolean | 否 | 拥有量. |
noStockInWarehouse |
integer · int64 | 否 | 没有库存. |
grouped |
boolean | 否 | 集团. |
uniqView |
boolean | 否 | 唯一的视角. |
uniqViewSku |
boolean | 否 | 唯一的视角是Sku. |
uniqModel |
boolean | 否 | 唯一的模型. |
uniqSku |
boolean | 否 | 唯一的苏. |
contractors |
integer[] | 否 | 承包商. |
categories |
integer[] | 否 | 类别. |
brands |
integer[] | 否 | 品牌. |
stockRefreshDate |
string · date-time | 否 | 股票更新日期. |
wildberriesRating |
integer[] | 否 | 果排名. |
wildberriesCardDoesNotOpen |
boolean | 否 | 果卡没有开放. |
productId |
integer · int64 | 否 | 产品身份证 |
productIds |
integer[] | 否 | 产品身份证 |
sourceOrganizationIds |
integer[] | 否 | 来源组织身份证. |
needImportWildberriesCard |
boolean | 否 | 需要进口野生卡. |
needImportOzonCard |
boolean | 否 | 需要进口臭氧卡. |
needImportAliexpressCard |
boolean | 否 | 需要进口阿里埃克斯普雷斯卡. |
needUpdateFromSimaland |
boolean | 否 | 需要Simaland的更新. |
favourite |
boolean | 否 | 我最喜欢的. |
status |
stringCREATED, IN_STOCK, LOST, RESERVED, SUPPLIED, REMOVED, SALE, REFUND, INCOME_MARKETPLACE | 否 | Status. |
modifiedAfter |
string · date-time | 否 | 后面修改. |
actual |
boolean | 否 | 实际的. |
skuId |
integer · int64 | 否 | 现在,我知道. |
skuIds |
integer[] | 否 | 斯库的身份证. |
lastInventoryId |
integer · int32 | 否 | 最后的库存身份证. |
strategyId |
integer · int64 | 否 | 战略身份. |
strategyIds |
integer[] | 否 | 战略身份证. |
cellId |
integer · int32 | 否 | 电话身份证. |
itemId |
integer · int64 | 否 | 标签: |
warehouseId |
integer · int64 | 否 | 仓库身份证. |
avitoCategoryId |
integer · int64 | 否 | 果类别的身份 |
hasAvitoCategory |
boolean | 否 | 拥有Avido类别. |
services |
string[] | 否 | 服务. |
createdIn |
string[] | 否 | 创造在. |
duplicate |
boolean | 否 | 复制. |
orderService |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 订单服务. |
productType |
stringPRODUCT, SET, SERVICE, DIGITAL | 否 | 产品类型 |
withCategoryAndBrand |
boolean | 否 | 品牌和类别. |
allServices |
boolean | 否 | 服务所有. |
inWarehouseRegions |
string[] | 否 | 在仓库地区. |
inWarehouses |
integer[] | 否 | 在仓库里. |
excludeStockWarehouses |
integer[] | 否 | 排除库存仓库. |
incomeOrderId |
integer · int64 | 否 | 收入订单身份证. |
incomeId |
integer · int64 | 否 | 收入证. |
itemIncomeOrderId |
integer · int64 | 否 | 收入指令的标识. |
dateFrom |
string · date-time | 否 | 时间从. |
dateTo |
string · date-time | 否 | 约会到. |
plannedSupplyDate |
string · date-time | 否 | 预计供应日期. |
timeZone |
integer · int32 | 否 | 时间区. |
ids |
integer[] | 否 | 身份证. |
skipDayWithoutStocks |
boolean | 否 | 没有股票的节日. |
countByOrders |
boolean | 否 | 按照命令计算. |
requierPlan |
number · double | 否 | 雷克维尔计划. |
forPrices |
boolean | 否 | 为了价格. |
deliveryDate |
string | 否 | 交货日期. |
onlyEmptyParchasePrice |
boolean | 否 | 只有空价格. |
onlyEmptyDeliveryCostPrice |
boolean | 否 | 只有空货运费用. |
forFboSupplyPlan |
boolean | 否 | 对于FBO供应计划. |
ignoreParams |
boolean | 否 | 忽略帕拉姆斯. |
ungroupWarehouses |
boolean | 否 | 没有组装仓库. |
replaceSetsByComponents |
boolean | 否 | 取代组件以组件. |
distributeFbsByWarehouse |
boolean | 否 | 根据仓库分发FBS. |
distributeFbsStock |
boolean | 否 | 发行联邦调查局股票. |
ignoreDumping |
boolean | 否 | 忽略. |
distributeAllRecommendations |
boolean | 否 | 给大家提供建议. |
limitByFbsStocks |
boolean | 否 | 根据联邦调查局股票的限制. |
useSalesPlan |
boolean | 否 | 使用销售计划. |
packagingType |
stringBox, Monopallet, Supersafe, BoxOnPallet | 否 | 包装类型 |
notGroupComponents |
boolean | 否 | 没有组件. |
modelArticle |
string | 否 | 标题: |
serviceArticle |
string | 否 | 服务条款 |
serviceArticleService |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务条款服务. |
ozonArticle |
string | 否 | 臭氧条款 |
yandexMarketShopSku |
string | 否 | 亚兰德克斯市场商店Sku. |
sberArticle |
string | 否 | 其他国家 |
wbArticle |
string | 否 | 关于"世界杯"的文章. |
barcode |
string | 否 | 条码. |
name |
string | 否 | 姓名. |
reportSheets |
stringBARCODE, COLOR, ARTICLE | 否 | 报告表. |
forSupplyPlan |
boolean | 否 | 供应计划. |
tagIds |
integer[] | 否 | 标签身份证. |
findirTipTypes |
string[] | 否 | 找个提示类型. |
removeFbsStock |
boolean | 否 | 删除FBS股票. |
brandId |
integer · int64 | 否 | 品牌身份证. |
countByOrdersOrSales |
boolean | 否 | 根据订单或销售量计算. |
curl --request POST 'https://api.selsup.ru/api/export/getWildberriesFile' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}'
const response = await fetch('https://api.selsup.ru/api/export/getWildberriesFile', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/getWildberriesFile', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/getWildberriesFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'limit': 50,
'page': 1,
'count': False,
'sortBy': 'ACTUAL',
'ascending': False,
'query': 'string'
},
)
response.raise_for_status()
result = response.json()
<?php
$payload = <<<'JSON'
{
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/getWildberriesFile',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/getWildberriesFile", strings.NewReader(`{
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/getWildberriesFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
TmsTask
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
status |
stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION | 否 | Status. |
type |
stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT | 否 | Type. |
name |
string | 否 | 姓名. |
clientId |
integer · int64 | 否 | 客户身份证. |
entityId |
integer · int64 | 否 | 实体身份证 |
progress |
integer · int32 | 否 | 进步. |
processedQuantity |
integer · int32 | 否 | 处理量 |
organizationId |
integer · int64 | 否 | 组织身份证. |
priority |
integer · int32 | 否 | 优先考虑. |
properties |
string | 否 | 房产. |
message |
string | 否 | 信息. |
messageParams |
string | 否 | 消息帕拉姆. |
createdDate |
string · date-time | 否 | 创造日期. |
startDate |
string · date-time | 否 | 开始日期. |
finishDate |
string · date-time | 否 | 终结日期. |
url |
string | 否 | 查看一个URL. |
inputFileUrl |
string | 否 | 输入文件URL. |
retryNumber |
integer · int32 | 否 | 复试号码. |
userId |
integer · int32 | 否 | 用户身份证 |
retryDate |
string · date-time | 否 | 试一次. |
debug |
boolean | 否 | 调试. |
forcedStart |
boolean | 否 | 强迫开始. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
lang |
string | 否 | Lang. |
{
"id": 1001,
"status": "CREATED",
"type": "WILDBERRIES_CREATE_CARD",
"name": "Example",
"clientId": 1001,
"entityId": 1001
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/getProductsFile使用 POST /api/export/getProductsFile.获取产品文件
application/jsonProductFilter| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
limit |
integer · int32 | 否 | 限制. |
page |
integer · int32 | 否 | 页面. |
count |
boolean | 否 | 伯爵. |
sortBy |
stringACTUAL, ID, PRODUCTID, NAME, BARCODE, FAVOURITE, INSTOCKQUANTITY, FBSQUANTITY, CALCULATEDINSTOCKQUANTITY, STOCK, OZONSTOCKCOUNT, OZONSUPPLYINGQUANTITY, OZONORDERQUANTITY, OZONFBSORDERSQUANTITY, OZONSTOCKBETWEENWAREHOUSES, OZONUPDATEDPRICE, LASTWILDBERRIESORDERDATE, WILDBERRIESSTOCKCOUNT, WILDBERRIESSUPPLYINGQUANTITY, WILDBERRIESFBSORDERSQUANTITY, WILDBERRIESORDERQUANTITY, WILDBERRIESPROFIT, WILDBERRIESPRICE, WILDBERRIESUPDATEDPRICE, PRICE, PRICEWITHOUTDISCOUNT, PURCHASEPRICE, PURCHASECURRENCY, MANUFACTURER, REALSIZE, CATEGORY, VENDORSIZE, DELIVERYCOST, WILDBERRIESSALEQUANTITY, WILDBERRIESQUANTITYINWAY, OZONPRICE, OZONPROFIT, LASTOZONORDERDATE, ARTICLE, COLOR, SIZE, CREATEDUSER, ORGANIZATIONID, BRAND, CREATEDDATE, LASTSTOCKCHANGE, STATUS, CELL, ITEMID, ORDERID, PUTUSERID, PUTDATE, TAKEUSERID, TAKEDATE, INCOMEORDER, NUMBER, TOTALQUANTITY, SUPPLYORDERPRODUCTID, TOTALORDERS, UPDATEDPRICE, QUANTITY, ALIEXPRESSPRICE, YANDEXMARKETPRICE, SKU, SERVICEARTICLE, OZONARTICLE, WBARTICLE, YANDEXMARKETSHOPSKU, YANDEXMARKETSTOCKCOUNT, ALIEXPRESSSKU, SBERARTICLE, ONECARTICLE, ADD, ORDERMINDATE, INCOMEQUANTITY, SBERMEGAMARKETSUPPLYINGQUANTITY, YANDEXMARKETSUPPLYINGQUANTITY, TOTALSUPPLYINGQUANTITY, TOTALFBSORDERSCOUNT, STOCKCOUNTUNITED, FBOSTOCKCOUNT, RECOMENDSALESPLAN, WBTOTALSALESCOUNT, OZONTOTALSALESCOUNT, SBERTOTALSALESCOUNT, YANDEXTOTALSALESCOUNT, EXTERNALARTICLE, FBOSALES, IMAGESUPDATEDAT | 否 | 排序了. |
ascending |
boolean | 否 | 升高. |
query |
string | 否 | 问问. |
article |
string | 否 | 关于此的文章. |
color |
string | 否 | 颜色. |
viewId |
integer · int64 | 否 | 查看ID. |
skuViewId |
integer · int64 | 否 | 查看SkuID. |
modelId |
integer · int64 | 否 | 模型身份证. |
groupId |
integer · int64 | 否 | 组身份证. |
groupIds |
integer[] | 否 | 集团身份证. |
needToBuy |
boolean | 否 | 需要买. |
planDays |
integer · int32 | 否 | 计划日. |
daysToSupply |
integer · int32 | 否 | 供应时间. |
organizations |
integer[] | 否 | 组织. |
needUpdatePrice |
boolean | 否 | 需要更新价格. |
testCard |
boolean | 否 | 测试卡. |
hasImages |
boolean | 否 | 有图像. |
isDuplicate |
boolean | 否 | 是复制. |
hasWildberriesId |
boolean | 否 | 有野生果身份证. |
hasSupplyingQuantity |
boolean | 否 | 现在,我们有大量的供应. |
noWbImages |
boolean | 否 | 没有Wb图像. |
noOzonImages |
boolean | 否 | 没有臭氧图像. |
noYMImages |
boolean | 否 | 没有YMI图像. |
deleted |
boolean | 否 | 删除了. |
hasGroup |
boolean | 否 | 有一个小组. |
modelDeleted |
boolean | 否 | 模型被删除. |
viewDeleted |
boolean | 否 | 视图已删除. |
inStock |
boolean | 否 | 在斯托克. |
noStock |
boolean | 否 | 没有股票. |
inFbsStock |
boolean | 否 | 在联邦调查局股票. |
noFbsStock |
boolean | 否 | 没有联邦调查局股票. |
inFboStock |
boolean | 否 | 在FBO股票. |
noFboStock |
boolean | 否 | 没有FBI股票. |
hasStockInWarehouse |
integer · int64 | 否 | 库存存储存. |
hasQuantity |
boolean | 否 | 拥有量. |
noStockInWarehouse |
integer · int64 | 否 | 没有库存. |
grouped |
boolean | 否 | 集团. |
uniqView |
boolean | 否 | 唯一的视角. |
uniqViewSku |
boolean | 否 | 唯一的视角是Sku. |
uniqModel |
boolean | 否 | 唯一的模型. |
uniqSku |
boolean | 否 | 唯一的苏. |
contractors |
integer[] | 否 | 承包商. |
categories |
integer[] | 否 | 类别. |
brands |
integer[] | 否 | 品牌. |
stockRefreshDate |
string · date-time | 否 | 股票更新日期. |
wildberriesRating |
integer[] | 否 | 果排名. |
wildberriesCardDoesNotOpen |
boolean | 否 | 果卡没有开放. |
productId |
integer · int64 | 否 | 产品身份证 |
productIds |
integer[] | 否 | 产品身份证 |
sourceOrganizationIds |
integer[] | 否 | 来源组织身份证. |
needImportWildberriesCard |
boolean | 否 | 需要进口野生卡. |
needImportOzonCard |
boolean | 否 | 需要进口臭氧卡. |
needImportAliexpressCard |
boolean | 否 | 需要进口阿里埃克斯普雷斯卡. |
needUpdateFromSimaland |
boolean | 否 | 需要Simaland的更新. |
favourite |
boolean | 否 | 我最喜欢的. |
status |
stringCREATED, IN_STOCK, LOST, RESERVED, SUPPLIED, REMOVED, SALE, REFUND, INCOME_MARKETPLACE | 否 | Status. |
modifiedAfter |
string · date-time | 否 | 后面修改. |
actual |
boolean | 否 | 实际的. |
skuId |
integer · int64 | 否 | 现在,我知道. |
skuIds |
integer[] | 否 | 斯库的身份证. |
lastInventoryId |
integer · int32 | 否 | 最后的库存身份证. |
strategyId |
integer · int64 | 否 | 战略身份. |
strategyIds |
integer[] | 否 | 战略身份证. |
cellId |
integer · int32 | 否 | 电话身份证. |
itemId |
integer · int64 | 否 | 标签: |
warehouseId |
integer · int64 | 否 | 仓库身份证. |
avitoCategoryId |
integer · int64 | 否 | 果类别的身份 |
hasAvitoCategory |
boolean | 否 | 拥有Avido类别. |
services |
string[] | 否 | 服务. |
createdIn |
string[] | 否 | 创造在. |
duplicate |
boolean | 否 | 复制. |
orderService |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 订单服务. |
productType |
stringPRODUCT, SET, SERVICE, DIGITAL | 否 | 产品类型 |
withCategoryAndBrand |
boolean | 否 | 品牌和类别. |
allServices |
boolean | 否 | 服务所有. |
inWarehouseRegions |
string[] | 否 | 在仓库地区. |
inWarehouses |
integer[] | 否 | 在仓库里. |
excludeStockWarehouses |
integer[] | 否 | 排除库存仓库. |
incomeOrderId |
integer · int64 | 否 | 收入订单身份证. |
incomeId |
integer · int64 | 否 | 收入证. |
itemIncomeOrderId |
integer · int64 | 否 | 收入指令的标识. |
dateFrom |
string · date-time | 否 | 时间从. |
dateTo |
string · date-time | 否 | 约会到. |
plannedSupplyDate |
string · date-time | 否 | 预计供应日期. |
timeZone |
integer · int32 | 否 | 时间区. |
ids |
integer[] | 否 | 身份证. |
skipDayWithoutStocks |
boolean | 否 | 没有股票的节日. |
countByOrders |
boolean | 否 | 按照命令计算. |
requierPlan |
number · double | 否 | 雷克维尔计划. |
forPrices |
boolean | 否 | 为了价格. |
deliveryDate |
string | 否 | 交货日期. |
onlyEmptyParchasePrice |
boolean | 否 | 只有空价格. |
onlyEmptyDeliveryCostPrice |
boolean | 否 | 只有空货运费用. |
forFboSupplyPlan |
boolean | 否 | 对于FBO供应计划. |
ignoreParams |
boolean | 否 | 忽略帕拉姆斯. |
ungroupWarehouses |
boolean | 否 | 没有组装仓库. |
replaceSetsByComponents |
boolean | 否 | 取代组件以组件. |
distributeFbsByWarehouse |
boolean | 否 | 根据仓库分发FBS. |
distributeFbsStock |
boolean | 否 | 发行联邦调查局股票. |
ignoreDumping |
boolean | 否 | 忽略. |
distributeAllRecommendations |
boolean | 否 | 给大家提供建议. |
limitByFbsStocks |
boolean | 否 | 根据联邦调查局股票的限制. |
useSalesPlan |
boolean | 否 | 使用销售计划. |
packagingType |
stringBox, Monopallet, Supersafe, BoxOnPallet | 否 | 包装类型 |
notGroupComponents |
boolean | 否 | 没有组件. |
modelArticle |
string | 否 | 标题: |
serviceArticle |
string | 否 | 服务条款 |
serviceArticleService |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务条款服务. |
ozonArticle |
string | 否 | 臭氧条款 |
yandexMarketShopSku |
string | 否 | 亚兰德克斯市场商店Sku. |
sberArticle |
string | 否 | 其他国家 |
wbArticle |
string | 否 | 关于"世界杯"的文章. |
barcode |
string | 否 | 条码. |
name |
string | 否 | 姓名. |
reportSheets |
stringBARCODE, COLOR, ARTICLE | 否 | 报告表. |
forSupplyPlan |
boolean | 否 | 供应计划. |
tagIds |
integer[] | 否 | 标签身份证. |
findirTipTypes |
string[] | 否 | 找个提示类型. |
removeFbsStock |
boolean | 否 | 删除FBS股票. |
brandId |
integer · int64 | 否 | 品牌身份证. |
countByOrdersOrSales |
boolean | 否 | 根据订单或销售量计算. |
curl --request POST 'https://api.selsup.ru/api/export/getProductsFile' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}'
const response = await fetch('https://api.selsup.ru/api/export/getProductsFile', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/getProductsFile', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/getProductsFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'limit': 50,
'page': 1,
'count': False,
'sortBy': 'ACTUAL',
'ascending': False,
'query': 'string'
},
)
response.raise_for_status()
result = response.json()
<?php
$payload = <<<'JSON'
{
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/getProductsFile',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/getProductsFile", strings.NewReader(`{
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/getProductsFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"limit": 50,
"page": 1,
"count": false,
"sortBy": "ACTUAL",
"ascending": false,
"query": "string"
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
TmsTask
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
status |
stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION | 否 | Status. |
type |
stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT | 否 | Type. |
name |
string | 否 | 姓名. |
clientId |
integer · int64 | 否 | 客户身份证. |
entityId |
integer · int64 | 否 | 实体身份证 |
progress |
integer · int32 | 否 | 进步. |
processedQuantity |
integer · int32 | 否 | 处理量 |
organizationId |
integer · int64 | 否 | 组织身份证. |
priority |
integer · int32 | 否 | 优先考虑. |
properties |
string | 否 | 房产. |
message |
string | 否 | 信息. |
messageParams |
string | 否 | 消息帕拉姆. |
createdDate |
string · date-time | 否 | 创造日期. |
startDate |
string · date-time | 否 | 开始日期. |
finishDate |
string · date-time | 否 | 终结日期. |
url |
string | 否 | 查看一个URL. |
inputFileUrl |
string | 否 | 输入文件URL. |
retryNumber |
integer · int32 | 否 | 复试号码. |
userId |
integer · int32 | 否 | 用户身份证 |
retryDate |
string · date-time | 否 | 试一次. |
debug |
boolean | 否 | 调试. |
forcedStart |
boolean | 否 | 强迫开始. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
lang |
string | 否 | Lang. |
{
"id": 1001,
"status": "CREATED",
"type": "WILDBERRIES_CREATE_CARD",
"name": "Example",
"clientId": 1001,
"entityId": 1001
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/export/getModelsFile使用 POST /api/export/getModelsFile.获取模型文件
curl --request POST 'https://api.selsup.ru/api/export/getModelsFile' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/getModelsFile', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/getModelsFile', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/getModelsFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/getModelsFile',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/getModelsFile", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/getModelsFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
TmsTask
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
status |
stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION | 否 | Status. |
type |
stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT | 否 | Type. |
name |
string | 否 | 姓名. |
clientId |
integer · int64 | 否 | 客户身份证. |
entityId |
integer · int64 | 否 | 实体身份证 |
progress |
integer · int32 | 否 | 进步. |
processedQuantity |
integer · int32 | 否 | 处理量 |
organizationId |
integer · int64 | 否 | 组织身份证. |
priority |
integer · int32 | 否 | 优先考虑. |
properties |
string | 否 | 房产. |
message |
string | 否 | 信息. |
messageParams |
string | 否 | 消息帕拉姆. |
createdDate |
string · date-time | 否 | 创造日期. |
startDate |
string · date-time | 否 | 开始日期. |
finishDate |
string · date-time | 否 | 终结日期. |
url |
string | 否 | 查看一个URL. |
inputFileUrl |
string | 否 | 输入文件URL. |
retryNumber |
integer · int32 | 否 | 复试号码. |
userId |
integer · int32 | 否 | 用户身份证 |
retryDate |
string · date-time | 否 | 试一次. |
debug |
boolean | 否 | 调试. |
forcedStart |
boolean | 否 | 强迫开始. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
lang |
string | 否 | Lang. |
{
"id": 1001,
"status": "CREATED",
"type": "WILDBERRIES_CREATE_CARD",
"name": "Example",
"clientId": 1001,
"entityId": 1001
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/exportStructureTurnoverByContractorId经验人员的经验证明
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
productAnalyticField |
stringBARCODE, COLOR, ARTICLE, BRAND, CATEGORY | 是 | 产品分析领域 | ||||||||||||||||||||||||
query |
string | 否 | 问问. | ||||||||||||||||||||||||
withDuplicate |
boolean | 否 | 通过复制. | ||||||||||||||||||||||||
withBonus |
boolean | 否 | 带着士. | ||||||||||||||||||||||||
byOrgAndService |
boolean | 否 | 通过组织和服务. | ||||||||||||||||||||||||
byOrderType |
boolean | 否 | 按顺序类型. | ||||||||||||||||||||||||
limit |
integer · int32 | 否 | 限制. | ||||||||||||||||||||||||
page |
integer · int32 | 否 | 页面. | ||||||||||||||||||||||||
sortBy |
string | 否 | 排序了. | ||||||||||||||||||||||||
ascending |
boolean | 否 | 升高. | ||||||||||||||||||||||||
id |
integer · int64 | 否 | Id. | ||||||||||||||||||||||||
isMarketPlaceStructure |
boolean | 否 | 市场结构. | ||||||||||||||||||||||||
isDashboard |
boolean | 否 | 是仪表板. | ||||||||||||||||||||||||
analyticsField |
stringPRODUCT, MODEL, GROUP, ORGANIZATION, CLIENT, CATEGORY, PRODUCT_VIEW, BRAND, REGION, WAREHOUSE | 否 | 分析领域. | ||||||||||||||||||||||||
planDayCount |
integer · int32 | 否 | 计划日计. | ||||||||||||||||||||||||
daysToSupply |
integer · int32 | 否 | 供应时间. | ||||||||||||||||||||||||
plannedSupplyDate |
string · date-time | 否 | 预计供应日期. | ||||||||||||||||||||||||
groupByView |
boolean | 否 | 按视角组分. | ||||||||||||||||||||||||
warehouses |
integer[] | 否 | 仓库. | ||||||||||||||||||||||||
salesModels |
string[] | 否 | 销售模式. | ||||||||||||||||||||||||
aggregation |
stringWAREHOUSE, WAREHOUSE_PRODUCT | 否 | 集成. | ||||||||||||||||||||||||
columns |
FileExportColumn[] | 否 | 列表. | ||||||||||||||||||||||||
阵列项结构
|
|||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
fileExportId |
integer · int64 | 否 | 文件出口身份证 |
columnName |
string | 否 | 列名 |
columnOrder |
integer · int32 | 否 | 列队的命令. |
isEnabled |
boolean | 否 | 已启用. |
regionsgroupcalculationByOrderssourceReportskipDayWithoutStocksreplaceSetsByComponentsdistributeFbsByWarehousedistributeFbsStockignoreDumpingisSaleStructureisAveragePerOneUnitupdateDateuseWeightedGroupisFindirRequestbrandIdscategoryIdsarticlescolorssizesbarcodestagIdspenaltyFrompenaltyTologisticsFromlogisticsTomarginFrommarginTosalesAmountFromsalesAmountTototalSalesAmountFromtotalSalesAmountTogrossProfitFromgrossProfitTotaxNdsuseOsnoperioddateFromdateToservicescategoriesbrandsclientOrganizationIdorganizationsidstypetypesstatustimeZonepreviousDateFromclientOrganizationIdsignoreCreditcurl --request POST 'https://api.selsup.ru/api/export/exportStructureTurnoverByContractorId?productAnalyticField=BARCODE&limit=50&page=1&dateFrom=2026-01-15T12%3A00%3A00Z&dateTo=2026-01-15T12%3A00%3A00Z' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/exportStructureTurnoverByContractorId?productAnalyticField=BARCODE&limit=50&page=1&dateFrom=2026-01-15T12%3A00%3A00Z&dateTo=2026-01-15T12%3A00%3A00Z', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/exportStructureTurnoverByContractorId?productAnalyticField=BARCODE&limit=50&page=1&dateFrom=2026-01-15T12%3A00%3A00Z&dateTo=2026-01-15T12%3A00%3A00Z', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/exportStructureTurnoverByContractorId?productAnalyticField=BARCODE&limit=50&page=1&dateFrom=2026-01-15T12%3A00%3A00Z&dateTo=2026-01-15T12%3A00%3A00Z',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/exportStructureTurnoverByContractorId?productAnalyticField=BARCODE&limit=50&page=1&dateFrom=2026-01-15T12%3A00%3A00Z&dateTo=2026-01-15T12%3A00%3A00Z',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/exportStructureTurnoverByContractorId?productAnalyticField=BARCODE&limit=50&page=1&dateFrom=2026-01-15T12%3A00%3A00Z&dateTo=2026-01-15T12%3A00%3A00Z", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/exportStructureTurnoverByContractorId?productAnalyticField=BARCODE&limit=50&page=1&dateFrom=2026-01-15T12%3A00%3A00Z&dateTo=2026-01-15T12%3A00%3A00Z"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
TmsTask
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
status |
stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION | 否 | Status. |
type |
stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT | 否 | Type. |
name |
string | 否 | 姓名. |
clientId |
integer · int64 | 否 | 客户身份证. |
entityId |
integer · int64 | 否 | 实体身份证 |
progress |
integer · int32 | 否 | 进步. |
processedQuantity |
integer · int32 | 否 | 处理量 |
organizationId |
integer · int64 | 否 | 组织身份证. |
priority |
integer · int32 | 否 | 优先考虑. |
properties |
string | 否 | 房产. |
message |
string | 否 | 信息. |
messageParams |
string | 否 | 消息帕拉姆. |
createdDate |
string · date-time | 否 | 创造日期. |
startDate |
string · date-time | 否 | 开始日期. |
finishDate |
string · date-time | 否 | 终结日期. |
url |
string | 否 | 查看一个URL. |
inputFileUrl |
string | 否 | 输入文件URL. |
retryNumber |
integer · int32 | 否 | 复试号码. |
userId |
integer · int32 | 否 | 用户身份证 |
retryDate |
string · date-time | 否 | 试一次. |
debug |
boolean | 否 | 调试. |
forcedStart |
boolean | 否 | 强迫开始. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
lang |
string | 否 | Lang. |
{
"id": 1001,
"status": "CREATED",
"type": "WILDBERRIES_CREATE_CARD",
"name": "Example",
"clientId": 1001,
"entityId": 1001
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_analytics_access_denied应用逻辑中使用稳定的error_analytics_access_denied代码;localMessage包含上述翻译.
/api/export/createCards使用 POST /api/export/createCards.创建卡片
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
curl --request POST 'https://api.selsup.ru/api/export/createCards?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/createCards?orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/createCards?orderId=1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/export/createCards?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/createCards?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/export/createCards?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/createCards?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/wildberriesTTN使用GET/api/export/wildberriesTTN.下载WildberriesTTN
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
deliveryId |
integer · int64 | 是 | 交货证 |
curl --request GET 'https://api.selsup.ru/api/export/wildberriesTTN?deliveryId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/wildberriesTTN?deliveryId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/wildberriesTTN?deliveryId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/wildberriesTTN?deliveryId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/wildberriesTTN?deliveryId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/wildberriesTTN?deliveryId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/wildberriesTTN?deliveryId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_empty_driver应用逻辑中使用稳定的error_empty_driver代码;localMessage包含上述翻译.
error_empty_place_count应用逻辑中使用稳定的error_empty_place_count代码;localMessage包含上述翻译.
error_empty_place_unit应用逻辑中使用稳定的error_empty_place_unit代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_supply_not_found应用逻辑中使用稳定的error_supply_not_found代码;localMessage包含上述翻译.
/api/export/wildberriesImages通过GET/api/export/wildberriesImages.下载Wildberries图像
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
photographyId |
integer · int64 | 是 | 照片身份证 |
organizationId |
integer · int64 | 是 | 组织身份证. |
curl --request GET 'https://api.selsup.ru/api/export/wildberriesImages?photographyId=1001&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/wildberriesImages?photographyId=1001&organizationId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/wildberriesImages?photographyId=1001&organizationId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/wildberriesImages?photographyId=1001&organizationId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/wildberriesImages?photographyId=1001&organizationId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/wildberriesImages?photographyId=1001&organizationId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/wildberriesImages?photographyId=1001&organizationId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/wildberriesImagesByView随着使用GET/api/export/wildberriesImagesByView.的视图
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
viewIds |
string | 是 | 查看身份证. |
curl --request GET 'https://api.selsup.ru/api/export/wildberriesImagesByView?viewIds=string' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/wildberriesImagesByView?viewIds=string', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/wildberriesImagesByView?viewIds=string', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/wildberriesImagesByView?viewIds=string',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/wildberriesImagesByView?viewIds=string',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/wildberriesImagesByView?viewIds=string", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/wildberriesImagesByView?viewIds=string"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_bad_request应用逻辑中使用稳定的error_bad_request代码;localMessage包含上述翻译.
error_invalid_path应用逻辑中使用稳定的error_invalid_path代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/export/supplyPrintTTN采用GET/api/export/supplyPrintTTN.的TTN打印
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
deliveryId |
integer · int64 | 是 | 交货证 |
curl --request GET 'https://api.selsup.ru/api/export/supplyPrintTTN?deliveryId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/supplyPrintTTN?deliveryId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/supplyPrintTTN?deliveryId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/supplyPrintTTN?deliveryId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/supplyPrintTTN?deliveryId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/supplyPrintTTN?deliveryId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/supplyPrintTTN?deliveryId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_empty_driver应用逻辑中使用稳定的error_empty_driver代码;localMessage包含上述翻译.
error_empty_place_count应用逻辑中使用稳定的error_empty_place_count代码;localMessage包含上述翻译.
error_empty_place_unit应用逻辑中使用稳定的error_empty_place_unit代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_supply_not_found应用逻辑中使用稳定的error_supply_not_found代码;localMessage包含上述翻译.
/api/export/stocks使用GETX/api/export/stocks.的股票
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
organizationId |
integer · int64 | 是 | 组织身份证. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 是 | 服务. |
curl --request GET 'https://api.selsup.ru/api/export/stocks?organizationId=1001&service=NONE' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/stocks?organizationId=1001&service=NONE', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/stocks?organizationId=1001&service=NONE', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/stocks?organizationId=1001&service=NONE',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/stocks?organizationId=1001&service=NONE',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/stocks?organizationId=1001&service=NONE", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/stocks?organizationId=1001&service=NONE"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_service_not_supported应用逻辑中使用稳定的error_service_not_supported代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/export/setUpdatesTemplate使用 GET /api/export/setUpdatesTemplate. 设置更新模板
curl --request GET 'https://api.selsup.ru/api/export/setUpdatesTemplate' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/setUpdatesTemplate', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/setUpdatesTemplate', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/setUpdatesTemplate',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/setUpdatesTemplate',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/setUpdatesTemplate", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/setUpdatesTemplate"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/export/serviceStocks使用GETX/api/export/serviceStocks.的服务库存
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
organizationId |
integer · int64 | 是 | 组织身份证. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 是 | 服务. |
curl --request GET 'https://api.selsup.ru/api/export/serviceStocks?organizationId=1001&service=NONE' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/serviceStocks?organizationId=1001&service=NONE', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/serviceStocks?organizationId=1001&service=NONE', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/serviceStocks?organizationId=1001&service=NONE',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/serviceStocks?organizationId=1001&service=NONE',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/serviceStocks?organizationId=1001&service=NONE", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/serviceStocks?organizationId=1001&service=NONE"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/productsFile使用 GET /api/export/productsFile.的产品文件
curl --request GET 'https://api.selsup.ru/api/export/productsFile' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/productsFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/productsFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/productsFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/productsFile',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/productsFile", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/productsFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/export/ozonOrder使用 GET 下载Ozon Order
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request GET 'https://api.selsup.ru/api/export/ozonOrder?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/ozonOrder?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/ozonOrder?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/ozonOrder?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/ozonOrder?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/ozonOrder?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/ozonOrder?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_price_for_order_product应用逻辑中使用稳定的error_no_price_for_order_product代码;localMessage包含上述翻译.
error_no_quantity_for_order_product应用逻辑中使用稳定的error_no_quantity_for_order_product代码;localMessage包含上述翻译.
error_order_not_found应用逻辑中使用稳定的error_order_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_warehouse_not_found应用逻辑中使用稳定的error_warehouse_not_found代码;localMessage包含上述翻译.
/api/export/ozonInvoice使用GET下载Ozon账单
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request GET 'https://api.selsup.ru/api/export/ozonInvoice?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/ozonInvoice?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/ozonInvoice?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/ozonInvoice?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/ozonInvoice?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/ozonInvoice?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/ozonInvoice?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_empty_external_order_id应用逻辑中使用稳定的error_empty_external_order_id代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_invoice_number应用逻辑中使用稳定的error_no_invoice_number代码;localMessage包含上述翻译.
error_no_ozon_code应用逻辑中使用稳定的error_no_ozon_code代码;localMessage包含上述翻译.
error_no_price_for_order_product应用逻辑中使用稳定的error_no_price_for_order_product代码;localMessage包含上述翻译.
error_no_quantity_for_order_product应用逻辑中使用稳定的error_no_quantity_for_order_product代码;localMessage包含上述翻译.
error_order_not_found应用逻辑中使用稳定的error_order_not_found代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_warehouse_not_found应用逻辑中使用稳定的error_warehouse_not_found代码;localMessage包含上述翻译.
/api/export/ozonImagesByView使用GETX/api/export/ozonImagesByView.的Ozon图像
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
viewIds |
string | 是 | 查看身份证. |
curl --request GET 'https://api.selsup.ru/api/export/ozonImagesByView?viewIds=string' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/ozonImagesByView?viewIds=string', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/ozonImagesByView?viewIds=string', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/ozonImagesByView?viewIds=string',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/ozonImagesByView?viewIds=string',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/ozonImagesByView?viewIds=string", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/ozonImagesByView?viewIds=string"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_bad_request应用逻辑中使用稳定的error_bad_request代码;localMessage包含上述翻译.
error_invalid_path应用逻辑中使用稳定的error_invalid_path代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/export/ozon/container-labels使用GET/api/export/ozon/container-labels.下载臭氧容器标签
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
supplyId |
integer · int64 | 是 | 供应证. |
curl --request GET 'https://api.selsup.ru/api/export/ozon/container-labels?supplyId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/ozon/container-labels?supplyId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/ozon/container-labels?supplyId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/ozon/container-labels?supplyId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/ozon/container-labels?supplyId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/ozon/container-labels?supplyId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/ozon/container-labels?supplyId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/orderBoxBarcodes使用GET/api/export/orderBoxBarcodes.的订单框条码
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
pallet |
boolean | 否 | 子. |
curl --request GET 'https://api.selsup.ru/api/export/orderBoxBarcodes?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/orderBoxBarcodes?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/orderBoxBarcodes?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/orderBoxBarcodes?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/orderBoxBarcodes?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/orderBoxBarcodes?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/orderBoxBarcodes?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/incomeProductsFile使用 GET /api/export/incomeProductsFile. 输出收入文件
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
actual |
boolean | 否 | 实际的. |
query |
string | 否 | 问问. |
userOrganizations |
integer[] | 否 | 用户组织 |
incomeId |
integer · int64 | 否 | 收入证. |
limit |
integer · int32 | 否 | 限制. |
page |
integer · int32 | 否 | 页面. |
count |
boolean | 否 | 伯爵. |
sortBy |
stringID, NAME, CREATEDDATE, STATUS | 否 | 排序了. |
ascending |
boolean | 否 | 升高. |
curl --request GET 'https://api.selsup.ru/api/export/incomeProductsFile?limit=50&page=1' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/incomeProductsFile?limit=50&page=1', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/incomeProductsFile?limit=50&page=1', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/incomeProductsFile?limit=50&page=1',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/incomeProductsFile?limit=50&page=1',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/incomeProductsFile?limit=50&page=1", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/incomeProductsFile?limit=50&page=1"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
/api/export/getSupplyImagesToWildberries通过GET/api/export/getSupplyImagesToWildberries.获取供应图像
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int32 | 是 | 订单身份证. |
curl --request GET 'https://api.selsup.ru/api/export/getSupplyImagesToWildberries?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/getSupplyImagesToWildberries?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/getSupplyImagesToWildberries?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/getSupplyImagesToWildberries?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/getSupplyImagesToWildberries?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/getSupplyImagesToWildberries?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/getSupplyImagesToWildberries?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_empty_images应用逻辑中使用稳定的error_empty_images代码;localMessage包含上述翻译.
error_invalid_path应用逻辑中使用稳定的error_invalid_path代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_price_for_order_product应用逻辑中使用稳定的error_no_price_for_order_product代码;localMessage包含上述翻译.
error_no_quantity_for_order_product应用逻辑中使用稳定的error_no_quantity_for_order_product代码;localMessage包含上述翻译.
error_order_not_found应用逻辑中使用稳定的error_order_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_warehouse_not_found应用逻辑中使用稳定的error_warehouse_not_found代码;localMessage包含上述翻译.
/api/export/getProductSetsFile使用 GET /api/export/getProductSetsFile.获取产品组件文件
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
organizationId |
integer · int64 | 否 | 组织身份证. |
curl --request GET 'https://api.selsup.ru/api/export/getProductSetsFile' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/getProductSetsFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/getProductSetsFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/getProductSetsFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/getProductSetsFile',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/getProductSetsFile", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/getProductSetsFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
TmsTask
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
status |
stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION | 否 | Status. |
type |
stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT | 否 | Type. |
name |
string | 否 | 姓名. |
clientId |
integer · int64 | 否 | 客户身份证. |
entityId |
integer · int64 | 否 | 实体身份证 |
progress |
integer · int32 | 否 | 进步. |
processedQuantity |
integer · int32 | 否 | 处理量 |
organizationId |
integer · int64 | 否 | 组织身份证. |
priority |
integer · int32 | 否 | 优先考虑. |
properties |
string | 否 | 房产. |
message |
string | 否 | 信息. |
messageParams |
string | 否 | 消息帕拉姆. |
createdDate |
string · date-time | 否 | 创造日期. |
startDate |
string · date-time | 否 | 开始日期. |
finishDate |
string · date-time | 否 | 终结日期. |
url |
string | 否 | 查看一个URL. |
inputFileUrl |
string | 否 | 输入文件URL. |
retryNumber |
integer · int32 | 否 | 复试号码. |
userId |
integer · int32 | 否 | 用户身份证 |
retryDate |
string · date-time | 否 | 试一次. |
debug |
boolean | 否 | 调试. |
forcedStart |
boolean | 否 | 强迫开始. |
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 否 | 服务. |
lang |
string | 否 | Lang. |
{
"id": 1001,
"status": "CREATED",
"type": "WILDBERRIES_CREATE_CARD",
"name": "Example",
"clientId": 1001,
"entityId": 1001
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/getOrderProduct使用 GET 获取订单产品
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
columns |
FileExportColumn[] | 否 | 列表. | ||||||||||||||||||||||||
阵列项结构
|
|||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
fileExportId |
integer · int64 | 否 | 文件出口身份证 |
columnName |
string | 否 | 列名 |
columnOrder |
integer · int32 | 否 | 列队的命令. |
isEnabled |
boolean | 否 | 已启用. |
actualtypeserviceWarehouseIdexternalOrderIdinvoiceNumberarticlecontainsArticleproductbarcodeorganizationsqueryuserIdserviceservicesstatusstatuseswithoutSupplyorderProductIdproductIdbrandIdsupplierIdhasCollectTaskorganizationIdclientOrganizationIdsupdateInServicehasServiceErrornoLabelisLegalnoMsOrdernoMsDemandidssupplyIdnotCollecteddbsexpressfbsnoWarehousecloseDatemodifiedDatemodifiedDateToincomeIdbindingOrderIdcloseDateFromcloseDateToorderDatedeliveryDatedeliveryDateFromdeliveryDateTocreatedDateFromcreatedDateToforMoySkladwithMoySkladOrderwarehouseIdwarehouseIdsdateFromdateTotimeZonemarkingStatusdeletedcollectLabelsortOrdersByDatesortBySkunotGroupByOrganizationnotGroupByServiceproductLabelproductCodeLabelservicesForLabelinfoLabelgroupedreplaceSetByComponentreplaceSetsByComponentsIncomecollectDeliveryLabelshippingServicesForLabelorderIdhasVideoFixationwithProductspassageIdswithContractorboxIdhasMarkedProductswithAnalyticslimitpagecountsortByascendingcurl --request GET 'https://api.selsup.ru/api/export/getOrderProduct?limit=50&page=1' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/getOrderProduct?limit=50&page=1', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/export/getOrderProduct?limit=50&page=1', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/getOrderProduct?limit=50&page=1',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/getOrderProduct?limit=50&page=1',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/getOrderProduct?limit=50&page=1", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/getOrderProduct?limit=50&page=1"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
答案没有身体.
应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_cell_not_found应用逻辑中使用稳定的error_cell_not_found代码;localMessage包含上述翻译.
error_date_incorrect应用逻辑中使用稳定的error_date_incorrect代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_warehouse_not_found应用逻辑中使用稳定的error_warehouse_not_found代码;localMessage包含上述翻译.
/api/export/getAcceptedProductsAct使用GETX/api/export/getAcceptedProductsAct.获得被接受的产品法
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request GET 'https://api.selsup.ru/api/export/getAcceptedProductsAct?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/getAcceptedProductsAct?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/getAcceptedProductsAct?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/getAcceptedProductsAct?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/getAcceptedProductsAct?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/getAcceptedProductsAct?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/getAcceptedProductsAct?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_act_not_found应用逻辑中使用稳定的error_act_not_found代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
/api/export/downloadStocksWb使用GET/api/export/downloadStocksWb.下载Wildberries股票
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request GET 'https://api.selsup.ru/api/export/downloadStocksWb?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/downloadStocksWb?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/downloadStocksWb?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/downloadStocksWb?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/downloadStocksWb?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/downloadStocksWb?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/downloadStocksWb?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_price_for_order_product应用逻辑中使用稳定的error_no_price_for_order_product代码;localMessage包含上述翻译.
error_no_quantity_for_order_product应用逻辑中使用稳定的error_no_quantity_for_order_product代码;localMessage包含上述翻译.
error_order_not_found应用逻辑中使用稳定的error_order_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_warehouse_not_found应用逻辑中使用稳定的error_warehouse_not_found代码;localMessage包含上述翻译.
/api/export/downloadProductsDelivery通过GET/api/export/downloadProductsDelivery.下载产品交付
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringNONE, 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, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC | 是 | 服务. |
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request GET 'https://api.selsup.ru/api/export/downloadProductsDelivery?service=NONE&orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/downloadProductsDelivery?service=NONE&orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/downloadProductsDelivery?service=NONE&orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/downloadProductsDelivery?service=NONE&orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/downloadProductsDelivery?service=NONE&orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/downloadProductsDelivery?service=NONE&orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/downloadProductsDelivery?service=NONE&orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_marketplace_sku应用逻辑中使用稳定的error_no_marketplace_sku代码;localMessage包含上述翻译.
error_service_not_supported应用逻辑中使用稳定的error_service_not_supported代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/export/downloadInvoice使用 GET 下载账单
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
format |
string | 否 | Format. |
withMark |
boolean | 否 | 现在,我和马克在一起. |
curl --request GET 'https://api.selsup.ru/api/export/downloadInvoice?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/downloadInvoice?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/downloadInvoice?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/downloadInvoice?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/downloadInvoice?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/downloadInvoice?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/downloadInvoice?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/downloadBarcodeOrder使用GET/api/export/downloadBarcodeOrder.获取Wildberries条码订单
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request GET 'https://api.selsup.ru/api/export/downloadBarcodeOrder?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/downloadBarcodeOrder?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/downloadBarcodeOrder?orderId=1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/downloadBarcodeOrder?orderId=1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/downloadBarcodeOrder?orderId=1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/downloadBarcodeOrder?orderId=1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/downloadBarcodeOrder?orderId=1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_price_for_order_product应用逻辑中使用稳定的error_no_price_for_order_product代码;localMessage包含上述翻译.
error_no_quantity_for_order_product应用逻辑中使用稳定的error_no_quantity_for_order_product代码;localMessage包含上述翻译.
error_order_not_found应用逻辑中使用稳定的error_order_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_warehouse_not_found应用逻辑中使用稳定的error_warehouse_not_found代码;localMessage包含上述翻译.
/api/export/customersFile使用 GET /api/export/customersFile.的客户文件
curl --request GET 'https://api.selsup.ru/api/export/customersFile' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/customersFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/customersFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/customersFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/customersFile',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/customersFile", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/customersFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/export/contractorsFile使用 GET /api/export/contractorsFile.的承包商文件
curl --request GET 'https://api.selsup.ru/api/export/contractorsFile' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/contractorsFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/contractorsFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/contractorsFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/contractorsFile',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/contractorsFile", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/contractorsFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/categoriesFile分类 使用 GET /api/export/categoriesFile.的文件
curl --request GET 'https://api.selsup.ru/api/export/categoriesFile' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/categoriesFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/categoriesFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/categoriesFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/categoriesFile',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/categoriesFile", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/categoriesFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
/api/export/categoriesFileTemplate分类 使用GET/api/export/categoriesFileTemplate.的文件模板
curl --request GET 'https://api.selsup.ru/api/export/categoriesFileTemplate' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/categoriesFileTemplate', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/categoriesFileTemplate', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/categoriesFileTemplate',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/categoriesFileTemplate',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/categoriesFileTemplate", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/categoriesFileTemplate"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/export/brandsFile使用 GET /api/export/brandsFile.的品牌文件
curl --request GET 'https://api.selsup.ru/api/export/brandsFile' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/export/brandsFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/export/brandsFile', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/export/brandsFile',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/export/brandsFile',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/export/brandsFile", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/export/brandsFile"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
"string"应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.