通过可编辑的独立合同来支持本页面. 在生产使用之前,验证使用测试数据的写作操作.
/api/calculator
准备使用的工作流程
准备使用的工作流程
数据模型
数据结构
模型在此列出一次,并且可以直接从使用它们的终端点扩展.
UnitCalculator31 字段
purchasePricenumber · double买价.
purchasePercentnumber · double购买百分比.
widthinteger · int32宽度.
heightinteger · int32高.
depthinteger · int32深度.
categoryIdinteger · int64类别的ID.
servicestring服务.
salePricenumber · double售价.
commissionnumber · double委员会.
wildberriesFbsBaseCommissionnumber · double野生果联邦调查局基地委员会.
wildberriesFbsPlannedTransferHoursnumber · double野生果联邦调查局计划转移时间.
wildberriesFbsTransferNormHoursnumber · double果公司的联邦调查局转移正常时间.
wildberriesFbsSpeedCoefficientnumber · double果的FBS速度系数.
wildberriesFbsEffectiveCommissionnumber · double野生果联邦调查局有效委员会.
wildberriesFbsTransferHoursSourcestring果公司的转移时间来源:
wildberriesFbsSpeedCoefficientValidFromstring · date野生果FBS速度系数有效
wildberriesFbsSpeedCoefficientSourcestring果的FBS速度系数来源.
logisticnumber · double后勤.
warehouseRationumber · double仓库比例.
logisticRationumber · double后勤比例.
ktrnumber · double现在,我们要去.
expensesnumber · double费用.
newPriceByRubnumber · double的新价格.
newPriceByMarginalitynumber · double根据边缘性,新价格.
desiredMarginPercentnumber · double预期的利率.
desiredProfitRubnumber · double想要的利.
profitnumber · double利.
markUpnumber · double标记起来.
marginalitynumber · double边缘化.
organizationIdinteger · int64组织身份证.
taxRatenumber · double税率.
错误合同
如何返回应用错误
编程的代码在每个地方都相同,而用户面向的消息由服务器翻译. 建立在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/calculator/profit使用GET/api/calculator/profit.的利
查询参数
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
purchasePrice |
number · double | 否 | 买价. |
purchasePercent |
number · double | 否 | 购买百分比. |
width |
integer · int32 | 否 | 宽度. |
height |
integer · int32 | 否 | 高. |
depth |
integer · int32 | 否 | 深度. |
categoryId |
integer · int64 | 否 | 类别的ID. |
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 | 否 | 服务. |
salePrice |
number · double | 否 | 售价. |
commission |
number · double | 否 | 委员会. |
wildberriesFbsBaseCommission |
number · double | 否 | 野生果联邦调查局基地委员会. |
wildberriesFbsPlannedTransferHours |
number · double | 否 | 野生果联邦调查局计划转移时间. |
wildberriesFbsTransferNormHours |
number · double | 否 | 果公司的联邦调查局转移正常时间. |
wildberriesFbsSpeedCoefficient |
number · double | 否 | 果的FBS速度系数. |
wildberriesFbsEffectiveCommission |
number · double | 否 | 野生果联邦调查局有效委员会. |
wildberriesFbsTransferHoursSource |
string | 否 | 果公司的转移时间来源: |
wildberriesFbsSpeedCoefficientValidFrom |
string · date | 否 | 野生果FBS速度系数有效 |
wildberriesFbsSpeedCoefficientSource |
string | 否 | 果的FBS速度系数来源. |
logistic |
number · double | 否 | 后勤. |
warehouseRatio |
number · double | 否 | 仓库比例. |
logisticRatio |
number · double | 否 | 后勤比例. |
ktr |
number · double | 否 | 现在,我们要去. |
expenses |
number · double | 否 | 费用. |
newPriceByRub |
number · double | 否 | 的新价格. |
newPriceByMarginality |
number · double | 否 | 根据边缘性,新价格. |
desiredMarginPercent |
number · double | 否 | 预期的利率. |
desiredProfitRub |
number · double | 否 | 想要的利. |
profit |
number · double | 否 | 利. |
markUp |
number · double | 否 | 标记起来. |
marginality |
number · double | 否 | 边缘化. |
organizationId |
integer · int64 | 否 | 组织身份证. |
taxRate |
number · double | 否 | 税率. |
curl --request GET 'https://api.selsup.ru/api/calculator/profit' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/calculator/profit', {
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/calculator/profit', {
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/calculator/profit',
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/calculator/profit',
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/calculator/profit", 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/calculator/profit"))
.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());
}
}
成功的反应
200
对象场
UnitCalculator
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
purchasePrice |
number · double | 否 | 买价. |
purchasePercent |
number · double | 否 | 购买百分比. |
width |
integer · int32 | 否 | 宽度. |
height |
integer · int32 | 否 | 高. |
depth |
integer · int32 | 否 | 深度. |
categoryId |
integer · int64 | 否 | 类别的ID. |
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 | 否 | 服务. |
salePrice |
number · double | 否 | 售价. |
commission |
number · double | 否 | 委员会. |
wildberriesFbsBaseCommission |
number · double | 否 | 野生果联邦调查局基地委员会. |
wildberriesFbsPlannedTransferHours |
number · double | 否 | 野生果联邦调查局计划转移时间. |
wildberriesFbsTransferNormHours |
number · double | 否 | 果公司的联邦调查局转移正常时间. |
wildberriesFbsSpeedCoefficient |
number · double | 否 | 果的FBS速度系数. |
wildberriesFbsEffectiveCommission |
number · double | 否 | 野生果联邦调查局有效委员会. |
wildberriesFbsTransferHoursSource |
string | 否 | 果公司的转移时间来源: |
wildberriesFbsSpeedCoefficientValidFrom |
string · date | 否 | 野生果FBS速度系数有效 |
wildberriesFbsSpeedCoefficientSource |
string | 否 | 果的FBS速度系数来源. |
logistic |
number · double | 否 | 后勤. |
warehouseRatio |
number · double | 否 | 仓库比例. |
logisticRatio |
number · double | 否 | 后勤比例. |
ktr |
number · double | 否 | 现在,我们要去. |
expenses |
number · double | 否 | 费用. |
newPriceByRub |
number · double | 否 | 的新价格. |
newPriceByMarginality |
number · double | 否 | 根据边缘性,新价格. |
desiredMarginPercent |
number · double | 否 | 预期的利率. |
desiredProfitRub |
number · double | 否 | 想要的利. |
profit |
number · double | 否 | 利. |
markUp |
number · double | 否 | 标记起来. |
marginality |
number · double | 否 | 边缘化. |
organizationId |
integer · int64 | 否 | 组织身份证. |
taxRate |
number · double | 否 | 税率. |
{
"purchasePrice": 1,
"purchasePercent": 1,
"width": 1,
"height": 1,
"depth": 1,
"categoryId": 1001
}错误12
应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_category_not_found应用逻辑中使用稳定的error_category_not_found代码;localMessage包含上述翻译.
error_depth_not_found应用逻辑中使用稳定的error_depth_not_found代码;localMessage包含上述翻译.
error_height_not_found应用逻辑中使用稳定的error_height_not_found代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_purchase_percent_not_found应用逻辑中使用稳定的error_purchase_percent_not_found代码;localMessage包含上述翻译.
error_sale_price_not_found应用逻辑中使用稳定的error_sale_price_not_found代码;localMessage包含上述翻译.
error_service_not_found应用逻辑中使用稳定的error_service_not_found代码;localMessage包含上述翻译.
error_width_not_found应用逻辑中使用稳定的error_width_not_found代码;localMessage包含上述翻译.
价格
/api/calculator/price使用GET/api/calculator/price.的价格
查询参数
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
purchasePrice |
number · double | 否 | 买价. |
purchasePercent |
number · double | 否 | 购买百分比. |
width |
integer · int32 | 否 | 宽度. |
height |
integer · int32 | 否 | 高. |
depth |
integer · int32 | 否 | 深度. |
categoryId |
integer · int64 | 否 | 类别的ID. |
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 | 否 | 服务. |
salePrice |
number · double | 否 | 售价. |
commission |
number · double | 否 | 委员会. |
wildberriesFbsBaseCommission |
number · double | 否 | 野生果联邦调查局基地委员会. |
wildberriesFbsPlannedTransferHours |
number · double | 否 | 野生果联邦调查局计划转移时间. |
wildberriesFbsTransferNormHours |
number · double | 否 | 果公司的联邦调查局转移正常时间. |
wildberriesFbsSpeedCoefficient |
number · double | 否 | 果的FBS速度系数. |
wildberriesFbsEffectiveCommission |
number · double | 否 | 野生果联邦调查局有效委员会. |
wildberriesFbsTransferHoursSource |
string | 否 | 果公司的转移时间来源: |
wildberriesFbsSpeedCoefficientValidFrom |
string · date | 否 | 野生果FBS速度系数有效 |
wildberriesFbsSpeedCoefficientSource |
string | 否 | 果的FBS速度系数来源. |
logistic |
number · double | 否 | 后勤. |
warehouseRatio |
number · double | 否 | 仓库比例. |
logisticRatio |
number · double | 否 | 后勤比例. |
ktr |
number · double | 否 | 现在,我们要去. |
expenses |
number · double | 否 | 费用. |
newPriceByRub |
number · double | 否 | 的新价格. |
newPriceByMarginality |
number · double | 否 | 根据边缘性,新价格. |
desiredMarginPercent |
number · double | 否 | 预期的利率. |
desiredProfitRub |
number · double | 否 | 想要的利. |
profit |
number · double | 否 | 利. |
markUp |
number · double | 否 | 标记起来. |
marginality |
number · double | 否 | 边缘化. |
organizationId |
integer · int64 | 否 | 组织身份证. |
taxRate |
number · double | 否 | 税率. |
curl --request GET 'https://api.selsup.ru/api/calculator/price' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/calculator/price', {
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/calculator/price', {
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/calculator/price',
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/calculator/price',
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/calculator/price", 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/calculator/price"))
.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());
}
}
成功的反应
200
对象场
UnitCalculator
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
purchasePrice |
number · double | 否 | 买价. |
purchasePercent |
number · double | 否 | 购买百分比. |
width |
integer · int32 | 否 | 宽度. |
height |
integer · int32 | 否 | 高. |
depth |
integer · int32 | 否 | 深度. |
categoryId |
integer · int64 | 否 | 类别的ID. |
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 | 否 | 服务. |
salePrice |
number · double | 否 | 售价. |
commission |
number · double | 否 | 委员会. |
wildberriesFbsBaseCommission |
number · double | 否 | 野生果联邦调查局基地委员会. |
wildberriesFbsPlannedTransferHours |
number · double | 否 | 野生果联邦调查局计划转移时间. |
wildberriesFbsTransferNormHours |
number · double | 否 | 果公司的联邦调查局转移正常时间. |
wildberriesFbsSpeedCoefficient |
number · double | 否 | 果的FBS速度系数. |
wildberriesFbsEffectiveCommission |
number · double | 否 | 野生果联邦调查局有效委员会. |
wildberriesFbsTransferHoursSource |
string | 否 | 果公司的转移时间来源: |
wildberriesFbsSpeedCoefficientValidFrom |
string · date | 否 | 野生果FBS速度系数有效 |
wildberriesFbsSpeedCoefficientSource |
string | 否 | 果的FBS速度系数来源. |
logistic |
number · double | 否 | 后勤. |
warehouseRatio |
number · double | 否 | 仓库比例. |
logisticRatio |
number · double | 否 | 后勤比例. |
ktr |
number · double | 否 | 现在,我们要去. |
expenses |
number · double | 否 | 费用. |
newPriceByRub |
number · double | 否 | 的新价格. |
newPriceByMarginality |
number · double | 否 | 根据边缘性,新价格. |
desiredMarginPercent |
number · double | 否 | 预期的利率. |
desiredProfitRub |
number · double | 否 | 想要的利. |
profit |
number · double | 否 | 利. |
markUp |
number · double | 否 | 标记起来. |
marginality |
number · double | 否 | 边缘化. |
organizationId |
integer · int64 | 否 | 组织身份证. |
taxRate |
number · double | 否 | 税率. |
{
"purchasePrice": 1,
"purchasePercent": 1,
"width": 1,
"height": 1,
"depth": 1,
"categoryId": 1001
}错误12
应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_category_not_found应用逻辑中使用稳定的error_category_not_found代码;localMessage包含上述翻译.
error_depth_not_found应用逻辑中使用稳定的error_depth_not_found代码;localMessage包含上述翻译.
error_fill_purchase_price应用逻辑中使用稳定的error_fill_purchase_price代码;localMessage包含上述翻译.
error_height_not_found应用逻辑中使用稳定的error_height_not_found代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_purchase_percent_not_found应用逻辑中使用稳定的error_purchase_percent_not_found代码;localMessage包含上述翻译.
error_service_not_found应用逻辑中使用稳定的error_service_not_found代码;localMessage包含上述翻译.
error_width_not_found应用逻辑中使用稳定的error_width_not_found代码;localMessage包含上述翻译.