# ois-doc
**Repository Path**: GiteeOS/ois-doc
## Basic Information
- **Project Name**: ois-doc
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-02-02
- **Last Updated**: 2024-02-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 订单文档
## 代码示例
java: [Java 代码示例](https://intelink-mms.obs.cn-south-1.myhuaweicloud.com/0/fileCfgHelp/894542802942164992-1691205224030-java.zip)
Python: [Python代码示例](https://intelink-mms.obs.cn-south-1.myhuaweicloud.com/0/fileCfgHelp/1852-1685087391614-python.zip)
Postman: [Postman代码示例]( https://intelink-mms.obs.cn-south-1.myhuaweicloud.com/0/fileCfgHelp/894545545765322752-1691205877969-OIS接口.postman_collection.json)
## **常用参数说明**
**注意: 使用表单方式请求,测试单号请使用TEST开头**
**Content-Type : application/x-www-form-urlencoded**
| 参数名称 | 校验 | 参数值 | 备注 |
| ------------ | ---- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| projectUrl | 必填 | 正式环境地址:
国内:https://pos.mailiancn.com/
北美:https://uspos.mailiancn.com/
欧洲:https://eupos.mailiancn.com/ | 【通用】接口地址 |
| appKey | 必填 | (测试账号) | 【通用】账号(正式账号获取方式见下图) |
| appSecret | 必填 | (测试秘钥) | 【通用】秘钥(正式秘钥获取方式见下图) |
| nonce | 必填 | slnkda | 【通用】默认为:slnkda |
| version | 必填 | 1.0 | 【通用】版本号默认:1.0 |
| | | | |
| coid | 必填 | appKey下划线分隔后面部分如:WELLAICN | 【创建订单】物流公司编码 |
| platformType | 必填 | ZYXT | 【创建订单】平台类型ZYXT 表示客户对接 |
| hubInCode | 必填 | SSLY1(测试路线)正式路线由物流公司提供 | 【创建订单】指定路线编码 |
| goodsType | 必填 | 由物流公司提供 | 【创建订单】货物类型 |
| ccPayment | | | 【创建订单】付款方式(为空时,默认为"PP"; 选项值: PP_寄付/CC_到付/TP_第三方付) |
| | | | |
| printType | 必填 | LABEL | 【获取订单Lable】打印类型 (选项值:LABEL/A4) |
| queryType | 必填 | 99 | 【运单轨迹追踪】查询类型 (1_运单号码/3_参考编号/5_转单号码/99_支持运单号、转单号、参考编号) |
## 选项值对应方式:
**选项编码_选项名称** 例如:PP_寄付
**接口传值应为选项编码**
## 获取token
> 2.1.1.调用服务接口 ({{projectUrl}}ois/order/getAuth),传入分配好的appKey和appSecret,验证通过后返回access token 2.1.2. 调用其他接口时需要此token 参与签名计算 2.1.3 token 有效时间不固定【推荐根据响应判断 不要每次调用都获取token】: 当= 1004或1005 就需要获取一次token
## 计算签名
> 2.2.1. 拼接所有参数(表单参数和http header原始值) ,将所有参数自然排序,然后做拼接(参数无值的无需拼接)。如: a=1&b=2&c=3&d=4 2.2.2. 将已经拼接好的参数字符串Base64. 如:Base64(str) 2.2.3. 将Base64后的字符串+appSecret做MD5。 如:MD5(Base64(str)+appSecret) 2.2.4. 将MD5后的字符串转换成大写
## token解析
> 2.3.1. http header 中存在三个参数 token,sign,version;token 并非真正的token,只是在原始token基础之上做了层伪装。 2.3.2. token组成: {"timestamp":1584953245407,"nonce":"slnkda","token":"b535e97f-2293-4b8c-8bdd-b2e9fa96aa77"} timestamp 为当前时间戳; nonce 可以固定slnkda; token取2.1返回 2.3.3. 将组装token进行Base64. 如:Base64(token) 2.3.4. 将 "a"->"-","c"->"#","x"->"^","M"->"$"字符替换
## http header 组成
> http header 组成 (获取token以外的接口需要添加以下头信息) 2.4.1. token 伪装后的值 2.4.2. sign 签名 2.4.3. version 客户端版本
## 签名生成代码
> 特别注意使用get请求时,?后的参数也要参数签名计算,否则会导致非法请求
## 测试对接要求
> 2.6.1 测试单号要求 Test开头
### 签名相关code
INVALID_TOKEN(432, "无效TOKEN")
APP_AUTH_ERROR(1001, "AppKey或AppSecret错误,请检查!")
INVALID_TOKEN1(1002, "无效的 Access Token!")
ILLEGAL_REQ(1003, "非法请求!")
EXPIRED_REQ(1004, "请求已过期!")
SIGN_ERROR(1005, "非法请求!")
### 当code= 1004或1005 就需要获取一次token
### hubInCode 优先取值渠道列表中的hubInId
## 1.验证授权接口
> 请求地址: {{projectUrl}}ois/order/getAuth 切记当前接口的返回值要解析token处理【demo 中的接口和此接口返回结果不一致】 一定要查看修订历史 请求方式:GET/POST
### 1.1请求参数
| 字段名 | 类型 | 长度 | 校验 | 说明 |
| :-------- | :----- | :--- | :--- | :--- |
| appKey | String | | 必填 | 账号 |
| appSecret | String | | 必填 | 密码 |
### 1.2响应参数
| 字段名 | 类型 | 说明 |
| :----- | :----- | :----------- |
| ack | String | 验证结果 |
| coid | String | 物流公司编码 |
| clno | String | 客户编码 |
| token | String | token |
### 1.3接口示例
请求示例demo
> {{projectUrl}}ois/order/getAuth?appKey=WAIT_WELLAICN&appSecret=cda26d9319999988888e8e832b66a02
成功响应demo 哲盟提供的代码demo 中的getToken 方法使用该接口返回的token 需要解析token
```
{
"body": {
"clno": "WAIT",
"ack": "true",
"coid": "WELLAICN",
"hash": "6058064021961",
"token": "24a2e861-c510-4658-8f8f-f5bd0b4c7591"
},
"message": "请求成功",
"result_code": 0,
"solution": "请求成功",
"traceId": "1691204608496pgfdAaNn"
}
```
失败响应demo
```
{
"body": {
"ack": "false",
"coid": "",
"clno": ""
},
"message": "请求成功",
"result_code": 0
}
```
> 请求地址:{{projectUrl}}ois/order/createOrder 请求方式:POST Content-Type=application/x-www-form-urlencoded
## 2.创建快递小包订单
### 2.1.1请求参数
| 字段名 | 校验 | 类型 | 长度 | 说明 |
| :-------------------------- | :---------------------- | :--------- | :---- | :----------------------------------------------------------- |
| platformType | 必填 | String | 10 | 平台类型 (默认填写:ZYXT;如有特殊要求,需约定) |
| referenceno | 必填 | String | 40 | 参考编号(订单号码) |
| referenceno2 | | String | 40 | 参考编号2 |
| refno | | String | 40 | 转单号码 |
| hubInCode | 必填 | String | 20 | 指定路线 |
| pcs | | Integer | 11 | 件数(为空时,默认为1;不为空时,必须>0并且<=999) |
| weig | 必填 | BigDecimal | 18,3 | 重量(必须>0并且<=999999) |
| goodsType | | String | 100 | 货物类型(为空时,默认为"PH")(通过调用接口【获取选项值列表<11.获取选项值列表>,tableName = "bas_goods_type"】获取) |
| descrTypeExt | | String | 100 | 货物类型(扩展),可填入除goodsType之外的货物类型,多个时用逗号隔开 |
| contents | | String | | 英文品名(仅用于4大快递和其他存在主体英文品名接口,传电池金句、英文品名信息,未填值时用invoice英文品名(第一条)填充)) |
| contents2 | | String | | 英文品名2(用于4大快递) |
| contents3 | | String | | 英文品名3(用于4大快递) |
| contents4 | | String | | 英文品名4(用于4大快递) |
| contentsCn | | String | | 中文品名(用于4大快递,未填值时用invoice中文品名(第一条)填充) |
| packType | | String | 50 | 包装类型(如为空时,默认为"WPX";选项值:WPX_包裹/DOC_文件/PAK_袋) |
| packagingType | | String | | 包装方式(用于FEDEX) |
| codCharge | | BigDecimal | 18,2 | 代收款 |
| codChargeCur | | String | 10 | 代收币别(如代收款>0时,必填;选项值:USD/EUR/AUD等) |
| remark | | String | 200 | 备注(如长度>200时,自动截取前200个字符) |
| reWarehouseCode | | String | 20 | FBA仓库编码 |
| reName | 必填 | String | 100 | 收件人 |
| reCompany | | String | 90 | 收件公司(默认公司为空时使用收件人字段的数据填充) |
| reTel | 必填 | String | 40 | 收件电话 |
| reTel2 | | String | 40 | 收件手机 |
| reAddr | 必填 | String | 500 | 收件地址(如有多段收件地址,建议合并到此栏位) |
| reAddr2 | | String | 60 | 收件地址2 |
| reAddr3 | | String | 60 | 收件地址3 |
| reCountryCode | 必填 | String | 20 | 收件国家二字码 |
| reCountry | | String | 60 | 收件国家 |
| reState | | String | 80 | 收件州/省 |
| reCity | | String | 80 | 收件城市 |
| reDistrict | | String | 50 | 收件区县 |
| reHouseNo | | String | 50 | 收件门牌号 |
| reZip | | String | 10 | 收件邮编 |
| reEmail | | String | 100 | 收件邮箱 |
| sdName | | String | 100 | 寄件人 (如长度>100时,自动截取前100个字符) |
| sdCompany | | String | 90 | 寄件公司 (如长度>90时,自动截取前90个字符) |
| sdTel | | String | 40 | 寄件电话 (如长度>40时,自动截取前40个字符) |
| sdAddr | | String | 120 | 寄件地址 (如长度>120时,自动截取前120个字符)(如有多段寄件地址,建议合并到此栏位) |
| sdAddr2 | | String | 60 | 寄件地址2 (如长度>60时,自动截取前60个字符) |
| sdAddr3 | | String | 60 | 寄件地址3 (如长度>60时,自动截取前60个字符) |
| sdCountryCode | | String | 20 | 寄件国家简码(如长度>20时,自动截取前20个字符 |
| sdCountry | | String | 60 | 寄件国家 (如长度>60时,自动截取前60个字符) |
| sdState | | String | 80 | 寄件州/省 (如长度>80时,自动截取前80个字符) |
| sdCity | | String | 80 | 寄件城市(如长度>80时,自动截取前80个字符) |
| sdDistrict | | String | 50 | 寄件区县(如长度超出50,自动截取) |
| sdZip | | String | 10 | 寄件邮编(如长度>10时,自动截取前10个字符) |
| sdEmail | | String | 100 | 寄件邮箱(如长度>100时,自动截取前100个字符) |
| buyerId | | String | 100 | 买家ID(如长度>100时,自动截取前100个字符) |
| sellerNick | | String | 50 | 卖家昵称 (如长度>50时,自动截取前50个字符) |
| isReturnsign | | String | 10 | 是否退回(如为空时,默认“N”;选项值:N_不退回,Y_退回) |
| labelUrl | | String | 300 | LABEL地址 |
| insurance | | BigDecimal | 18,2 | 保险金额 |
| insuranceCur | | String | 10 | 保险币别 (如保险金额>0时,必填;选项值:CNY/HKD/USD等) |
| ccPayment | | String | 10 | 付款方式 (为空时,默认为"PP"; 选项值: PP_寄付/CC_到付/TP_第三方付) |
| cctaxPayment | | String | 10 | 税金支付方式 (为空时,默认为"CC";选项值: PP_寄付/CC_到付/TP_第三方付) |
| ccCharge | | BigDecimal | 18,2 | 到付款 |
| ccChargeCur | | String | 10 | 到付币别 (选项值:USD/HKD/CNY/EUR/AUD等) |
| extra1 | | String | 100 | 扩展字段1(如长度>100时,自动截取前100个字符) |
| extra2 | | String | 100 | 扩展字段2(如长度>100时,自动截取前100个字符) |
| extra3 | | String | 100 | 扩展字段3(如长度>100时,自动截取前100个字符) |
| extra4 | | String | 200 | 扩展字段4(如长度>200时,自动截取前200个字符) |
| extra5 | | String | 200 | 扩展字段5(如长度>200时,自动截取前200个字符) |
| exportReason | | String | 100 | 出口原因(用于DHL) |
| decValueCur | 必填 | String | 10 | 申报币别 (选项值:USD/HKD/EUR/AUD等) |
| decValue | | BigDecimal | 18,2 | 申报价值(如未填值,根据INVOICE中申报价值合计) |
| freight | | BigDecimal | 18,2 | 申报运费(用于4大快递) |
| other | | BigDecimal | 18,2 | 申报其他(用于4大快递) |
| reservationNumber | | String | 50 | 预约编号 |
| otherCharges.chargeType | 有otherCcharges时,必填 | String | | 申报其他费用列表.费用类型(用于DHL, FEDEX) |
| otherCharges.chargeValue | 有otherCcharges时,必填 | BigDecimal | 18,2 | 申报其他费用列表.金额(用于DHL, FEDEX) |
| otherCharges.caption | | String | | 申报其他费用列表.扩展字段(用于DHL, FEDEX) |
| oisInvoices.descrName | | String | 200 | 中文品名 (长度>200时,自动截取前200个字符) |
| oisInvoices.eDescrNamee | 有oisInvoices时,必填 | String | 200 | 英文品名 (有invoice数据时必填;如长度>200时,自动截取前200个字符) |
| oisInvoices.qty | 有oisInvoices时,必填 | Integer | 10 | 申报数量 (有invoice数据时必填;需>0并且<=99999999) |
| oisInvoices.price | 有oisInvoices时,必填 | BigDecimal | 18,4 | 申报单价 (有invoice数据时必填,需>0并且<=99999999) |
| oisInvoices.unit | | String | 100 | 单位 |
| oisInvoices.hsCode | | String | 100 | 海关编码 |
| oisInvoices.importHsCode | | String | 100 | 进口海关编码 |
| oisInvoices.origin | | String | 100 | 原产地 (选项值:CN/TW/US等) |
| oisInvoices.uses | | String | 100 | 用途 |
| oisInvoices.material | | String | 100 | 材质 |
| oisInvoices.brand | | String | 100 | 品牌 |
| oisInvoices.sku | | String | 100 | SKU |
| oisInvoices.transactionUrl | | String | 500 | 商品链接地址 (如长度>500时,自动截取前500个字符) |
| oisInvoices.remark | | String | 500 | 配货信息 (如长度>500时,自动截取前500个字符) |
| oisInvoices.nWeig | | BigDecimal | 18,3 | 毛重 (一条invoice信息的重量,需>=0并且<=999999) |
| oisInvoices.unitWeig | | BigDecimal | 24,9 | 单个重量 (需>=0并且<=999999) |
| oisInvoices.include | | String | 100 | 货物包含 |
| oisInvoices.pcs | | Integer | 10 | 包装件数 (需>=0并且<=9999) |
| pieces.actual | | BigDecimal | 18,3 | 单件信息.实重[KG] (有单件数据时必填,需>0并且<=999) |
| pieces.length | | BigDecimal | 18,3 | 单件信息.长[CM] (有单件数据时必填,需>0并且<=999) |
| pieces.width | | BigDecimal | 18,3 | 单件信息.宽[CM] (有单件数据时必填,需>0并且<=999) |
| pieces.height | | BigDecimal | 18,3 | 单件信息.高[CM] (有单件数据时必填,需>0并且<=999) |
| pieces.remark | | String | 200 | 单件信息.备注 |
| taxNoList.owner | 有taxNoList时,必填 | String | 5 | 税号类型(选项值:SD_寄件/RE_收件) |
| taxNoList.type | 有taxNoList时,必填 | String | 30 | 税号类型(选项值:EORI/VAT/SDT/IOSS等) |
| taxNoList.no | 有taxNoList时,必填 | String | 30 | 税号 |
| taxNoList.issuerCountryCode | | String | 30 | 发行国家简码 |
### 2.1.2响应参数
| 字段名 | 类型 | 说明 |
| :---------- | :------- | :----------------------------------------------------------- |
| referenceno | String | 订单号码 |
| refno | String | 转单号码 |
| labelUrl | String | Lable PDF打印地址 创建订单接口返回的label,具有场景局限,要求使用【获取订单Lable】接口获取 |
| invoiceUrl | String | Invoice PDF打印地址 创建订单接口返回的label,具有场景局限,要求使用【获取订单Lable】接口获取 |
| copyLabel | String[] | 备份联URL |
| orderId | String | 订单id |
| oddNo | String | 运单号码(请求方为渠道单号) |
### 2.1.3请求示例
> (注意:oisInvoices,pieces,taxNoList为数组,taxNoList和reCode 两者只能选择一个,推荐使用taxNoList,reCode 只做兼容)
请求体json demo:
```
body1={
"platformType":"ZYXT",
"referenceno":"test201807081805",
"refno":"",
"hubInCode":"SSLY1",
"pcs":1,
"weig":32,
"remark":"11111",
"reName":"AYAO",
"reTel":"1305588581",
"reTel2":"",
"reAddr":"广东省深圳市宝安区西乡街道宝安智谷",
"reAddr2":"11F,16, Toegye-ro 73-gil",
"reCountryCode":"CN",
"reState":"广东",
"reCity":"深圳",
"reZip":"518000",
"reCode":"",
"decValueCur":"USD",
"oisInvoices":[
{
"descrName":"T恤",
"eDescrNamee":"T-Shirts",
"qty":1,
"price":100,
"hsCode":"123123",
"sku":"001NewbornCode---01",
"remark":"我是买家备注,请查看这:请包装安全再发货,谢谢"
}
],
"pieces":[
{
"actual":12,
"length":99,
"width":99,
"height":4,
"remark":"备注"
}
],
"sdName":"WAIT",
"sdTel":"82353586865867",
"sdAddr":"XXX街道",
"sdCountry":"CN",
"sdState":"广东",
"sdCity":"深圳",
"sdZip":"46465",
"isReturnsign":"N",
"ccPayment":"PP",
"cctaxPayment":"PP",
"codCharge":0,
"codChargeCur":"USD",
"taxNoList":[
{
"no":"001",
"owner":"re",
"source":"print",
"type":"VAT"
},
{
"no":"001",
"owner":"sd",
"source":"print",
"type":"EORI"
}
]
}
```
成功响应demo
```
{
"body": {
"ack": "true",
"exceptionSource": "pos",
"isfaraway": 0,
"labelUrl": "http://183.36.5.219:22000/group1/M00/5E/AA/xxxxxxxxxxxxxx.pdf",
"oddNo": "YD202211010001",
"orderId": "2817805",
"otherNo": "",
"pieceMarks": [],
"printSuccessCallbackFuns": [],
"proxyOrderId": "",
"referenceno": "XL9105620",
"refno": "XL9105620",
"resultReturnMode": 1
},
"message": "请求成功",
"result_code": 0,
"solution": "请求成功",
"traceId": "1667877228953slnkda"
}
```
失败响应demo
```
{
"body": "",
"message": "平台类型<>必填",
"result_code": 1,
"traceId": "1667877355966slnkda"
}
```
## 3.获取OIS面单
> 请求地址:{{projectUrl}}ois/label/getOisLabel/{platformType} 请求方式:POST/GET Content-Type=application/x-www-form-urlencoded
### 3.1请求参数
| 字段名 | 类型 | 长度 | 校验 | 说明 |
| :----------- | :----- | :--- | :--- | :------------------------- |
| platformType | String | | | 平台类型(请求地址后面拼接) |
| no | String | | | 单号 |
| noType | String | | | 单号类型 1:运单 3:参考编号 |
### 3.2响应参数
| 字段名 | 类型 | 说明 |
| :---------- | :------ | :---------------------------- |
| result_code | Integer | 是否请求成功 0:成功 其他:失败 |
| jobno | String | 运单号码 |
| labelBase64 | String | 面单Base64格式 |
### 3.3接口示例
请求demo
> {{projectUrl}}ois/label/getOisLabel/ZYXT no:WAIT2022070800025 noType:3
成功响应demo
```
{
"body": {
"labelBase64": "JVBERi0xLjQKJ.........",
"jobno": "TEST2212163001"
},
"message": "请求成功",
"result_code": 0,
"solution": "请求成功",
"traceId": "180520070820180908wait"
}
```
失败响应demo
```
{
"body": "",
"message": "订单不存在",
"result_code": 1,
"traceId": "1678523053131slnkda"
}
```
## 4.获取POS面单
> 请求地址:{{projectUrl}}ois/label/getPosLabel/{platformType} 请求方式:POST/GET Content-Type=application/x-www-form-urlencoded
### 4.1请求参数
| 字段名 | 类型 | 长度 | 校验 | 说明 |
| :------------ | :------ | :--- | :--- | :---------------------------- |
| platformType | String | | | 平台类型(请求地址后面拼接) |
| no | String | | | 单号 |
| noType | String | | | 单号类型 1:运单 3:参考编号 |
| isReturnLabel | Integer | | | 是否返回Label 0:不返回 1:返回 |
### 4.2响应参数
| 字段名 | 类型 | 说明 |
| :---------- | :------ | :---------------------------- |
| result_code | Integer | 是否请求成功 0:成功 其他:失败 |
| referenceno | String | 订单号码 |
| jobno | String | 运单号码 |
| refno | String | 转单号码 |
| labelBase64 | String | 面单Base64格式 |
| posProvider | String | 服务商编号 |
### 4.3接口示例
请求demo
> {{projectUrl}}ois/label/getPosLabel/ZYXT no:WAIT2022070800025 noType:3
成功响应demo
```
{
"body": {
"refno": "5857622120",
"referenceno": "WAIT2022070800025",
"labelBase64": "JVBERi0xLjQKJeLjz9M=.........",
"jobno": "TEST2212163001",
"posProvider": "DHL"
},
"message": "请求成功",
"result_code": 0,
"solution": "请求成功",
"traceId": "180521070820180908wait"
}
```
失败响应demo
```
{
"body": "",
"message": "单号类型不正确,只支持[1,3] 1:运单号码 3:参考编号",
"result_code": 1,
"traceId": "1678523557078slnkda"
}
```
## 5.运单轨迹追踪
> 请求地址:{{projectUrl}}/tms/expose/queryPddTraceoutList 请求方式:POST Content-Type=application/x-www-form-urlencoded
### 5.1请求参数
| 字段名 | 类型 | 长度 | 校验 | 说明 |
| :-------- | :----- | :--- | :--- | :----------------------------------------------------------- |
| noList | String | | 必填 | 单号集合(多个单号使用回车检分割)多个单号请将回车符转成URL编码,否则无法识别回车符 |
| queryType | String | | 必填 | 查询类型(1:运单号码、3:参考编号、5:转单号码、99:支持运单号、转单号、参考编号) |
### 5.2响应参数
| 字段名 | 类型 | 说明 |
| :------------ | :------------- | :----------------- |
| eventCode | String | 操作状态码 |
| description | String | 轨迹描述 |
| operationTime | String | 操作时间 |
| timeZone | String | 时区 |
| eventLocation | String | 操作地点 |
| eventCountry | String | 国家 |
| eventProvince | String | 州/省 |
| eventCity | String | 城市 |
| eventZipCode | String | 邮编 |
| flightNo | String | 航班号 |
| transferFlag | Integer(int32) | 是否尾程服务商轨迹 |
### 5.3接口示例
请求demo
```
body1=
{
"noList": "TEST2212120002",
"queryType": "99"
}
```
成功响应demo
```
{
"traceId": "1678523658025hovmWPeD",
"result_code": 0,
"body": [{
"refno": "TEST2212120002",
"referenceno": "123141421",
"jobno": "TEST2212120002",
"origin": "HEADQUARTERS",
"modifyVersion": 0,
"dest": "",
"podInfoDTOList": [{
"eventCode": "PU",
"transferFlag": "0",
"eventCity": "",
"flightNo": "",
"eventCountry": "",
"eventLocation": "HEADQUARTERS",
"eventZipCode": "",
"eventProvince": "",
"description": "ShipmentReceived",
"timeZone": "GMT+08:00",
"operationTime": "2022-12-1609:16:32"
}]
}],
"message": "请求成功"
}
```
## 6.包裹取消
> 请求地址:{{projectUrl}}/tms/expose/thoroughDeleteOrder 请求方式:POST Content-Type=application/x-www-form-urlencoded
### 6.1请求参数
| 字段名 | 类型 | 长度 | 校验 | 说明 |
| :----- | :----- | :--- | :--- | :--------------------------------- |
| no | String | | 必填 | 单号 |
| noType | String | | 必填 | 查询类型(1:运单号码、3:参考编号) |
### 6.2响应参数
| 字段名 | 类型 | 说明 |
| :---------- | :------ | :---------------------------- |
| result_code | Integer | 是否请求成功 0:成功 其他:失败 |
### 6.3接口示例
请求demo
```
body1=
{
"no": "WAIT2022070800025",
"noType": "3"
}
```
成功响应demo
```
{
"body": true,
"message": "请求成功",
"result_code": 0,
"traceId": "1679110465069jNudIQsh"
}
```
## 7.查询运单信息
> 请求地址:{{projectUrl}}/tms/expose/queryOisOrderRecord 请求方式:POST Content-Type=application/x-www-form-urlencoded
### 7.1请求参数
| 字段名 | 类型 | 长度 | 校验 | 说明 |
| :----- | :----- | :--- | :--- | :------- |
| no | String | | 必填 | 参考编号 |
### 7.2响应参数
| 字段名 | 校验 | 类型 | 长度 | 说明 |
| :-------------------------- | :--- | :--------- | :---- | :----------------------------------------------------------- |
| platformType | 必填 | String | 10 | 平台类型 (默认填写:ZYXT 表示客户对接) |
| referenceno | 必填 | String | 40 | 订单号码 |
| refno | | String | 40 | 转单号码 |
| hubInCode | 必填 | String | 20 | 指定路线 |
| pcs | | Integer | 11 | 件数(为空时,默认为1;不为空时,必须>0并且<=999) |
| weig | 必填 | BigDecimal | 18,3 | 重量(必须>0并且<=999999) |
| goodsType | | String | 100 | 货物类型(为空时,默认为"普货")带电类型传值,请联系物流公司获取 |
| contents | | String | | 英文品名(仅用于四大快递和其他存在主体英文品名接口,传电池金句、英文品名信息), 若为空,则使用invoice.eDecsName 拼接传入此字段 |
| packType | | String | 50 | 包装类型(WPX:包裹;DOC:文件;PAK:袋。为空时,默认为"WPX") |
| codCharge | | BigDecimal | 18,2 | 代收款 |
| codChargeCur | | String | 10 | 代收币别(代收款>0时,必填;Ex:USD,CNY,EUR,AUD...) |
| remark | | String | 200 | 备注 (长度>200时,自动截取前200个字符) |
| reName | 必填 | String | 100 | 收件人 |
| reCompany | | String | 90 | 收件公司(默认公司为空时使用收件人字段的数据填充) |
| reTel | 必填 | String | 40 | 收件电话 |
| retel2 | | String | 40 | 收件手机 |
| reAddr | 必填 | String | 500 | 收件地址 |
| reAddr2 | | String | 60 | 收件地址2 |
| reAddr3 | | String | 60 | 收件地址3 |
| reCountryCode | 必填 | String | 20 | 收件国家二字码 |
| reCountry | | String | 60 | 收件国家 |
| reState | | String | 80 | 收件州/省 |
| reCity | | String | 80 | 收件城市 |
| reDistrict | | String | 50 | 收件区县 |
| reHouseNo | | String | 50 | 收件门牌号 |
| reZip | | String | 10 | 收件邮编 |
| reEmail | | String | 100 | 收件邮箱 |
| decValueCur | 必填 | String | 10 | 申报币别 (Ex:USD,CNY,EUR,AUD...) |
| sdName | | String | 100 | 寄件人 (长度>100时,自动截取前100个字符) |
| sdCompany | | String | 90 | 寄件公司 (长度>90时,自动截取前90个字符) |
| sdTel | | String | 40 | 寄件电话 (长度>40时,自动截取前40个字符) |
| sdAddr | | String | 120 | 寄件地址 (长度>120时,自动截取前120个字符) |
| sdAddr2 | | String | 60 | 寄件地址 (长度>60时,自动截取前60个字符) |
| sdAddr3 | | String | 60 | 寄件地址 (长度>60时,自动截取前60个字符) |
| sdCountry | | String | 60 | 寄件国家 (长度>60时,自动截取前60个字符) |
| sdState | | String | 80 | 寄件州/省 (长度>80时,自动截取前80个字符) |
| sdCity | | String | 80 | 寄件城市 (长度>80时,自动截取前80个字符) |
| sdZip | | String | 10 | 寄件邮编 (长度>10时,自动截取前10个字符) |
| sdEmail | | String | 100 | 寄件邮箱 (长度>100时,自动截取前100个字符) |
| buyerId | | String | 100 | 买家ID (长度>100时,自动截取前100个字符) |
| sellerNick | | String | 50 | 卖家昵称 (长度>50时,自动截取前50个字符) |
| isReturnsign | | String | 10 | 是否退回(退回标志,N表示不退回,Y标表示退回,为空时默认不退回) |
| labelUrl | | String | 300 | LABEL地址 |
| insurance | | BigDecimal | 18,2 | 保险金额 |
| insuranceCur | | String | 10 | 保险币别 (保险金额>0时,必填;Ex:USD,CNY,EUR,AUD...) |
| ccPayment | | String | 10 | 付款方式 (为空时,默认为"PP"; 选项值: PP_寄付,CC_到付, TP_第三方付) |
| cctaxPayment | | String | 10 | 税金支付方式 (选项值: PP_寄付,CC_到付, TP_第三方付) |
| ccCharge | | BigDecimal | 18,2 | 到付款 |
| ccChargeCur | | String | 10 | 到付币别 (Ex:USD,CNY,EUR,AUD...) |
| extra1 | | String | 100 | 扩展字段1 (长度>100时,自动截取前100个字符) |
| extra2 | | String | 100 | 扩展字段2 (长度>100时,自动截取前100个字符) |
| extra3 | | String | 100 | 扩展字段3 (长度>100时,自动截取前100个字符) |
| extra4 | | String | 200 | 扩展字段4 (长度>200时,自动截取前200个字符) |
| extra5 | | String | 200 | 扩展字段5 (长度>200时,自动截取前200个字符) |
| oisInvoices. descrName | | String | 200 | 中文品名 (长度>200时,自动截取前200个字符) |
| oisInvoices. eDescrNamee | | String | 200 | 英文品名 (有invoice数据时必填,长度>200时,自动截取前200个字符) |
| oisInvoices.qty | | Integer | 10 | 申报数量 (有invoice数据时必填,需>0并且<=99999999) |
| oisInvoices.price | | BigDecimal | 18,4 | 申报单价 (有invoice数据时必填,需>0并且<=99999999) |
| oisInvoices.unit | | String | 100 | 单位 (Ex:PCS,件,套,捆...) |
| oisInvoices.hsCode | | String | 100 | 海关编码 |
| oisInvoices.origin | | String | 100 | 原产地 (Ex:CN,TW,US...) |
| oisInvoices.uses | | String | 100 | 用途 |
| oisInvoices.material | | String | 100 | 材质 |
| oisInvoices.brand | | String | 100 | 品牌 |
| oisInvoices.sku | | String | 100 | SKU |
| oisInvoices.transactionUrl | | String | 500 | 商品链接地址 (长度>500时,自动截取前500个字符) |
| oisInvoices.remark | | String | 500 | 配货信息 (长度>500时,自动截取前500个字符) |
| oisInvoices.nWeig | | BigDecimal | 18,3 | 毛重 (一条invoice信息的重量,需>=0并且<=999999) |
| oisInvoices.unitWeig | | BigDecimal | 24,9 | 单个重量 (需>=0并且<=999999) |
| oisInvoices.include | | String | 100 | 货物包含 |
| oisInvoices.pcs | | Integer | 10 | 包装件数 (需>=0并且<=9999) |
| pieces.actual | | BigDecimal | 18,3 | 单件信息.实重[KG] (有单件数据时必填,需>0并且<=999) |
| pieces.length | | BigDecimal | 18,3 | 单件信息.长[CM] (有单件数据时必填,需>0并且<=999) |
| pieces.width | | BigDecimal | 18,3 | 单件信息.宽[CM] (有单件数据时必填,需>0并且<=999) |
| pieces.height | | BigDecimal | 18,3 | 单件信息.高[CM] (有单件数据时必填,需>0并且<=999) |
| pieces.remark | | String | 200 | 单件信息.备注 |
| taxNoList.no | | String | 30 | 税号 (有税号数据时必填) |
| taxNoList.owner | | String | 5 | 税号所属;寄件:sd,收件:re (有税号数据时必填) |
| taxNoList.type | | String | 30 | 税号类型EOR/VAT/SDT/IOSS ...(有税号数据时必填) |
| taxNoList.issuerCountryCode | | String | 30 | 发行国家简码 |
### 7.3接口示例
请求demo
```
body1=
{
"no": "WAIT2022070800025"
}
```
成功响应demo
```
{
"body": {
"ccCharge": 0.00,
"ccPayment": "PP",
"cctaxPayment": "TP",
"codCharge": 9.00,
"codChargeCur": "USD",
"contents": "yw1yw",
"decValueCur": "USD",
"goodsType": "PH",
"hubInCode": "AY-2",
"insuranceCur": "USD",
"labelUrl": "http://139.159.209.189:8090/group1/M00/E9/4F/wKgAFGP3D3SAW1rxAASDfMNGzP0353.pdf",
"oisInvoices": [
{
"brand": "pingpai",
"descrName": "1",
"eDescrNamee": "yw",
"hsCode": "111111",
"material": "caizhi",
"nWeig": 1.000000000,
"origin": "1",
"pcs": 1,
"price": 1.5000,
"qty": 1,
"remark": "1",
"sku": "s111",
"transactionUrl": "1",
"unit": "1",
"unitWeig": 1.000000000,
"uses": "yongyu"
},
{
"brand": "pingpai",
"descrName": "1",
"eDescrNamee": "yw1",
"hsCode": "111111",
"material": "caizhi",
"nWeig": 1.000000000,
"origin": "1",
"pcs": 1,
"price": 1.5000,
"qty": 1,
"remark": "1",
"sku": "s111",
"transactionUrl": "1",
"unit": "1",
"unitWeig": 1.000000000,
"uses": "yongyu"
}
],
"packType": "WPX",
"pcs": 2,
"pieces": [
{
"actual": 2.000,
"height": 12.000,
"length": 10.000,
"width": 12.000
},
{
"actual": 1.000,
"height": 12.000,
"length": 10.000,
"width": 12.000
}
],
"reAddr": "readdr-tst addr1-est",
"reCity": "Tecumseh",
"reCompany": "re company",
"reCountry": "CA",
"reEmail": "123@qq.com",
"reName": "WAIT",
"reState": "ON",
"reTel": "1234567890",
"reZip": "N8N4X4",
"referenceno": "WAIT2022070800049",
"refno": "2350553796",
"remark": "remark test ",
"sdAddr": "",
"sdAddr2": "",
"sdAddr3": "",
"sdCity": "",
"sdCompany": "",
"sdCountry": "",
"sdEmail": "sdEmail",
"sdName": "",
"sdState": "",
"sdTel": "1234567899",
"sdZip": "",
"taxNoList": [],
"weig": 2.000
},
"message": "请求成功",
"result_code": 0,
"traceId": "1679109676006fwqVtxhy"
}
```