申请下单请求不返回运单号,为了获取运单号需要使用申请下单请求返回的请求UUID(entity.uuid)提交到获取下单请求结果的接口。
下单请求
请求内容格式为 JSON (Content-Type: application/json) 字符编码 UTF-8.
POST-请求, 请求URL:
| 测试环境 | https://api.edu.cdek.ru/v2/orders |
|---|---|
| 正式环境 | https://api.cdek.ru/v2/orders |
| 中国的环境 | https://int.cdek-express.cn/v2/orders |
请求内容
CDEK系统有两种订单:
- 电商订单 - 向买家发的货,被电商下单的
- 普通订单 - 一般指的个人发的货,不属于电商类型的订单
国际订单 - 寄件国家 不等于 收件国家并且两国不属于同样的海关联盟,比如:中国-俄罗斯 是国际货运。俄罗斯-哈萨克斯坦 不算国际订单。
内容包含的属性以下:
| 属性名称 | 描述 | 类型 | 必填 | |
|---|---|---|---|---|
| 1 | type | 订单类型: 1 - “电商” (仅持有 “电商”类型签约的合同), 默认值 |
2 - “普通” (其他合同) | integer | 否 |
| 2 | number | 客户订单跟踪号 (不填的话CDEK设置为订单的UUID)
该仅 “电商”类型订单可使用 | string(32) | 否 |
| 3 | tariff_code | 服务代码 - 快递产品代码 (查看服务列表) | integer | 是 |
| 4 | comment | 订单备注 | string(255) | 否 |
| 5 | shipment_point | 寄件站点代码 | string(255) | 否 |
| 6 | delivery_point | 收件站点代码 | string(255) | 否 |
| 7 | date_invoice | 发货时的发票日期
该属性仅 “电商” 类型订单可以使用的 | date (yyyy-MM-dd) | 否
国际-是 |
| 8 | shipper_name | 承运商名称
该属性仅 “电商” 类型订单可以使用的 | string(255) | 否
国际-是 |
| 9 | shipper_address | 承运商地址
该属性仅 “电商” 类型订单可以使用的 | string(255) | 否
国际-是 |
| 10 | delivery_recipient_cost | 运输附加费 - 电商可添加让买家多付运费
该属性仅 “电商” 类型订单可以使用的 | money | 否 |
| 10.1 | value | 运输附加费 - 金额 | float | 是 |
| 10.2 | vat_sum | 运输附加费 - 税额 | float | 否 |
| 10.3 | vat_rate | 运输附加费 - 税率(百分之几) (可选 0,10,18,20, null - 不收税) | integer | 否 |
| 11 | delivery_recipient_cost_adv | 根据货件申报价值的运输附加费用
该属性仅 “电商” 类型订单可以使用的 | threshold[] | 否 |
| 11.1 | threshold | 货件申报价值少于等于 | integer | 是 |
| 11.2 | sum | 根据货件申报价值 - 附加费用金额 | float | 是 |
| 11.3 | vat_sum | 根据货件申报价值- 税额 | float | 否 |
| 11.4 | vat_rate | 根据货件申报价值 税率
(可选 0,10,18,20, null - 不收税) | integer | 否 |
| 12 | sender | 寄件方 | contact | 电商-否
普通-是
| | 12.1 | company | 公司名称 | string(255) | | | 12.2 | name | 姓名 | string(255) | | | 12.3 | email | 电子邮箱地址 | string(255) | | | 12.4 | phones | 电话号码列表 | phone[] | | | 12.4.1 | number | 电话号码,国际格式 比如 +79094768888
| string(255) | |
| 12.4.2 | additional | 分机号码 | string(255) | 否 |
| 13 | seller | 实际卖家
该属性仅 “电商” 类型订单可以使用的 | seller | 否 |
| 13.1 | inn | 卖家税号 | string(20) | 否 |
| 13.2 | name | 卖家名称 | string(255) | 是-填了inn的话 |
| 13.3 | phone | 卖家电话号码 | string(255) | |
| 13.4 | ownership_form | 卖家所有制形式 | integer | |
| 13.5 | address | 卖家地址
该属性仅 “电商” 类型订单可以使用的 | string(255) | 否
国际-是 |
| 14 | recipient | 收件方 | contact | 是 |
| 14.1 | company | 公司名称 | string(255) | 否 |
| 14.10 | phones | 电话号码列表 | phone[] | 是 |
| 14.10.1 | number | 电话号码,国际格式 比如 +79094768888
| string(255) | 是 |
| 14.10.2 | additional | 分机号码 | string(255) |
否 |
| 14.2 | name | 姓名 | string(255) | 是 |
| 14.3 | passport_series | 护照序列 | string(255) | 否 |
| 14.4 | passport_number | 护照号码 | string(255) | 否 |
| 14.5 | passport_date_of_issue | 护照签发日期 | date (yyyy-MM-dd) | 否 |
| 14.6 | passport_organization | 护照签发机关 | string(255) | 否 |
| 14.7 | tin | 个人税号 | string(255) | 否 |
| 14.8 | passport_date_of_birth | 生日 | date (yyyy-MM-dd) | 否 |
| 14.9 | email | 电子邮箱 | string(255) |
否 |
| 15 | from_location | 寄件地址 | location | 是 |
| 15.1 | code | 地点代码 (根据CDEK数据库) | integer | 否 |
| 15.10 | city | 城市名称 | string(255) | 否 |
| 15.11 | kladr_code | 俄罗斯海关局-旧版地址数据库的地址代码 | string(255) | 否 |
| 15.12 | address | 地址 | string(255) | 是 |
| 15.2 | fias_guid | 俄罗斯海关局-新版地址数据库(FIAS)的地址代码 | UUID | 否 |
| 15.3 | postal_code | 邮编 | string(255) | 否 |
| 15.4 | longitude | 经度 | float | 否 |
| 15.5 | latitude | 纬度 | float | 否 |
| 15.6 | country_code | 国家编码 ISO_3166-1_alpha-2 格式的 | string(2) | 是 |
| 15.7 | region | 州省名称 | string(255) | 否 |
| 15.8 | region_code | 州省代码 (根据CDEK数据库) | integer | 否 |
| 15.9 | sub_region | 县/区
| string(255) | 否 |
| 16 | to_location | 收件地址 | location | 是 |
| 16.1 | code | 地点代码 (根据CDEK数据库) | integer | 否 |
| 16.10 | city | 城市名称 | string(255) | 否 |
| 16.11 | kladr_code | 俄罗斯海关局-旧版地址数据库的地址代码 | string(255) | 否 |
| 16.12 | address | 地址 | string(255) | 是 |
| 16.2 | fias_guid | 俄罗斯海关局-新版地址数据库(FIAS)的地址代码 | UUID | 否 |
| 16.3 | postal_code | 邮编 | string(255) | 否 |
| 16.4 | longitude | 经度 | float | 否 |
| 16.5 | latitude | 纬度 | float | 否 |
| 16.6 | country_code | 国家编码 ISO_3166-1_alpha-2 格式的 | string(2) | 是 |
| 16.7 | region | 州省名称 | string(255) | 否 |
| 16.8 | region_code | 州省代码 (根据CDEK数据库) | integer | 否 |
| 16.9 | sub_region | 县/区
| string(255) | 否 |
| 17 | services | 增值服务列表 | service[] | 否 |
| 17.1 | code | 增值服务代码 (查看增值服务列表) | integer | 是 |
| 17.2 | parameter | 增值服务的参数:
- 纸箱数量(标准纸箱服务的)
- 保险申报价值 (仅普通订单类型订单可使用)
| float | 否 |
| 18 | packages | 包装件列表 | package[] | 是 |
| 18.1 | number | 包装件序号 | string(255) | 是 |
| 18.2 | weight | 包装件总重量 (克数)
| integer | 是 |
| 18.3 | length | 长度 cm | integer | 要么都填 -
要么都不填 |
| 18.4 | width | 宽度 cm | integer | |
| 18.5 | height | 高度 cm | integer | |
| 18.6 | comment | 包装件的备注 | string(255) | 电商-否
普通-是 |
| 18.7 | items | 内件列表(产品列表)
该属性仅 “电商” 类型订单可以使用的 | item[] | 是 |
| 18.7.1 | name | 产品名称 (可包括尺寸、颜色等等) | string(255) | 是 |
| 18.7.2 | ware_key | 产品SKU 或其他产品唯一识别码(不能包含汉字) | string(20) | 是 |
| 18.7.3 | marking | 产品唯一的编号(填该属性的话 数量amout必须等于1),俄罗斯产品标记法(第487-ФЗ号) | string() | 否 |
| 18.7.4 | payment | 单件的代收货款, 收件国家的币种(币种列表) | money | 是 |
| 18.7.4.1 | value | 金额 | float | 是 |
| 18.7.4.2 | vat_sum | 税额 | float | 否 |
| 18.7.4.3 | vat_rate | 税率(百分之几) (可选 0,10,18,20, null - 不收税) | integer | 否 |
| 18.7.5 | cost | 单件申报价值 (用于计算保险费)
| float | 是 |
| 18.7.6 | weight | 单件重量(单位:克) | integer | 是 |
| 18.7.7 | weight_gross | 单件毛重(单位:克)不能少于 weight | integer | 否
国际-是 |
| 18.7.8 | amount | 产品数量 | integer | 是 |
| 18.7.9 | name_i18n | 外文名称 | string(255) | 否 |
| 18.7.10 | brand | 商标名称(英文) | string(255) | 否 |
| 18.7.11 | country_code | 产品制造国家编码 ISO_3166-1_alpha-2 格式的 | string(2) | 否 |
| 18.7.12 | material | 材质编码 (查看列表) | integer | 否 |
| 18.7.13 | wifi_gsm | 是否具有 wifi/gsm 模块 | boolean | 否 |
| 18.7.14 | url | 稍稍平台具体产品链接 | string(255) | 否 |
Python3 申请下单请求例子
# encoding: utf-8import requestsimport urllib.parseimport sys# python 3account = '12345609e96ece5b0545d472b7123456'secure_password = 'abcdef3764e27c8f822ab285d6abcdef'def get_token(account, secure_password): # 获取令牌auth_url = 'http://api.cdek.ru/v2/oauth/token'params = {'grant_type':'client_credentials', 'client_id':account, 'client_secret': secure_password}full_auth_url = auth_url+'?'+urllib.parse.urlencode(params)headers = {'Content-type': 'x-www-form-urlencoded'}responce = requests.post(url=full_auth_url, headers=headers)responce_data = responce.json()return responce_dataresponce_data = get_token(account, secure_password)if 'error' in responce_data:print(f'Error: {responce_data["error"]}')sys.exit() #获取令牌失败,显示原因,结束access_token = responce_data["access_token"]order_data = { # 下单全部数据"number" : "TEST3-CT789435359CN", #以卖家生成的,可以用于跟踪轨迹"comment" : "","delivery_recipient_cost" : {"value" : 0 #不需要代收货款的话填0},"shipper_name": "CDEK","shipper_address": "Novosibirsk","date_invoice": "2020-03-26", #可以填下单日期"seller": {"address": "Shanghai, Changning District"},"from_location" : {"code" : "","fias_guid" : "","postal_code" : "200050", #根据邮编识别寄件城市"longitude" : "","latitude" : "","country_code" : "CN", #必须填的"region" : "","sub_region" : "","city" : "Shanghai","kladr_code" : "","address" : ""},"to_location" : {"code" : "","fias_guid" : "","postal_code" : "443034",#根据邮编和地址识别寄件城市"longitude" : "","latitude" : "","country_code" : "RU",#必须填的"region" : "","sub_region" : "","city" : "Samara","kladr_code" : "","address" : "Yubileynaya ulitsa, 35 28;Samara;Samarskaya oblast"},"packages" : [ {"number" : "TEST3-CT789435359CN","weight": 120,"comment" : "","items" : [ {"ware_key" : "WELRV0086000627YQ",#不能包含汉字"payment" : {"value" : 0},"name" : "Measuring tools","cost" : 0, #申报价值(跟保险费有关)"amount" : 1,"weight" : 120, #克数"weight_gross" : 120,"url" : ""} ]} ],"recipient" : {"name" : "Ivanov Sergei Petrovich","phones" : [ {"number" : "9990001234"},{"number" : "9990003456"} ]},"sender" : {"name" : "Zhang san"},"services" : [], #不加上任何增值服务"tariff_code" : 246 #服务代码}headers = {'Authorization': 'Bearer '+access_token, 'Content-type': 'application/json','DeveloperKey': '1234abcdef***************ad19883'}responce = requests.post('https://api.cdek.ru/v2/orders', json=order_data, headers=headers)print(responce) # <Response [202]> - 返回的申请成功 HTTP 状态码 202print(responce.text)
申请成功返回的数据
{
"entity": {
"uuid": "72753033-db0e-4042-9392-c5a077e24669"
},
"requests": [{
"request_uuid": "72753033-d75d-4f16-9f08-205b44a70774",
"type": "CREATE",
"date_time": "2020-03-26T15:02:56+0700",
"state": "ACCEPTED"
}]
}
entity.uuid - 用于获取下单结果
申请失败返回的数据
{
"timestamp": 1585210142239,
"path": "/v2/orders",
"status": 500,
"error": "Internal Server Error",
"message": "Не найден HTTP заголовок Authorization"
}
常见异常
申请下单出现的异常
| 异常编码 | 描述 |
|---|---|
| delivery_location_is_not_recognized | 无法识别收件地址 |
| shipment_location_is_not_recognized | 无法识别寄件地址 |
| v2_order_tariff_code_is_empty | 没填写 服务产品编码 tariff_code |
| order_recipient_is_empty | 没填写 收件人信息 recipient |
| order_packages_is_empty | 没填写 包裹信息 packages |
生成订单出现的异常请看获取订单信息接口描述
附件
国家以及对应的币种
| 币种代码 | 币种名称 (俄文) | 国家名称 (俄文) |
|---|---|---|
| RUB | 俄罗斯的卢布(Российский рубль) | 俄罗斯 (Россия) |
| USD | 美元 (Доллар США) | 美国(США) |
| EUR | 欧元 (Евро) | 欧洲国家 (Страны Европы) |
| KZT | 坚戈 (Тенге) | 哈萨克斯坦 (Казахстан) |
| GBP | 英镑 (Фунт стерлингов) | 英国 (Великобритания) |
| CNY | 人民币(Юань) | 中国(Китай) |
| BYN | 白俄罗斯的卢布(Белорусский рубль) |
白俄罗斯(Белоруссия) |
| UAH | 格里夫纳(Гривна) | 乌克兰(Украина) |
| AMD | 德拉姆 (Армянский драм) | 亚美尼亚(Армения) |
| KGS | 索姆 (Киргизский сом) | 吉尔吉斯坦(Киргизия) |
| TL | 里拉(Турецкая лира) | 土耳其(Турция) |
| THB | 泰铢(Тайский бат) | 泰国(Тайланд) |
| KRW | 韩元(Южнокорейская вона) | 韩国(Южная Корея) |
| AED | 迪拉姆(Дирхам ОАЭ) | 阿联酋(ОАЭ) |
| UZS | 苏姆(Узбекский сум) | 乌兹别克斯坦(Узбекистан) |
| MNT | 图格里克(Монгольский тугрик) | 蒙古(Монголия) |
附加服务
| 附加服务代码 | 名称 | 描述 | |
|---|---|---|---|
| INSURANCE | 保险 | 计算根据内件申报价值。 电商类型的合同不能提交该附加服务,对应电商类型的合同该附加服务自动加上的 |
|
| DELIV_WEEKEND | 周末派送 | 周末以及节假日派送服务零需要附加费300卢布,不能用于自提柜的订单 | |
| TAKE_SENDER | 在寄件人的城市提货 | 尽可以用于从站点发货模式的订单«库到…»(并且”快件”服务也不能使用该附加服务) | |
| DELIV_RECEIVER | 在目的地派送 | 尽可以用于发到库模式的订单«….到库» (并且只能用于 «干线快递», «干线特快» 服务)不能用于自提柜的订单 | |
| TRYING_ON | 试衣等待 | 派送员派送衣服类型的订单等待收件人试衣服再走或直接退货。 不能用于自提柜的订单 |
|
| PART_DELIV | 部分签收 | 收件人可以只签收部分商品、另一部分退货。 内件中只有一个商品的话无法使用该服务。 不能用于自提柜的订单 |
|
| INSPECTION_CARGO | 验货 | 收件人支付之前可以先验货再付。 不能用于自提柜的订单。 |
|
| REVERSE | 双向 | 快件送到收件人等收件人操作再送回给寄件人,(比如需要签合同等等情况) 不能用于自提柜的订单。 |
|
| DANGER_CARGO | 危险货物 | 危险货物的订单必须添加该增值服务,运费会提高1.5倍。 | |
| PACKAGE_1 | 包装 1 | 标准纸箱 1 尺寸为:310215280mm — 30 卢布 (用于10kg 以下的订单) |
材质列表
| 材质编码 | 材料名称 (材料名称俄文) |
|---|---|
| 1 | 聚酯纤维 (Полиэстер) |
| 2 | 尼龙 (Нейлон) |
| 3 | 绒布 (Флис) |
| 4 | 棉花(Хлопок) |
| 5 | 纺织布(Текстиль) |
| 6 | 亚麻(Лён) |
| 7 | 黏胶丝(Вискоза) |
| 8 | 丝绸(Шелк) |
| 9 | 羽毛(Шерсть) |
| 10 | 开司米(Кашемир) |
| 11 | 皮(Кожа) |
| 12 | 人造革(Кожзам) |
| 13 | 人造毛皮(Искусственный мех) |
| 14 | 麂皮(Замша) |
| 15 | 聚氨酯(Полиуретан) |
| 16 | 氨纶(Спандекс) |
| 17 | 橡胶(Резина) |
