开始使用 交付
使用专用API代币,首先验证测试数据的读取操作.
- 保存代币服务器侧,然后将其发送到Authorization标题中.
- 检查所需参数,并扩大请求或响应方案.
- 在应用错误中处理HTTP状态和稳定的error字段.
通过可编辑的独立合同来支持本页面. 在生产使用之前,验证使用测试数据的写作操作.
/api/delivery
准备使用的工作流程
使用专用API代币,首先验证测试数据的读取操作.
数据模型
模型在此列出一次,并且可以直接从使用它们的终端点扩展.
codestringCode.
namestring姓名.
descriptionstring描述
idinteger · int32Id.
postCodestring邮政代码.
countryCountry乡村.
regionRegion地区.
regionIdinteger · int32区域ID
streetstring路上.
housestring房子.
districtstring地区.
citystring城市.
localitystring地方.
buildingstring建筑物.
flatstring没有什么.
shortstring短暂.
addressIdAddress联系方式
fullstring满满.
countryIdinteger · int32国家的身份证.
namestring姓名.
code2string代码2
code3string代码3
namesobject他们的名字.
printNamestring打印名字.
deliverySumnumber · float交货总额
periodMininteger · int32时间时间为
periodMaxinteger · int32时间马克斯.
calendarMininteger · int32时间表 Min.
calendarMaxinteger · int32时间表Max.
tariffIdinteger · int32关税证.
shippingServicestring运输服务.
tariffCodeinteger · int32关税法
externalTariffCodestring国际货币贸易法
tariffNamestring关税名称
tariffDescriptionstring关税描述
deliveryModeinteger · int32交付方式
additionalServicesAdditionalDeliveryServiceDto[]其他服务.
idinteger · int64Id.
read-onlynamestring姓名.
必填shortNamestring简短名字.
taxTypestring税收类型.
taxRateinteger · int32税率.
taxNdsinteger · int32税收.
inputTaxNdsinteger · int32输入税税.
outputTaxNdsinteger · int32产出税法
enableNewTaxCalculationboolean启用新的税收计算.
useNdsCostPriceboolean使用NDS成本价格.
innstring酒店.
必填kppstring现在,我们要去.
bankstring银行.
bikstring骑自行车.
corrBillstring科尔比尔.
billNumberstring账号号.
stampPathstring邮票路径.
read-onlystampUrlstring邮票URL.
read-onlystampSizeinteger · int32邮票大小.
read-onlystampWidthinteger · int32盖章宽度.
read-onlystampHeightinteger · int32邮票高度.
read-onlysignaturePathstring签字之路.
read-onlysignatureUrlstring签字的URL.
read-onlysignatureSizeinteger · int32签名大小.
read-onlysignatureWidthinteger · int32签字宽度.
read-onlysignatureHeightinteger · int32签字高度.
read-onlyipPersonPerson个人.
formstring形式.
必填ipboolean,我知道.
clientIdinteger · int64客户身份证.
read-onlyaddressAddress现在,我有个地址.
phoneNumberstring电话号码.
addressFullstring地址是完整的.
read-onlypersonIdinteger · int64个人身份证.
read-onlyfirstNamestring姓名
必填lastNamestring姓名
必填surNamestring苏尔名
clientIdinteger · int64客户身份证.
read-onlypositionPersonPosition位置.
必填versionIdinteger · int64版本ID.
read-onlycreatedUserstring创建用户.
read-onlycreatedDatestring · date-time创造日期.
read-onlydeletedboolean删除了.
read-onlyuserIdinteger · int32用户身份证
read-onlyhasChangesboolean有变化.
fullNamestring完整名字.
read-onlyshortNamestring简短名字.
read-onlyidinteger · int64Id.
read-onlynamestring姓名.
必填deletedboolean删除了.
read-onlyclientIdinteger · int64客户身份证.
read-onlydefaultJobIdinteger · int64默认工作身份证.
createdUserstring创建用户.
read-onlycreatedDatestring · date-time创造日期.
read-onlyregionIdinteger · int32区域ID
countryIdinteger · int32国家的身份证.
namestring姓名.
regionSynonymsRegionSynonym[]区域同义词
idinteger · int64Id.
regionIdinteger · int64区域ID
synonymstring标语是同义词.
servicestring服务.
warehouseDeliveryIdinteger · int64仓库交货证
pointstring点点.
servicestring服务.
warehouseIdinteger · int64仓库身份证.
organizationIdinteger · int64组织身份证.
tariffPrioritystring关税优先级
prioritiesobject优先事项
priorityByModeboolean按模式优先级
additionalServicesstring其他服务.
sendZeroPriceboolean送零价格.
fakeNamestring假名.
hideOrganizationboolean隐藏组织.
sellerOrganizationIdinteger · int64卖家组织身份证
organizationOrganization组织.
additionalServiceForTariffDeliveryTariff额外的关税服务.
idinteger · int64Id.
fileExportIdinteger · int64文件出口身份证
columnNamestring列名
columnOrderinteger · int32列队的命令.
isEnabledboolean已启用.
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.
deliverySumnumber · float交货总额
periodMininteger · int32时间时间为
periodMaxinteger · int32时间马克斯.
calendarMininteger · int32时间表 Min.
calendarMaxinteger · int32时间表Max.
servicesobject服务.
locationToCodestring位置到代码.
locationFromCodestring位置从代码.
tariffCodeinteger · int32关税法
deliveryModeToOrderCreateinteger · int32交付方式 订单创建.
deliveryModeListinteger[]交付方式列表
idinteger · int64Id.
tokenExpiredDatestring · date-time标志的到期日期.
servicestring服务.
serviceClientIdstring服务客户身份证.
serviceSecretDeliveryServiceData秘密服务.
clientIdinteger · int64客户身份证.
organizationIdinteger · int64组织身份证.
updateTokenboolean更新代码.
hasTokenboolean有代币.
hasSecretboolean有秘密.
namestring姓名.
idstringId.
namestring姓名.
locationDeliveryPointsLocation位置.
addressstring现在,我有个地址.
addressCommentstring收到的地址评论
notestring记住.
workTimestring工作时间.
phonesPhone[]电话.
zipCodestring邮政码.
codestringCode.
emailstring电子邮件.
sitestring网站.
addressstring现在,我有个地址.
codeinteger · int32Code.
postal_codestring邮政代码.
country_codestring国家的代码.
citystring城市.
fias_guidstring没有什么可言.
longitudenumber · float长度.
latitudenumber · float广度.
regionstring地区.
region_codeinteger · int32区域代码
address_fullstring填写地址.
city_codestring城市代码.
numberstring号码.
additionalstring其他.
namestring姓名.
idstringId.
addressstring现在,我有个地址.
postalCodestring邮政代码.
regionstring地区.
localitystring地方.
streetstring路上.
housestring房子.
longitudenumber · double长度.
latitudenumber · 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/delivery/updateDeliveryOrder使用 POST /api/delivery/updateDeliveryOrder.更新交付订单
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request POST 'https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/updateDeliveryOrder?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 response: Response = await fetch('https://api.selsup.ru/api/delivery/updateDeliveryOrder?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');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/updateDeliveryOrder?orderId=1001',
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/delivery/updateDeliveryOrder?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/delivery/updateDeliveryOrder?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/delivery/updateDeliveryOrder?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());
}
}
答案没有身体.
应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/storeWarehouseDelivery存储库使用POSTX/api/delivery/storeWarehouseDelivery.的交付
application/jsonWarehouseDelivery| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
warehouseDeliveryId |
integer · int64 | 否 | 仓库交货证 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
point |
string | 否 | 点点. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 服务. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warehouseId |
integer · int64 | 否 | 仓库身份证. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organizationId |
integer · int64 | 否 | 组织身份证. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tariffPriority |
string | 否 | 关税优先级 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorities |
object | 否 | 优先事项 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityByMode |
boolean | 否 | 按模式优先级 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalServices |
string | 否 | 其他服务. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sendZeroPrice |
boolean | 否 | 送零价格. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fakeName |
string | 否 | 假名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrganization |
boolean | 否 | 隐藏组织. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sellerOrganizationId |
integer · int64 | 否 | 卖家组织身份证 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organization |
Organization | 否 | 组织. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
integer · int64 | 否 | Id. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | 是 | 姓名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortName |
string | 否 | 简短名字. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxType |
stringYSN, YSN_CONSUMPTION, AUSN, AUSN_CONSUMPTION, OSNO, SELF_EMPLOYED | 否 | 税收类型. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxRate |
integer · int32 | 否 | 税率. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxNds |
integer · int32 | 否 | 税收. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputTaxNds |
integer · int32 | 否 | 输入税税. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outputTaxNds |
integer · int32 | 否 | 产出税法 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNewTaxCalculation |
boolean | 否 | 启用新的税收计算. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useNdsCostPrice |
boolean | 否 | 使用NDS成本价格. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inn |
string | 是 | 酒店. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kpp |
string | 否 | 现在,我们要去. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bank |
string | 否 | 银行. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bik |
string | 否 | 骑自行车. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
corrBill |
string | 否 | 科尔比尔. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billNumber |
string | 否 | 账号号. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampPath |
string | 否 | 邮票路径. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampUrl |
string | 否 | 邮票URL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampSize |
integer · int32 | 否 | 邮票大小. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampWidth |
integer · int32 | 否 | 盖章宽度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampHeight |
integer · int32 | 否 | 邮票高度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signaturePath |
string | 否 | 签字之路. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureUrl |
string | 否 | 签字的URL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureSize |
integer · int32 | 否 | 签名大小. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureWidth |
integer · int32 | 否 | 签字宽度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureHeight |
integer · int32 | 否 | 签字高度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipPerson |
Person | 否 | 个人. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
personId |
integer · int64 | 否 | 个人身份证. |
firstName |
string | 是 | 姓名 |
lastName |
string | 是 | 姓名 |
surName |
string | 否 | 苏尔名 |
clientId |
integer · int64 | 否 | 客户身份证. |
position |
PersonPosition | 是 | 位置. |
versionId |
integer · int64 | 否 | 版本ID. |
createdUser |
string | 否 | 创建用户. |
createdDate |
string · date-time | 否 | 创造日期. |
deleted |
boolean | 否 | 删除了. |
userId |
integer · int32 | 否 | 用户身份证 |
hasChanges |
boolean | 否 | 有变化. |
fullName |
string | 否 | 完整名字. |
shortName |
string | 否 | 简短名字. |
formipclientIdaddressAddress
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int32 | 否 | Id. |
postCode |
string | 否 | 邮政代码. |
country |
Country | 否 | 乡村. |
region |
Region | 否 | 地区. |
regionId |
integer · int32 | 否 | 区域ID |
street |
string | 否 | 路上. |
house |
string | 否 | 房子. |
district |
string | 否 | 地区. |
city |
string | 否 | 城市. |
locality |
string | 否 | 地方. |
building |
string | 否 | 建筑物. |
flat |
string | 否 | 没有什么. |
short |
string | 否 | 短暂. |
addressId |
Address | 否 | 联系方式 |
full |
string | 否 | 满满. |
phoneNumberaddressFulladditionalServiceForTariffDeliveryTariff
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | 否 | 交货总额 | ||||||||||||||||
periodMin |
integer · int32 | 否 | 时间时间为 | ||||||||||||||||
periodMax |
integer · int32 | 否 | 时间马克斯. | ||||||||||||||||
calendarMin |
integer · int32 | 否 | 时间表 Min. | ||||||||||||||||
calendarMax |
integer · int32 | 否 | 时间表Max. | ||||||||||||||||
tariffId |
integer · int32 | 否 | 关税证. | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 运输服务. | ||||||||||||||||
tariffCode |
integer · int32 | 否 | 关税法 | ||||||||||||||||
externalTariffCode |
string | 否 | 国际货币贸易法 | ||||||||||||||||
tariffName |
string | 否 | 关税名称 | ||||||||||||||||
tariffDescription |
string | 否 | 关税描述 | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 否 | 交付方式 | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | 否 | 其他服务. | ||||||||||||||||
阵列项结构
|
|||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
code |
string | 否 | Code. |
name |
string | 否 | 姓名. |
description |
string | 否 | 描述 |
curl --request POST 'https://api.selsup.ru/api/delivery/storeWarehouseDelivery' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}'
const response = await fetch('https://api.selsup.ru/api/delivery/storeWarehouseDelivery', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "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/delivery/storeWarehouseDelivery', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "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/delivery/storeWarehouseDelivery',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'warehouseDeliveryId': 1001,
'point': 'string',
'service': 'CDEK',
'warehouseId': 1001,
'organizationId': 1001,
'tariffPriority': 'string'
},
)
response.raise_for_status()
result = response.json()
<?php
$payload = <<<'JSON'
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/storeWarehouseDelivery',
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/delivery/storeWarehouseDelivery", strings.NewReader(`{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "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/delivery/storeWarehouseDelivery"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
WarehouseDelivery
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
warehouseDeliveryId |
integer · int64 | 否 | 仓库交货证 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
point |
string | 否 | 点点. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 服务. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warehouseId |
integer · int64 | 否 | 仓库身份证. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organizationId |
integer · int64 | 否 | 组织身份证. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tariffPriority |
string | 否 | 关税优先级 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorities |
object | 否 | 优先事项 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityByMode |
boolean | 否 | 按模式优先级 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalServices |
string | 否 | 其他服务. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sendZeroPrice |
boolean | 否 | 送零价格. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fakeName |
string | 否 | 假名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrganization |
boolean | 否 | 隐藏组织. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sellerOrganizationId |
integer · int64 | 否 | 卖家组织身份证 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organization |
Organization | 否 | 组织. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
integer · int64 | 否 | Id. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | 是 | 姓名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortName |
string | 否 | 简短名字. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxType |
stringYSN, YSN_CONSUMPTION, AUSN, AUSN_CONSUMPTION, OSNO, SELF_EMPLOYED | 否 | 税收类型. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxRate |
integer · int32 | 否 | 税率. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxNds |
integer · int32 | 否 | 税收. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputTaxNds |
integer · int32 | 否 | 输入税税. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outputTaxNds |
integer · int32 | 否 | 产出税法 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNewTaxCalculation |
boolean | 否 | 启用新的税收计算. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useNdsCostPrice |
boolean | 否 | 使用NDS成本价格. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inn |
string | 是 | 酒店. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kpp |
string | 否 | 现在,我们要去. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bank |
string | 否 | 银行. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bik |
string | 否 | 骑自行车. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
corrBill |
string | 否 | 科尔比尔. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billNumber |
string | 否 | 账号号. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampPath |
string | 否 | 邮票路径. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampUrl |
string | 否 | 邮票URL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampSize |
integer · int32 | 否 | 邮票大小. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampWidth |
integer · int32 | 否 | 盖章宽度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampHeight |
integer · int32 | 否 | 邮票高度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signaturePath |
string | 否 | 签字之路. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureUrl |
string | 否 | 签字的URL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureSize |
integer · int32 | 否 | 签名大小. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureWidth |
integer · int32 | 否 | 签字宽度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureHeight |
integer · int32 | 否 | 签字高度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipPerson |
Person | 否 | 个人. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
personId |
integer · int64 | 否 | 个人身份证. |
firstName |
string | 是 | 姓名 |
lastName |
string | 是 | 姓名 |
surName |
string | 否 | 苏尔名 |
clientId |
integer · int64 | 否 | 客户身份证. |
position |
PersonPosition | 是 | 位置. |
versionId |
integer · int64 | 否 | 版本ID. |
createdUser |
string | 否 | 创建用户. |
createdDate |
string · date-time | 否 | 创造日期. |
deleted |
boolean | 否 | 删除了. |
userId |
integer · int32 | 否 | 用户身份证 |
hasChanges |
boolean | 否 | 有变化. |
fullName |
string | 否 | 完整名字. |
shortName |
string | 否 | 简短名字. |
formipclientIdaddressAddress
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int32 | 否 | Id. |
postCode |
string | 否 | 邮政代码. |
country |
Country | 否 | 乡村. |
region |
Region | 否 | 地区. |
regionId |
integer · int32 | 否 | 区域ID |
street |
string | 否 | 路上. |
house |
string | 否 | 房子. |
district |
string | 否 | 地区. |
city |
string | 否 | 城市. |
locality |
string | 否 | 地方. |
building |
string | 否 | 建筑物. |
flat |
string | 否 | 没有什么. |
short |
string | 否 | 短暂. |
addressId |
Address | 否 | 联系方式 |
full |
string | 否 | 满满. |
phoneNumberaddressFulladditionalServiceForTariffDeliveryTariff
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | 否 | 交货总额 | ||||||||||||||||
periodMin |
integer · int32 | 否 | 时间时间为 | ||||||||||||||||
periodMax |
integer · int32 | 否 | 时间马克斯. | ||||||||||||||||
calendarMin |
integer · int32 | 否 | 时间表 Min. | ||||||||||||||||
calendarMax |
integer · int32 | 否 | 时间表Max. | ||||||||||||||||
tariffId |
integer · int32 | 否 | 关税证. | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 运输服务. | ||||||||||||||||
tariffCode |
integer · int32 | 否 | 关税法 | ||||||||||||||||
externalTariffCode |
string | 否 | 国际货币贸易法 | ||||||||||||||||
tariffName |
string | 否 | 关税名称 | ||||||||||||||||
tariffDescription |
string | 否 | 关税描述 | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 否 | 交付方式 | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | 否 | 其他服务. | ||||||||||||||||
阵列项结构
|
|||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
code |
string | 否 | Code. |
name |
string | 否 | 姓名. |
description |
string | 否 | 描述 |
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_duplicate_warehouse_delivery_for_warehouse应用逻辑中使用稳定的error_duplicate_warehouse_delivery_for_warehouse代码;localMessage包含上述翻译.
error_empty_shipping_point应用逻辑中使用稳定的error_empty_shipping_point代码;localMessage包含上述翻译.
error_empty_shipping_service应用逻辑中使用稳定的error_empty_shipping_service代码;localMessage包含上述翻译.
error_empty_tariff_priority应用逻辑中使用稳定的error_empty_tariff_priority代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_warehouse_delivery应用逻辑中使用稳定的error_no_warehouse_delivery代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/delivery/removeWarehouseDelivery使用 POST /api/delivery/removeWarehouseDelivery. 移除仓库交付
application/jsonWarehouseDelivery| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
warehouseDeliveryId |
integer · int64 | 否 | 仓库交货证 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
point |
string | 否 | 点点. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 服务. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warehouseId |
integer · int64 | 否 | 仓库身份证. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organizationId |
integer · int64 | 否 | 组织身份证. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tariffPriority |
string | 否 | 关税优先级 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorities |
object | 否 | 优先事项 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityByMode |
boolean | 否 | 按模式优先级 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalServices |
string | 否 | 其他服务. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sendZeroPrice |
boolean | 否 | 送零价格. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fakeName |
string | 否 | 假名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrganization |
boolean | 否 | 隐藏组织. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sellerOrganizationId |
integer · int64 | 否 | 卖家组织身份证 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organization |
Organization | 否 | 组织. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
integer · int64 | 否 | Id. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | 是 | 姓名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortName |
string | 否 | 简短名字. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxType |
stringYSN, YSN_CONSUMPTION, AUSN, AUSN_CONSUMPTION, OSNO, SELF_EMPLOYED | 否 | 税收类型. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxRate |
integer · int32 | 否 | 税率. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxNds |
integer · int32 | 否 | 税收. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputTaxNds |
integer · int32 | 否 | 输入税税. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outputTaxNds |
integer · int32 | 否 | 产出税法 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNewTaxCalculation |
boolean | 否 | 启用新的税收计算. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useNdsCostPrice |
boolean | 否 | 使用NDS成本价格. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inn |
string | 是 | 酒店. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kpp |
string | 否 | 现在,我们要去. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bank |
string | 否 | 银行. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bik |
string | 否 | 骑自行车. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
corrBill |
string | 否 | 科尔比尔. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billNumber |
string | 否 | 账号号. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampPath |
string | 否 | 邮票路径. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampUrl |
string | 否 | 邮票URL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampSize |
integer · int32 | 否 | 邮票大小. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampWidth |
integer · int32 | 否 | 盖章宽度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampHeight |
integer · int32 | 否 | 邮票高度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signaturePath |
string | 否 | 签字之路. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureUrl |
string | 否 | 签字的URL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureSize |
integer · int32 | 否 | 签名大小. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureWidth |
integer · int32 | 否 | 签字宽度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureHeight |
integer · int32 | 否 | 签字高度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipPerson |
Person | 否 | 个人. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
personId |
integer · int64 | 否 | 个人身份证. |
firstName |
string | 是 | 姓名 |
lastName |
string | 是 | 姓名 |
surName |
string | 否 | 苏尔名 |
clientId |
integer · int64 | 否 | 客户身份证. |
position |
PersonPosition | 是 | 位置. |
versionId |
integer · int64 | 否 | 版本ID. |
createdUser |
string | 否 | 创建用户. |
createdDate |
string · date-time | 否 | 创造日期. |
deleted |
boolean | 否 | 删除了. |
userId |
integer · int32 | 否 | 用户身份证 |
hasChanges |
boolean | 否 | 有变化. |
fullName |
string | 否 | 完整名字. |
shortName |
string | 否 | 简短名字. |
formipclientIdaddressAddress
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int32 | 否 | Id. |
postCode |
string | 否 | 邮政代码. |
country |
Country | 否 | 乡村. |
region |
Region | 否 | 地区. |
regionId |
integer · int32 | 否 | 区域ID |
street |
string | 否 | 路上. |
house |
string | 否 | 房子. |
district |
string | 否 | 地区. |
city |
string | 否 | 城市. |
locality |
string | 否 | 地方. |
building |
string | 否 | 建筑物. |
flat |
string | 否 | 没有什么. |
short |
string | 否 | 短暂. |
addressId |
Address | 否 | 联系方式 |
full |
string | 否 | 满满. |
phoneNumberaddressFulladditionalServiceForTariffDeliveryTariff
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | 否 | 交货总额 | ||||||||||||||||
periodMin |
integer · int32 | 否 | 时间时间为 | ||||||||||||||||
periodMax |
integer · int32 | 否 | 时间马克斯. | ||||||||||||||||
calendarMin |
integer · int32 | 否 | 时间表 Min. | ||||||||||||||||
calendarMax |
integer · int32 | 否 | 时间表Max. | ||||||||||||||||
tariffId |
integer · int32 | 否 | 关税证. | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 运输服务. | ||||||||||||||||
tariffCode |
integer · int32 | 否 | 关税法 | ||||||||||||||||
externalTariffCode |
string | 否 | 国际货币贸易法 | ||||||||||||||||
tariffName |
string | 否 | 关税名称 | ||||||||||||||||
tariffDescription |
string | 否 | 关税描述 | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 否 | 交付方式 | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | 否 | 其他服务. | ||||||||||||||||
阵列项结构
|
|||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
code |
string | 否 | Code. |
name |
string | 否 | 姓名. |
description |
string | 否 | 描述 |
curl --request POST 'https://api.selsup.ru/api/delivery/removeWarehouseDelivery' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}'
const response = await fetch('https://api.selsup.ru/api/delivery/removeWarehouseDelivery', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}),
});
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/delivery/removeWarehouseDelivery', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}),
});
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.post(
'https://api.selsup.ru/api/delivery/removeWarehouseDelivery',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'warehouseDeliveryId': 1001,
'point': 'string',
'service': 'CDEK',
'warehouseId': 1001,
'organizationId': 1001,
'tariffPriority': 'string'
},
)
response.raise_for_status()
<?php
$payload = <<<'JSON'
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/removeWarehouseDelivery',
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/delivery/removeWarehouseDelivery", strings.NewReader(`{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "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/delivery/removeWarehouseDelivery"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"warehouseDeliveryId": 1001,
"point": "string",
"service": "CDEK",
"warehouseId": 1001,
"organizationId": 1001,
"tariffPriority": "string"
}
"""))
.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_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/delivery/order/{orderId}使用POST的订单
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 服务. |
application/jsonDeliveryTariff| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | 否 | 交货总额 | ||||||||||||||||
periodMin |
integer · int32 | 否 | 时间时间为 | ||||||||||||||||
periodMax |
integer · int32 | 否 | 时间马克斯. | ||||||||||||||||
calendarMin |
integer · int32 | 否 | 时间表 Min. | ||||||||||||||||
calendarMax |
integer · int32 | 否 | 时间表Max. | ||||||||||||||||
tariffId |
integer · int32 | 否 | 关税证. | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 运输服务. | ||||||||||||||||
tariffCode |
integer · int32 | 否 | 关税法 | ||||||||||||||||
externalTariffCode |
string | 否 | 国际货币贸易法 | ||||||||||||||||
tariffName |
string | 否 | 关税名称 | ||||||||||||||||
tariffDescription |
string | 否 | 关税描述 | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 否 | 交付方式 | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | 否 | 其他服务. | ||||||||||||||||
阵列项结构
|
|||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
code |
string | 否 | Code. |
name |
string | 否 | 姓名. |
description |
string | 否 | 描述 |
curl --request POST 'https://api.selsup.ru/api/delivery/order/1001' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}'
const response = await fetch('https://api.selsup.ru/api/delivery/order/1001', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}),
});
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/delivery/order/1001', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}),
});
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.post(
'https://api.selsup.ru/api/delivery/order/1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'deliverySum': 1,
'periodMin': 1,
'periodMax': 1,
'calendarMin': 1,
'calendarMax': 1,
'tariffId': 1001
},
)
response.raise_for_status()
<?php
$payload = <<<'JSON'
{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/delivery/order/1001',
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/delivery/order/1001", strings.NewReader(`{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 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/delivery/order/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"tariffId": 1001
}
"""))
.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节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/getTariffs使用POSTX/api/delivery/getTariffs.获得关税
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request POST 'https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getTariffs?service=CDEK&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/delivery/getTariffs?service=CDEK&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/delivery/getTariffs?service=CDEK&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/delivery/getTariffs?service=CDEK&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/delivery/getTariffs?service=CDEK&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/delivery/getTariffs?service=CDEK&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());
}
}
DeliveryTariff[]
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | 否 | 交货总额 | ||||||||||||||||
periodMin |
integer · int32 | 否 | 时间时间为 | ||||||||||||||||
periodMax |
integer · int32 | 否 | 时间马克斯. | ||||||||||||||||
calendarMin |
integer · int32 | 否 | 时间表 Min. | ||||||||||||||||
calendarMax |
integer · int32 | 否 | 时间表Max. | ||||||||||||||||
tariffId |
integer · int32 | 否 | 关税证. | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 运输服务. | ||||||||||||||||
tariffCode |
integer · int32 | 否 | 关税法 | ||||||||||||||||
externalTariffCode |
string | 否 | 国际货币贸易法 | ||||||||||||||||
tariffName |
string | 否 | 关税名称 | ||||||||||||||||
tariffDescription |
string | 否 | 关税描述 | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 否 | 交付方式 | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | 否 | 其他服务. | ||||||||||||||||
阵列项结构
|
|||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
code |
string | 否 | Code. |
name |
string | 否 | 姓名. |
description |
string | 否 | 描述 |
[
"string"
]应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/downloadDeliveryLabels使用 POST /api/delivery/downloadDeliveryLabels. 下载交付标签
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
columns |
FileExportColumn[] | 否 | 列表. | ||||||||||||||||||||||||
阵列项结构
|
|||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
fileExportId |
integer · int64 | 否 | 文件出口身份证 |
columnName |
string | 否 | 列名 |
columnOrder |
integer · int32 | 否 | 列队的命令. |
isEnabled |
boolean | 否 | 已启用. |
actualtypeserviceWarehouseIdexternalOrderIdinvoiceNumberarticlecontainsArticleproductbarcodeorganizationsqueryuserIdserviceservicesstatusstatuseswithoutSupplyorderProductIdproductIdbrandIdsupplierIdhasCollectTaskorganizationIdclientOrganizationIdsupdateInServicehasServiceErrornoLabelisLegalnoMsOrdernoMsDemandidssupplyIdnotCollecteddbsexpressfbsnoWarehousecloseDatemodifiedDatemodifiedDateToincomeIdbindingOrderIdcloseDateFromcloseDateToorderDatedeliveryDatedeliveryDateFromdeliveryDateTocreatedDateFromcreatedDateToforMoySkladwithMoySkladOrderwarehouseIdwarehouseIdsdateFromdateTotimeZonemarkingStatusdeletedcollectLabelsortOrdersByDatesortBySkunotGroupByOrganizationnotGroupByServiceproductLabelproductCodeLabelservicesForLabelinfoLabelgroupedreplaceSetByComponentreplaceSetsByComponentsIncomecollectDeliveryLabelshippingServicesForLabelorderIdhasVideoFixationwithProductspassageIdswithContractorboxIdhasMarkedProductswithAnalyticslimitpagecountsortByascendingcurl --request POST 'https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/downloadDeliveryLabels?limit=50&page=1', {
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/delivery/downloadDeliveryLabels?limit=50&page=1', {
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/delivery/downloadDeliveryLabels?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/delivery/downloadDeliveryLabels?limit=50&page=1',
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/delivery/downloadDeliveryLabels?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/delivery/downloadDeliveryLabels?limit=50&page=1"))
.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/delivery/cancelDeliveryOrder使用 POST 取消交付订单
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request POST 'https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/cancelDeliveryOrder?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 response: Response = await fetch('https://api.selsup.ru/api/delivery/cancelDeliveryOrder?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');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/cancelDeliveryOrder?orderId=1001',
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/delivery/cancelDeliveryOrder?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/delivery/cancelDeliveryOrder?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/delivery/cancelDeliveryOrder?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());
}
}
答案没有身体.
应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/calculateTariff使用POSTX/api/delivery/calculateTariff.计算关税
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
tariffCode |
integer · int32 | 是 | 关税法 |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
orderId |
integer · int64 | 是 | 订单身份证. |
curl --request POST 'https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&orderId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/calculateTariff?tariffCode=1&service=CDEK&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/delivery/calculateTariff?tariffCode=1&service=CDEK&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/delivery/calculateTariff?tariffCode=1&service=CDEK&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/delivery/calculateTariff?tariffCode=1&service=CDEK&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/delivery/calculateTariff?tariffCode=1&service=CDEK&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/delivery/calculateTariff?tariffCode=1&service=CDEK&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());
}
}
CalculatedDeliveryTariff
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
deliverySum |
number · float | 否 | 交货总额 |
periodMin |
integer · int32 | 否 | 时间时间为 |
periodMax |
integer · int32 | 否 | 时间马克斯. |
calendarMin |
integer · int32 | 否 | 时间表 Min. |
calendarMax |
integer · int32 | 否 | 时间表Max. |
services |
object | 否 | 服务. |
locationToCode |
string | 否 | 位置到代码. |
locationFromCode |
string | 否 | 位置从代码. |
tariffCode |
integer · int32 | 否 | 关税法 |
deliveryModeToOrderCreate |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 否 | 交付方式 订单创建. |
deliveryModeList |
integer[] | 否 | 交付方式列表 |
{
"deliverySum": 1,
"periodMin": 1,
"periodMax": 1,
"calendarMin": 1,
"calendarMax": 1,
"services": "string"
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/addDeliveryServiceIntegration使用 POST /api/delivery/addDeliveryServiceIntegration. 添加交付服务集成
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
serviceClientId |
string | 是 | 服务客户身份证. |
serviceSecret |
string | 否 | 秘密服务. |
token |
string | 否 | 标志. |
organizationId |
integer · int64 | 是 | 组织身份证. |
curl --request POST 'https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=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 response: Response = await fetch('https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=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');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=1001',
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/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=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/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&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/delivery/addDeliveryServiceIntegration?service=CDEK&serviceClientId=string&organizationId=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());
}
}
答案没有身体.
应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/integration/{organizationId}/{service}使用 GET 实现/api/delivery/integration/{organizationId}/{service}. 的集成
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
organizationId |
integer · int64 | 是 | 组织身份证. |
curl --request GET 'https://api.selsup.ru/api/delivery/integration/1001/CDEK' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/integration/1001/CDEK', {
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/delivery/integration/1001/CDEK', {
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/delivery/integration/1001/CDEK',
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/delivery/integration/1001/CDEK',
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/delivery/integration/1001/CDEK", 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/delivery/integration/1001/CDEK"))
.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());
}
}
DeliveryServiceData
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int64 | 否 | Id. |
tokenExpiredDate |
string · date-time | 否 | 标志的到期日期. |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 服务. |
serviceClientId |
string | 否 | 服务客户身份证. |
serviceSecret |
DeliveryServiceData | 否 | 秘密服务. |
clientId |
integer · int64 | 否 | 客户身份证. |
organizationId |
integer · int64 | 否 | 组织身份证. |
updateToken |
boolean | 否 | 更新代码. |
hasToken |
boolean | 否 | 有代币. |
hasSecret |
boolean | 否 | 有秘密. |
{
"id": 1001,
"tokenExpiredDate": "2026-01-15T12:00:00Z",
"service": "CDEK",
"serviceClientId": "string",
"serviceSecret": "string",
"clientId": 1001
}应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/getWarehouseDelivery使用GETX/api/delivery/getWarehouseDelivery.获取仓库交付
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
organizationId |
integer · int64 | 是 | 组织身份证. |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
curl --request GET 'https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK', {
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/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK', {
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/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK',
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/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK',
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/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK", 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/delivery/getWarehouseDelivery?organizationId=1001&service=CDEK"))
.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());
}
}
WarehouseDelivery[]
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
warehouseDeliveryId |
integer · int64 | 否 | 仓库交货证 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
point |
string | 否 | 点点. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 服务. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warehouseId |
integer · int64 | 否 | 仓库身份证. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organizationId |
integer · int64 | 否 | 组织身份证. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tariffPriority |
string | 否 | 关税优先级 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorities |
object | 否 | 优先事项 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityByMode |
boolean | 否 | 按模式优先级 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalServices |
string | 否 | 其他服务. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sendZeroPrice |
boolean | 否 | 送零价格. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fakeName |
string | 否 | 假名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrganization |
boolean | 否 | 隐藏组织. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sellerOrganizationId |
integer · int64 | 否 | 卖家组织身份证 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
organization |
Organization | 否 | 组织. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
integer · int64 | 否 | Id. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | 是 | 姓名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortName |
string | 否 | 简短名字. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxType |
stringYSN, YSN_CONSUMPTION, AUSN, AUSN_CONSUMPTION, OSNO, SELF_EMPLOYED | 否 | 税收类型. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxRate |
integer · int32 | 否 | 税率. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxNds |
integer · int32 | 否 | 税收. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputTaxNds |
integer · int32 | 否 | 输入税税. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
outputTaxNds |
integer · int32 | 否 | 产出税法 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNewTaxCalculation |
boolean | 否 | 启用新的税收计算. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useNdsCostPrice |
boolean | 否 | 使用NDS成本价格. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inn |
string | 是 | 酒店. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kpp |
string | 否 | 现在,我们要去. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bank |
string | 否 | 银行. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bik |
string | 否 | 骑自行车. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
corrBill |
string | 否 | 科尔比尔. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billNumber |
string | 否 | 账号号. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampPath |
string | 否 | 邮票路径. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampUrl |
string | 否 | 邮票URL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampSize |
integer · int32 | 否 | 邮票大小. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampWidth |
integer · int32 | 否 | 盖章宽度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stampHeight |
integer · int32 | 否 | 邮票高度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signaturePath |
string | 否 | 签字之路. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureUrl |
string | 否 | 签字的URL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureSize |
integer · int32 | 否 | 签名大小. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureWidth |
integer · int32 | 否 | 签字宽度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signatureHeight |
integer · int32 | 否 | 签字高度. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipPerson |
Person | 否 | 个人. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
personId |
integer · int64 | 否 | 个人身份证. |
firstName |
string | 是 | 姓名 |
lastName |
string | 是 | 姓名 |
surName |
string | 否 | 苏尔名 |
clientId |
integer · int64 | 否 | 客户身份证. |
position |
PersonPosition | 是 | 位置. |
versionId |
integer · int64 | 否 | 版本ID. |
createdUser |
string | 否 | 创建用户. |
createdDate |
string · date-time | 否 | 创造日期. |
deleted |
boolean | 否 | 删除了. |
userId |
integer · int32 | 否 | 用户身份证 |
hasChanges |
boolean | 否 | 有变化. |
fullName |
string | 否 | 完整名字. |
shortName |
string | 否 | 简短名字. |
formipclientIdaddressAddress
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
integer · int32 | 否 | Id. |
postCode |
string | 否 | 邮政代码. |
country |
Country | 否 | 乡村. |
region |
Region | 否 | 地区. |
regionId |
integer · int32 | 否 | 区域ID |
street |
string | 否 | 路上. |
house |
string | 否 | 房子. |
district |
string | 否 | 地区. |
city |
string | 否 | 城市. |
locality |
string | 否 | 地方. |
building |
string | 否 | 建筑物. |
flat |
string | 否 | 没有什么. |
short |
string | 否 | 短暂. |
addressId |
Address | 否 | 联系方式 |
full |
string | 否 | 满满. |
phoneNumberaddressFulladditionalServiceForTariffDeliveryTariff
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | 否 | 交货总额 | ||||||||||||||||
periodMin |
integer · int32 | 否 | 时间时间为 | ||||||||||||||||
periodMax |
integer · int32 | 否 | 时间马克斯. | ||||||||||||||||
calendarMin |
integer · int32 | 否 | 时间表 Min. | ||||||||||||||||
calendarMax |
integer · int32 | 否 | 时间表Max. | ||||||||||||||||
tariffId |
integer · int32 | 否 | 关税证. | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 运输服务. | ||||||||||||||||
tariffCode |
integer · int32 | 否 | 关税法 | ||||||||||||||||
externalTariffCode |
string | 否 | 国际货币贸易法 | ||||||||||||||||
tariffName |
string | 否 | 关税名称 | ||||||||||||||||
tariffDescription |
string | 否 | 关税描述 | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 否 | 交付方式 | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | 否 | 其他服务. | ||||||||||||||||
阵列项结构
|
|||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
code |
string | 否 | Code. |
name |
string | 否 | 姓名. |
description |
string | 否 | 描述 |
[
"string"
]应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_warehouse_delivery应用逻辑中使用稳定的error_no_warehouse_delivery代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
/api/delivery/getRegions使用 GET 获取区域
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
query |
string | 是 | 问问. |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
organizationId |
integer · int64 | 是 | 组织身份证. |
curl --request GET 'https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getRegions?query=string&service=CDEK&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/delivery/getRegions?query=string&service=CDEK&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/delivery/getRegions?query=string&service=CDEK&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/delivery/getRegions?query=string&service=CDEK&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/delivery/getRegions?query=string&service=CDEK&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/delivery/getRegions?query=string&service=CDEK&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());
}
}
DeliveryRegion[]
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
name |
string | 否 | 姓名. |
id |
string | 否 | Id. |
[
"string"
]应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/getPoints使用 GET /api/delivery/getPoints. 获得积分
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
postCode |
string | 否 | 邮政代码. |
country |
string | 否 | 乡村. |
region |
string | 否 | 地区. |
city |
string | 否 | 城市. |
query |
string | 否 | 问问. |
forSupply |
boolean | 否 | 为了供应. |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
organizationId |
integer · int64 | 是 | 组织身份证. |
curl --request GET 'https://api.selsup.ru/api/delivery/getPoints?service=CDEK&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getPoints?service=CDEK&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/delivery/getPoints?service=CDEK&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/delivery/getPoints?service=CDEK&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/delivery/getPoints?service=CDEK&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/delivery/getPoints?service=CDEK&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/delivery/getPoints?service=CDEK&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());
}
}
DeliveryPoint[]
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name |
string | 否 | 姓名. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
location |
DeliveryPointsLocation | 否 | 位置. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
对象场
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
address |
string | 否 | 现在,我有个地址. |
code |
integer · int32 | 否 | Code. |
postal_code |
string | 否 | 邮政代码. |
country_code |
string | 否 | 国家的代码. |
city |
string | 否 | 城市. |
fias_guid |
string | 否 | 没有什么可言. |
longitude |
number · float | 否 | 长度. |
latitude |
number · float | 否 | 广度. |
region |
string | 否 | 地区. |
region_code |
integer · int32 | 否 | 区域代码 |
address_full |
string | 否 | 填写地址. |
city_code |
string | 否 | 城市代码. |
addressaddressCommentnoteworkTimephonesPhone
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
number |
string | 否 | 号码. |
additional |
string | 否 | 其他. |
zipCodecodeemailsite[
"string"
]应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_empty_delivery_service应用逻辑中使用稳定的error_empty_delivery_service代码;localMessage包含上述翻译.
error_no_client应用逻辑中使用稳定的error_no_client代码;localMessage包含上述翻译.
error_no_delivery_integration应用逻辑中使用稳定的error_no_delivery_integration代码;localMessage包含上述翻译.
error_organization_not_found应用逻辑中使用稳定的error_organization_not_found代码;localMessage包含上述翻译.
error_subscription_expired应用逻辑中使用稳定的error_subscription_expired代码;localMessage包含上述翻译.
error_unsupported_delivery_service应用逻辑中使用稳定的error_unsupported_delivery_service代码;localMessage包含上述翻译.
/api/delivery/getDeliveryTariffs使用GETX/api/delivery/getDeliveryTariffs.获得交付关税
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
query |
string | 是 | 问问. |
curl --request GET 'https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=string' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getDeliveryTariffs?service=CDEK&query=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/delivery/getDeliveryTariffs?service=CDEK&query=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/delivery/getDeliveryTariffs?service=CDEK&query=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/delivery/getDeliveryTariffs?service=CDEK&query=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/delivery/getDeliveryTariffs?service=CDEK&query=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/delivery/getDeliveryTariffs?service=CDEK&query=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());
}
}
DeliveryTariff[]
| 字段 | 类型 | 必填 | 描述 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
deliverySum |
number · float | 否 | 交货总额 | ||||||||||||||||
periodMin |
integer · int32 | 否 | 时间时间为 | ||||||||||||||||
periodMax |
integer · int32 | 否 | 时间马克斯. | ||||||||||||||||
calendarMin |
integer · int32 | 否 | 时间表 Min. | ||||||||||||||||
calendarMax |
integer · int32 | 否 | 时间表Max. | ||||||||||||||||
tariffId |
integer · int32 | 否 | 关税证. | ||||||||||||||||
shippingService |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 否 | 运输服务. | ||||||||||||||||
tariffCode |
integer · int32 | 否 | 关税法 | ||||||||||||||||
externalTariffCode |
string | 否 | 国际货币贸易法 | ||||||||||||||||
tariffName |
string | 否 | 关税名称 | ||||||||||||||||
tariffDescription |
string | 否 | 关税描述 | ||||||||||||||||
deliveryMode |
integer · int320, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 否 | 交付方式 | ||||||||||||||||
additionalServices |
AdditionalDeliveryServiceDto[] | 否 | 其他服务. | ||||||||||||||||
阵列项结构
|
|||||||||||||||||||
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
code |
string | 否 | Code. |
name |
string | 否 | 姓名. |
description |
string | 否 | 描述 |
[
"string"
]应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/getCities使用GETX/api/delivery/getCities.获取城市
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
query |
string | 是 | 问问. |
region |
string | 是 | 地区. |
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
organizationId |
integer · int64 | 是 | 组织身份证. |
curl --request GET 'https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&organizationId=1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getCities?query=string®ion=string&service=CDEK&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/delivery/getCities?query=string®ion=string&service=CDEK&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/delivery/getCities?query=string®ion=string&service=CDEK&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/delivery/getCities?query=string®ion=string&service=CDEK&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/delivery/getCities?query=string®ion=string&service=CDEK&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/delivery/getCities?query=string®ion=string&service=CDEK&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());
}
}
DeliveryCity[]
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
name |
string | 否 | 姓名. |
id |
string | 否 | Id. |
[
"string"
]应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/getAddress使用 GET 获取地址
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
postCode |
string | 否 | 邮政代码. |
country |
string | 否 | 乡村. |
region |
string | 否 | 地区. |
city |
string | 否 | 城市. |
query |
string | 否 | 问问. |
forSupply |
boolean | 否 | 为了供应. |
curl --request GET 'https://api.selsup.ru/api/delivery/getAddress' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/getAddress', {
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/delivery/getAddress', {
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/delivery/getAddress',
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/delivery/getAddress',
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/delivery/getAddress", 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/delivery/getAddress"))
.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());
}
}
AddressDto[]
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
address |
string | 否 | 现在,我有个地址. |
postalCode |
string | 否 | 邮政代码. |
region |
string | 否 | 地区. |
locality |
string | 否 | 地方. |
street |
string | 否 | 路上. |
house |
string | 否 | 房子. |
longitude |
number · double | 否 | 长度. |
latitude |
number · double | 否 | 广度. |
[
"string"
]应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
error_cant_get_address应用逻辑中使用稳定的error_cant_get_address代码;localMessage包含上述翻译.
/api/delivery/fetchDeliveryServiceAdditionalServices使用 GET /api/delivery/fetchDeliveryServiceAdditionalServices.的带来交付额外服务
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
tariffCode |
integer · int32 | 否 | 关税法 |
curl --request GET 'https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK', {
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/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK', {
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/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK',
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/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK',
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/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK", 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/delivery/fetchDeliveryServiceAdditionalServices?service=CDEK"))
.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());
}
}
AdditionalDeliveryServiceDto[]
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
code |
string | 否 | Code. |
name |
string | 否 | 姓名. |
description |
string | 否 | 描述 |
[
"string"
]应用错误通常以 JSON, error,localMessage和 params为回归. 如何返回应用错误 ↑
auth_requiredAuthorization 缺失,空,或包含无效的代币.
error_access_denied代币存在,但它的作用不能执行这个操作.
error_unknown节省请求时间和联系支持;不要盲目重新尝试突变.
/api/delivery/{service}/{organizationId}使用 DELETE /api/delivery/{service}/{organizationId}.删除交付服务集成
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
service |
stringCDEK, OWN_DELIVERY, POST, BOXBERRY, DPD, YANDEX, DOSTAVISTA, DELLIN, PEC, YANDEX_EXPRESS, FIVE_POST | 是 | 服务. |
organizationId |
integer · int64 | 是 | 组织身份证. |
curl --request DELETE 'https://api.selsup.ru/api/delivery/CDEK/1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/delivery/CDEK/1001', {
method: 'DELETE',
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/delivery/CDEK/1001', {
method: 'DELETE',
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.delete(
'https://api.selsup.ru/api/delivery/CDEK/1001',
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/delivery/CDEK/1001',
CURLOPT_CUSTOMREQUEST => 'DELETE',
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("DELETE", "https://api.selsup.ru/api/delivery/CDEK/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/delivery/CDEK/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("DELETE", 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节省请求时间和联系支持;不要盲目重新尝试突变.