[token生成规则Demo.zip](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=9be1ffcf6e3067f4379fca834f8b727e "[token生成规则Demo.zip")

### 说明

[TOC]

##### 简要描述

- 所有数据上传接口采用统一请求参数格式，方便鉴权。partnerId、appId、workerId以及密钥值由我司分配，具体的数据放在args参数中传递。

##### 请求URL
- ` http://xxx.com/api/xxx/xxx `

##### 请求方式
- POST 

##### 请求头
- token。  token值生成规则：请求体的json字符串值+密钥，以MD5算法加密。

##### 请求参数

| 参数名    | 必选 | 类型                | 说明     |
| :-------- | :--- | :------------------ | -------- |
| partnerId | 是   | String              | 合作商ID |
| appId     | 是   | String              | 应用ID   |
| workerId  | 是   | String              | 人员ID   |
| args      | 是   | Map<String, Object> | 请求参数 |


##### 请求示例
```json
{
   "partnerId": "xxx",
   "appId": "xxx",
   "workerId": "001",
   "args": {
        "xxx1":"aaa",
        "xxx2":["bbb","ccc"]
    }
}
```


##### 返回参数说明

| 参数      | 名称     | 类型    | 说明                                |
| :-------- | :------- | ------- | ----------------------------------- |
| success   | 成功标志 | boolean | 返回true或false                     |
| message   | 返回信息 | String  | 返回的提示信息                      |
| code      | 返回代码 | int     | 如200：成功，500：服务器内部错误 等 |
| result    | 返回数据 | Object  | 如有需要，返回数据对象              |
| timestamp | 时间戳   | long    | 13位时间戳，精确到毫秒              |



##### 返回示例 

``` 
 {
    "success": false,
    "message": "操作失败",
    "code": 500,
    "result": null,
    "timestamp": 1672107371245
}
```

[fea.xlsx](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=58bdde057c2f77f9b7552cf197bc72db "[fea.xlsx")

### 《监管平台代码集》

#代码集相关代码字段：

业务类型代码 （BusinessTypeCode）
车牌颜色代码 （VehiclePlateColorCode）
营运车辆类型代码 （VehicleType）
车辆能源类型代码 （VehicleEnergyType）
货物分类代码（CargoTypeClassification）
付款方式代码（PaymentMeansCode）
银行代码（BankCode）
运输组织类型代码（TransportTypeCode）
保险机构代码（InsuranceInformation）
国别代码（CountrySubdivisionCode）
国家行政区划代码（CountrySubdivisionCod）
省份区划代码（ProvinceCode）
从业人员资格代码（WorkTypeCode）
道路运输证经营范围（BusinessScopeCode）
性别（Gender）
证照状态（CertificateState）
业户经营状态（OperatingStatus）
校验项内容（VerifyCode）
运输组货方式代码
车牌类型代码（LicensePlateTypeCode）

[TOC]

### 上传委托合同（框架）

##### 简要描述

上传委托合同（框架），委托合同（框架）和委托合同二选一进行上报；文件信息可以暂时不传，在修改委托合同的时候再补充合同文件。


##### 请求URL
- ` xxxxxx/api/dataUpload/mandateContractFrame `

##### 请求方式
- POST 


##### args请求参数

| 参数名                           | 必选 | 类型         | 说明                                                         |
| :------------------------------- | :--- | :----------- | ------------------------------------------------------------ |
| unified_social_credit_identifier | 可选 | String       | 货主企业统一社会信用代码，要么单托运企业，要么一个框架合同对应多家托运企业，如果都传值，默认取单托运企业 |
| owner_enterprise_name            | 可选 | String       | 货主企业名称                                                 |
| enterpriseList                   | 可选 | List<Object> | 货主企业列表，要么单托运企业，要么一个框架合同对应多家托运企业，如果都传值，默认取单托运企业 |
| contract_number                  | 是   | String       | 合同编号                                                     |
| expire_time                      | 是   | String       | 合同有效期截止时间 yyyy-MM-dd                                |
| uploadFileInfo                   | 否   | List<Object> | 文件信息                                                     |

###### enterpriseList子项参数
| 参数名                           | 必选 | 类型   | 说明                     |
| -------------------------------- | ---- | ------ | ------------------------ |
| unified_social_credit_identifier | 是   | String | 货主企业统一社会信用代码 |
| owner_enterprise_name            | 是   | String | 货主企业名称             |

###### uploadFileInfo子项参数
| 参数名   | 必选 | 类型   | 说明                                                         |
| -------- | ---- | ------ | ------------------------------------------------------------ |
| name     | 可选 | String | 文件名称和合同文件路径需一起上传/不上传，文件名称需要带后缀，和合同的url后面文件的后缀保持一致 |
| url      | 可选 | String | 合同文件url,和dataList二选一填写                             |
| dataList | 可选 | String | base64, 和url二选一填写                                      |


##### 请求示例
```json
{
    "workerId": "001",
    "appId": "default",
    "partnerId": "test",
    "args": {
        "unified_social_credit_identifier": "123456",
        "owner_enterprise_name": "szjttest",
        "enterpriseList": [
            {
                "unified_social_credit_identifier": "111111",
                "owner_enterprise_name": "关联企业一"
            },
            {
               "unified_social_credit_identifier": "222222",
                "owner_enterprise_name": "关联企业二"
            }
        ],
        "contract_number": "666666",
        "expire_time": "2022-12-14",
        "uploadFileInfo": [
            {
                "name": "合肥税务监管平台V1.0  结项表.pdf",
                "url": "https://file.rlsk.link/file/合肥税务监管平台V1.0  结项表_1653982927764.pdf",
                "dataList": ""
            },
            {
                "name": "合肥税务监管平台V1.0  结项表.pdf",
                "url": "https://file.rlsk.link/file/合肥税务监管平台V1.0  结项表_1653982927764.pdf",
                "dataList": ""
            }
        ]
    }
}
```


##### 返回参数说明

| 参数      | 名称     | 类型    | 说明                                |
| :-------- | :------- | ------- | ----------------------------------- |
| success   | 成功标志 | boolean | 返回true或false                     |
| message   | 返回信息 | String  | 返回的提示信息                      |
| code      | 返回代码 | int     | 如200：成功，500：服务器内部错误 等 |
| result    | 返回数据 | Object  | 如有需要，返回数据对象              |
| timestamp | 时间戳   | long    | 13位时间戳，精确到毫秒              |



##### 返回示例 

``` 
{
    "success": true,
    "message": "",
    "code": 200,
    "result": true,
    "timestamp": 1672121404682
}
```

[TOC]

### 一、第一次上传

#### 简要描述

- 第一次上传完后，会进行实时单核验

#### 请求URL
- ` xxxxxx/api/dataUpload/firstUpload `

#### 请求方式
- POST 


#### 请求参数

| 参数名               | 必选 | 类型         | 说明         |
| :------------------- | :--- | :----------- | ------------ |
| waybillInfo          | 是   | Obejct       | 建单信息     |
| consignorInfo        | 是   | Object       | 托运人信息   |
| consigneeInfo        | 是   | Object       | 收货方信息   |
| driverInfo           | 是   | Object       | 司机信息     |
| carInfo              | 是   | Object       | 接单车辆信息 |
| insuranceInformation | 否   | Object       | 保险信息     |
| goodsInfos           | 是   | List<Object> | 货物信息     |

##### waybillInfo子项参数

| 参数名                        | 必选 | 类型   | 说明                                                         |
| ----------------------------- | ---- | ------ | ------------------------------------------------------------ |
| originalDocumentNumber        | 是   | String | 上游企业委托运输单号(最大长度35位)                           |
| shippingNoteNumber            | 是   | String | 本运单单号(最大长度20位)                                     |
| documentCreateTime            | 是   | String | 托运人建单时间(14位)。yyyyMMddHHmmss（example:20220530143259） |
| carrier                       | 是   | String | 网络货运经营者名称                                           |
| unifiedSocialCreditIdentifier | 是   | String | 网络货运经营者统一社会信用代码(最大长度18位)                 |
| permitNumber                  | 是   | String | 网络货运经营者的道路运输经营许可证编号，最大长度50位，网络货运经营者整合车辆全部为总质量4.5吨及以下普通货运车辆的，可填“企业所在地行政区划代码+000000” |
| businessTypeCode              | 是   | String | 详见代码集《业务类型代码》                                   |
| goodsArrangementTypeCode      | 是   | String | 详见代码集《运输组货方式代码》                               |
| orderReceivingTime            | 是   | String | 司机接单的时间(14位)。yyyyMMddHHmmss（example:20220530143259） |
| departureTime                 | 是   | String | 司机起运的时间(14位)。yyyyMMddHHmmss（example:20220530143259) |
| commercialContractNumber      | 是   | String | 承运合同编号,平台与司机签订的合同编号                        |
| contractNumber                | 可选 | String | 委托合同编号,托运人与平台签订的合同编号                      |
| mileage                       | 可选 | String | 运输里程，可保留3位小数                                      |


##### consignorInfo子项参数

| 参数名                        | 必选 | 类型   | 说明                                                         |
| ----------------------------- | ---- | ------ | ------------------------------------------------------------ |
| consignor                     | 是   | String | 托运人名称，需和货主框架合同信息保持一致                     |
| consignorId                   | 是   | String | 托运人统一社会信用代码，需和货主框架合同信息保持一致         |
| frameContractNumber           | 可选 | String | 需和委托合同（框架）信息保持一致,最大长度30位，委托合同（框架）和委托合同二选一上报 |
| placeOfLoading                | 是   | String | 实际装货的地点 格式为省/市/县(区)/详细地址                   |
| loadingLongitude              | 是   | String | 实际装货的地点经度，最长保留6位小数                          |
| loadingLatitude               | 是   | String | 实际装货的地点纬度，最长保留6位小数                          |
| loadingCountrySubdivisionCode | 是   | String | 参照最新版《中华人民共和国行政区划代码》（GB/T 2260-2017），精确到区县。详见代码集《国家行政区划代码》 |

##### consigneeInfo子项参数

| 参数名                         | 必选 | 类型   | 说明                                                         |
| ------------------------------ | ---- | ------ | ------------------------------------------------------------ |
| consignee                      | 是   | String | 收货方名称                                                   |
| consigneeId                    | 是   | String | 收货方统一社会信用代码，若收款方为个人，则为身份证号         |
| goodsReceiptPlace              | 是   | String | 实际收货的地点 格式为省/市/县(区)/详细地址                   |
| unLoadingLongitude             | 是   | String | 实际收货的地点经度，最长保留6位小数                          |
| unLoadingLatitude              | 是   | String | 实际收货的地点纬度，最长保留6位小数                          |
| unLoadingNationSubdivisionCode | 是   | String | 参照最新版《中华人民共和国行政区划代码》（GB/T 2260-2017），精确到区县。详见代码集《国家行政区划代码》 |

##### driverInfo子项参数

| 参数                         | 名称                       | 必选 | 类型         | 说明                                                         |
| ---------------------------- | -------------------------- | ---- | ------------ | ------------------------------------------------------------ |
| driverName                   | 姓名                       | 是   | String       | 根据机动车驾驶证填写                                         |
| telephone                    | 手机号码                   | 是   | String       |                                                              |
| drivingIdNumber              | 身份证号                   | 是   | String       | 身份证号                                                     |
| drivingLicense               | 驾驶证编号                 | 是   | String       | 根据机动车驾驶证填写                                         |
| vehicleClass                 | 准驾车型                   | 是   | String       | 根据机动车驾驶证填写                                         |
| issuingOrganizations         | 驾驶证发证机关             | 是   | String       | 根据机动车驾驶证填写                                         |
| validPeriodFrom              | 驾驶证有效期自             | 是   | String       | 根据机动车驾驶证填写。yyyyMMdd                               |
| validPeriodTo                | 驾驶证有效期至             | 是   | String       | 根据机动车驾驶证填写。yyyyMMdd                               |
| qualificationCertificate     | 从业资格证号               | 是   | String       | 驾驶员身份证号可代替进行上传，最大长度19位字符，使用总质量4.5吨及以下普通货运车辆从事普通货物运输经营的驾驶员，填写“驾驶员身份证前6位+000000” |
| provinceCode                 | 从业资格的国家行政区划代码 | 是   | String       | “详见代码集《国家行政区划代码》从业资格证上的省份填写相应代码” |
| qualificationCertificateFrom | 从业资格证有效期自         | 否   | String       | 从业资格证有效期自，根据从业资格证填写，yyyyMMdd。为空时需要传null |
| qualificationCertificateTo   | 从业资格证有效期至         | 否   | String       | 从业资格证有效期至，根据从业资格证填写，yyyyMMdd。为空时需要传null |
| taxRegistrationCertificate   | 司机税务登记证号           | 可选 | String       |                                                              |
| registerDate                 | 驾驶员注册日期             | 是   | String       | 驾驶员在网络货运企业注册成为会员的日期。yyyyMMdd             |
| anchoredUrl                  | 司机挂靠协议               | 否   | List<Object> |                                                              |

##### carInfo子项参数

| 参数                           | 名称                               | 必选 | 类型         | 说明                                                         |
| ------------------------------ | ---------------------------------- | ---- | ------------ | ------------------------------------------------------------ |
| vehicleNumber                  | 车辆牌照号                         | 是   | String       |                                                              |
| vehiclePlateColorCode          | 车牌颜色代码                       | 是   | String       | 详见代码集《车牌颜色代码》                                   |
| vehicleType                    | 车辆类型代码                       | 是   | String       | 详见代码集《车辆类型代码》                                   |
| LicensePlateTypeCode           | 车牌类型代码(注意首字母大写)       | 是   | String       | 详见代码集《车牌类型代码》                                   |
| owner                          | 所有人                             | 是   | String       | 按照机动车行驶证填写                                         |
| ownerId                        | 所有人统一社会信用代码或个人证件号 | 可选 | String       |                                                              |
| useCharacter                   | 使用性质                           | 是   | String       | 按照机动车行驶证填写                                         |
| vin                            | 车辆识别代号                       | 是   | String       | 按照机动车行驶证填写                                         |
| issuingOrganizations           | 发证机关                           | 是   | String       | 按照机动车行驶证填写                                         |
| registerDate                   | 注册日期                           | 是   | String       | 按照机动车行驶证填写。yyyyMMdd                               |
| issueDate                      | 发证日期                           | 是   | String       | 按照机动车行驶证填写。yyyyMMdd                               |
| vehicleEnergyType              | 车辆能源类型                       | 是   | String       | 详见代码集《车辆能源类型》                                   |
| vehicleTonnage                 | 核定载质量                         | 是   | Double       | 参考机动车行驶证填写，默认单位：吨，保留两位小数，如整数的话，以.00填充 |
| grossMass                      | 总质量                             | 是   | Double       | 参考机动车行驶证填写，默认单位：吨，保留两位小数，如整数的话，以.00填充 |
| roadTransportCertificateNumber | 道路运输证号                       | 是   | String       | 可用0进行填充，最大长度20位字符(字母数字混填)，总质量4.5吨及以下普通货运车辆的，可填“车籍地6位行政区域代码+000000” |
| trailerVehiclePlateNumber      | 挂车牌照号                         | 否   | String       |                                                              |
| vehicleLicenseNumber           | 行驶证档案编号                     | 否   | String       | 可用0进行填充，长度为12-18位字符                             |
| roadTransportSocialCreditFrom  | 道路运输证有效期自                 | 否   | String       | 道路运输证有效期自，按照道路运输证填写。yyyyMMdd             |
| roadTransportSocialCreditTo    | 道路运输证有效期至                 | 否   | String       | 道路运输证有效期至，按照道路运输证填写。yyyyMMdd             |
| anchoredUrl                    | 车辆挂靠协议                       | 否   | List<Object> |                                                              |


##### goodsInfos子项参数

| 参数名                      | 必选 | 类型   | 说明                                                         |
| --------------------------- | ---- | ------ | ------------------------------------------------------------ |
| descriptionOfGoods          | 是   | String | 货物名称，如一车货有不同货物，则可循环                       |
| cargoTypeClassificationCode | 是   | String | 详见代码集《货物类型代码》                                   |
| quantity                    | 是   | Double | 货物量，重量/体积/件数/车数等，数值,计量单位用从unit字段传入 |
| unit                        | 是   | String | 计量单位,格式为:吨/件/车/立方米等                            |

##### insuranceInformation子项参数

| 参数名           | 必选 | 类型   | 说明                                                         |
| ---------------- | ---- | ------ | ------------------------------------------------------------ |
| policyNumber     | 是   | String | 保险单号，未投保的，可填none，最大长度50位字符               |
| insuranceCompany | 是   | String | 保险公司名称，详见代码集《保险机构代码》。未投保的，可填“无” |

###### contractUrl子项参数

| 参数     | 名称             | 必选 | 类型   | 说明                                                     |
| -------- | ---------------- | ---- | ------ | -------------------------------------------------------- |
| name     | 委托合同文件名称 | 否   | String | 需要加文件格式后缀名png/jpg/jpeg/pdf，例如：合同文件.png |
| url      | 委托合同文件地址 | 可选 | String | url和dataList任选一项必填                                |
| dataList | 委托合同文件对象 | 可选 | String | base64, url和dataList任选一项必填                        |




#### 请求示例
```json
{
   "partnerId": "xxx",
   "appId": "xxx",
   "workerId": "001",
   "args": {
        "waybillInfo":{
            "businessTypeCode":"1002996",
            "carrier":"网络货运企业名称",
            "documentCreateTime":"20460228000000",
            "goodsArrangementTypeCode":"011",
            "originalDocumentNumber":"ys2222",
            "permitNumber":"123456789012",
            "shippingNoteNumber":"test008",
            "departureTime": "20900203010233",
            "orderReceivingTime":"20220530143259",
             "contractNumber":"cb123456789",
             "commercialContractNumber":"ss123456789",
            "unifiedSocialCreditIdentifier":"1111",
			"mileage": "200.234"
        },
		 "insuranceInformation":{
            "insuranceCompany":"ABIC",
            "policyNumber":"123456"
        },
        "consignorInfo":{
            "consignor":"托运人的名字",
            "consignorId":"422801199903260045",
            "frameContractNumber":"",
            "loadingCountrySubdivisionCode":"370211",
            "placeOfLoading":"山东省/青岛市/黄岛区",
            "loadingLongitude":"107.298671",
            "loadingLatitude":"40.796694"
        },
        "consigneeInfo":{
            "consignee":"我是收货方名称",
            "consigneeId":"422801199903260088",
            "goodsReceiptPlace":"河北省/邯郸市/永年区",
            "unLoadingLongitude":"107.298671",
            "unLoadingLatitude":"40.796694",
            "unLoadingNationSubdivisionCode":"370200"
        },
		"carInfo":{
            "grossMass":33,
            "issueDate":"20211212",
            "issuingOrganizations":"我的发证机关",
            "LicensePlateTypeCode":"01",
            "owner":"刘司机的车",
            "ownerId":"123456789",
            "registerDate":"20231212",
            "roadTransportCertificateNumber":"123456789012",
            "roadTransportSocialCreditFrom":"20211213",
            "roadTransportSocialCreditTo":"20221212",
            "trailerVehiclePlateNumber":"鄂A12345",
            "useCharacter":"商用",
            "vehicleEnergyType":"A",
            "vehicleLicenseNumber":"111111111111111111",
            "vehicleNumber":"赣GP3217",
            "vehiclePlateColorCode":"2",
            "vehicleTonnage":33,
            "vehicleType":"H10",
            "vin":"12423515",
            "anchoredUrl":[
                {
                    "name":"车辆挂靠协议.pdf",
                    "url":"https://www.123.com",
                    "dataList":"文件"
                }
            ]
        },
		"driverInfo":{
            "driverName":"测试司机",
            "drivingIdNumber":"110101199003074530",
            "drivingLicense":"12111561651561",
            "issuingOrganizations":"我就是驾驶证发证机关",
            "qualificationCertificate":"111",
            "qualificationCertificateFrom":"20241212",
            "qualificationCertificateTo":"20251212",
            "taxRegistrationCertificate":"123455",
            "telephone":"18871999035",
            "validPeriodFrom":"20261212",
            "validPeriodTo":"20271212",
            "vehicleClass":"准驾车型",
            "provinceCode":"123456",
            "anchoredUrl":[
                {
                    "name":"司机挂靠协议.pdf",
                    "url":"https://www.123.com",
                    "dataList":"文件"
                }
            ]
        },
        "goodsInfos":[
            {
                "cargoTypeClassificationCode":"100",
                "descriptionOfGoods":"手机",
                "quantity":"100",
                "unit":"吨"
            },
            {
                "cargoTypeClassificationCode":"100",
                "descriptionOfGoods":"手机",
                "quantity":"100",
                "unit":"吨"
            }
        ]
    }
}
```


#### 返回参数说明

| 参数      | 名称     | 类型    | 说明                                |
| :-------- | :------- | ------- | ----------------------------------- |
| success   | 成功标志 | boolean | 返回true或false                     |
| message   | 返回信息 | String  | 返回的提示信息                      |
| code      | 返回代码 | int     | 如200：成功，500：服务器内部错误 等 |
| result    | 返回数据 | Object  | 如有需要，返回数据对象              |
| timestamp | 时间戳   | long    | 13位时间戳，精确到毫秒              |



#### 返回示例 

``` 
{
    "success": true,
    "message": "",
    "code": 200,
    "result": true,
    "timestamp": 1672121404682
}
```

### 二、第二次上传

[TOC]

#### 简要描述

- 第二次上传完后，会进行运单重复、车辆资质、司机资质、集中支付、资金流水、合同、车辆轨迹核验

#### 请求URL
- `xxxxxx/api/dataUpload/secondUpload `

#### 请求方式
- POST 


#### args请求参数

| 参数                | 名称               | 必选 | 类型         | 说明                                 |
| :------------------ | ------------------ | :--- | :----------- | ------------------------------------ |
| arrivalInfo         | 运抵信息           | 是   | Object       |                                      |
| ownerStatements     | 货主流水           | 是   | List<Object> |                                      |
| carrierStatements   | 承运人流水         | 是   | List<Object> |                                      |
| carrierContractInfo | 承运合同（承运人） | 是   | Object       | 承运合同（承运人）                   |
| ownerContractInfo   | 委托合同（货主）   | 可选 | Object       | 委托合同（框架）和委托合同二选一上报 |
| trackList           | 车辆轨迹           | 是   | List<Object> |                                      |


##### arrivalInfo子项参数
| 参数                 | 名称                         | 必选 | 类型         | 说明                                                         |
| :------------------- | ---------------------------- | :--- | :----------- | ------------------------------------------------------------ |
| shippingNoteNumber   | 托运单号                     | 是   | String       | 本运单单号(最大长度20位)                                     |
| startTicketFileUrl   | 起运磅票文件（发货单）       | 是   | List<Object> | 支持上传多个文件                                             |
| arrivalTime          | 运抵时间                     | 是   | String       | 司机运抵的时间。yyyyMMddHHmmss                               |
| arrivalTicketFileUrl | 运抵磅票文件（收货单）       | 是   | List<Object> | 支持上传多个文件                                             |
| waybillFreightAmount | 承运运费金额（不含运费差价） | 是   | Double       | 此运单网络货运经营者实际支付承运人的运费金额，即网络货运经营者与承运人签订的该运单的司机运单合同付款金额，货币单位为人民币（元），保留3位小数，如整数的话，以.000填充。 |
| totalMonetaryAmount  | 委托运费金额（含运费差价）   | 是   | Double       | 此运单托运人实际支付网络货运经营者的运费金额，即托运人与网络货运经营者签订的该运单的货主运单合同付款金额，货币单位为人民币（元），保留3位小数，如整数的话，以.000填充。 |

###### startTicketFileUrl子项参数
| 参数     | 名称             | 必选 | 类型   | 说明                                                    |
| -------- | ---------------- | ---- | ------ | ------------------------------------------------------- |
| name     | 起运磅票文件名称 | 是   | String | 需要加文件格式后缀名png/jpg/jpeg/pdf,例如：合同文件.png |
| url      | 起运磅票文件地址 | 可选 | String | url和dataList任选一项必填                               |
| dataList | 起运磅票文件对象 | 可选 | String | base64, url和dataList任选一项必填                       |

###### arrivalTicketFileUrl子项参数

| 参数名   | 必选 | 类型   | 说明                                                         |
| :------- | :--- | :----- | ------------------------------------------------------------ |
| name     | 是   | String | 运抵磅票文件名称,需要加文件格式后缀名png/jpg/jpeg/pdf,例如：合同文件.png |
| url      | 可选 | String | 运抵磅票文件地址                                             |
| dataList | 可选 | String | base64, 运抵磅票文件对象                                     |


##### carrierStatements子项参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|documentNumber |单证号|是  |String |本资金流水单号。（是指网络货运平台内部的流水号）   |
|carrier |实际承运人名称|是  |String |个人车主信息/司机信息   |
|actualCarrierId |实际承运人身份证号码|是  |String |个人证件号为身份证号   |
|paymentMeansCode |付款方式代码|是  |String |详见代码集《付款方式代码》   |
|paymentName |付款方名称|是  |String |平台名称   |
|paymentAccount |付款帐户信息|是  |String |银行卡号   |
|paymentBankName |付款银行|是  |String |付款银行，精确到支行，银行名称需规范，如“中国建设银行某某支行”、“中信银行某某支行”、“支付宝”等等   |
|recipient |收款方名称|是  |String |实际收款人   |
|receiptIdCard |收款方身份证号|是  |String |身份证号   |
|receiptAccount |收款帐户信息|是  |String |银行卡号   |
|receiptBankName |收款银行|是  |String |收款银行名称   |
|sequenceCode |流水号/序列号|是  |String |付款银行流水号信息，银行或第三方支付平台的资金流水单号   |
|monetaryAmount |实际支付金额|是  |String |资金流水金额，货币单位为人民币，保留3位小数，如整数的话，以.000填充   |
|appointmentTime |合同约定时间|是  |String |合同约定时间，yyyyMMdd   |
|payTime |实际支付时间|是  |String |资金流水实际发生时间。yyyyMMddHHmmss   |
|oilCardAmount |油卡金额|选填  |String |油卡金额，货币单位为人民币，保留3位小数，如整数的话，以.000填充。   |
|replaceAgreementFiles |代收协议| 可选  |List<Object> |不是司机本人/车辆所有人收款，需要传代收协议   |

##### ownerStatements子项参数

| 参数             | 名称                               | 必选 | 类型   | 说明                                                         |
| :--------------- | ---------------------------------- | :--- | :----- | ------------------------------------------------------------ |
| documentNumber   | 单证号                             | 是   | String | 本资金流水单号（是指网络货运平台内部的流水号）。             |
| carrier          | 托运人名称                         | 是   | String | 货主企业名称                                                 |
| actualCarrierId  | 托运人统一社会信用代码或个人证件号 | 是   | String | 个人证件号为身份证号                                         |
| paymentMeansCode | 付款方式代码                       | 是   | String | 详见代码集《付款方式代码》                                   |
| paymentName      | 付款方名称                         | 是   | String | 托运人名称                                                   |
| paymentAccount   | 付款帐户信息                       | 是   | String | 银行卡号                                                     |
| paymentBankName  | 付款银行                           | 选填 | String | 付款银行                                                     |
| recipient        | 收款方名称                         | 是   | String | 网络货运企业                                                 |
| receiptAccount   | 收款帐户信息                       | 是   | String | 银行卡号                                                     |
| receiptBankName  | 收款银行                           | 选填 | String | 收款银行                                                     |
| sequenceCode     | 付款流水号/序列号                  | 是   | String | 银行或第三方支付平台的资金流水单号                           |
| monetaryAmount   | 实际支付金额                       | 是   | Double | 资金流水金额，货币单位为人民币，保留3位小数，如整数的话，以.000填充 |
| appointmentTime  | 合同约定付款时间                   | 是   | String | yyyyMMdd                                                     |
| payTime          | 实际支付时间                       | 是   | String | 资金流水实际发生时间。yyyyMMddHHmmss                         |



##### carrierContractInfo子项参数
| 参数                         | 名称                             | 必选 | 类型         | 说明                                                         |
| ---------------------------- | -------------------------------- | ---- | ------------ | ------------------------------------------------------------ |
| contractBusinessName         | 合同业务名称                     | 是   | String       |                                                              |
| contractNumber               | 承运合同编号                     | 是   | String       | 平台与司机签订的合同编号                                     |
| partyAName                   | 甲方名称                         | 是   | String       | 付款方（网络货运企业）                                       |
| partyAId                     | 甲方统一社会信用代码             | 是   | String       | 网络货运经营者统一社会信用代码                               |
| partyBName                   | 乙方名称                         | 是   | String       | 实际承运人                                                   |
| partyBId                     | 乙方统一社会信用代码或个人证件号 | 是   | String       | 个人证件号为身份证号                                         |
| contractedCarryingCapacity   | 合同签订承运量                   | 是   | Double       | 重量单位以吨填写数值，保留3位小数，如整数的话，以.000填充。如是轻泡货等货物，请估算重量。 |
| unit                         | 合同签订承运量单位               | 是   | String       | 格式:吨/件/车/立方米                                         |
| contractAmount               | 合同金额                         | 是   | Double       | 货币单位为人民币（元），保留3位小数，如整数的话，以.000填充。 |
| agreedBusinessCompletionTime | 约定业务完成时间                 | 是   | String       | yyyyMMdd                                                     |
| promisePayTime               | 约定甲方付款时间                 | 是   | String       | yyyyMMdd                                                     |
| partyBReceiptName            | 乙方收款方名称                   | 是   | String       | 实际承运人                                                   |
| partyBAccount                | 乙方收款账号                     | 是   | String       | 银行卡号                                                     |
| bankName                     | 乙方收款银行                     | 否   | String       | 乙方收款银行                                                 |
| placeOfLoading               | 装货地址                         | 是   | String       | 装货地址，格式为省/市/县(区)/详细地址                        |
| goodsReceiptPlace            | 卸货地址                         | 是   | String       | 卸货地址，格式为省/市/县(区)/详细地址                        |
| descriptionOfGoods           | 货物名称                         | 是   | String       | 货物名称                                                     |
| vehicleNumber                | 车牌号                           | 是   | String       | 车牌号                                                       |
| contractSigningTime          | 合同签订时间                     | 是   | String       | 司机与平台签订合同时间，yyyyMMddHHmmss                       |
| contractUrl                  | 承运合同文件                     | 是   | List<Object> |                                                              |
###### contractUrl子项参数
| 参数     | 名称             | 必选 | 类型   | 说明                                                    |
| -------- | ---------------- | ---- | ------ | ------------------------------------------------------- |
| name     | 承运合同文件名称 | 是   | String | 需要加文件格式后缀名png/jpg/jpeg/pdf,例如：合同文件.pdf |
| url      | 承运合同文件地址 | 可选 | String | url和dataList任选一项必填                               |
| dataList | 承运合同文件对象 | 可选 | String | base64, url和dataList任选一项必填                       |

##### ownerContractInfo子项参数
| 参数                         | 名称                             | 必选 | 类型         | 说明                                                         |
| ---------------------------- | -------------------------------- | ---- | ------------ | ------------------------------------------------------------ |
| contractBusinessName         | 合同业务名称                     | 否   | String       |                                                              |
| contractNumber               | 委托合同编号                     | 否   | String       | 平台与托运人签订的合同编号                                   |
| partyAName                   | 甲方名称                         | 否   | String       | 付款方（托运人）                                             |
| partyAID                     | 甲方统一社会信用代码或个人证件号 | 否   | String       | 个人证件号为身份证号                                         |
| partyBName                   | 乙方名称                         | 否   | String       | 收款方（网络货运企业）                                       |
| partyBID                     | 乙方统一社会信用代码             | 否   | String       | 网络货运经营者统一社会信用代码                               |
| contractedCarryingCapacity   | 合同签订承运量                   | 是   | Double       | 重量单位以吨填写数值，保留3位小数，如整数的话，以.000填充。如是轻泡货等货物，请估算重量。 |
| unit                         | 合同签订承运量单位               | 是   | String       | 格式:吨/件/车/立方米                                         |
| contractAmount               | 合同金额                         | 是   | Double       | 货币单位为人民币（元），保留3位小数，如整数的话，以.000填充。 |
| agreedBusinessCompletionTime | 约定业务完成时间                 | 否   | String       | yyyyMMdd                                                     |
| promisePayTime               | 约定资金结算时间                 | 否   | String       | yyyyMMdd                                                     |
| partyAAccount                | 甲方付款账号                     | 否   | String       | 银行卡号                                                     |
| partyABankName               | 甲方付款银行                     | 否   | String       | 甲方付款银行                                                 |
| partyBAccount                | 乙方收款账号                     | 否   | String       | 银行卡号                                                     |
| partyBBankName               | 乙方收款银行                     | 否   | String       | 乙方收款银行                                                 |
| contractSigningTime          | 合同签订时间                     | 否   | String       | 货主与平台签订合同时间,yyyyMMddHHmmss                        |
| contractUrl                  | 委托合同文件                     | 否   | List<Object> |                                                              |
###### contractUrl子项参数
| 参数     | 名称             | 必选 | 类型   | 说明                                                    |
| -------- | ---------------- | ---- | ------ | ------------------------------------------------------- |
| name     | 委托合同文件名称 | 否   | String | 需要加文件格式后缀名png/jpg/jpeg/pdf,例如：合同文件.pdf |
| url      | 委托合同文件地址 | 可选 | String | url和dataList任选一项必填                               |
| dataList | 委托合同文件对象 | 可选 | String | base64, url和dataList任选一项必填                       |


##### trackList子项参数 (当前轨迹上报点数限制为2-2000个)

| 参数            | 名称     | 必选 | 类型   | 说明                                                         |
| :-------------- | -------- | :--- | :----- | ------------------------------------------------------------ |
| locationMethod  | 定位类型 | 是   | String | 详见代码集《定位类型》【BD(北斗);LBS(LBS);WECHAT(小程序);APP(APP)】 |
| locationTime    | 定位时间 | 是   | String | yyyyMMddHHmmss                                               |
| locationAddress | 定位地点 | 是   | String | 具体定位地址                                                 |
| longitude       | 经度     | 是   | String | 定位经度，最长保留6位小数                                    |
| latitude        | 纬度     | 是   | String | 定位纬度，最长保留6位小数                                    |
| trackType       | 轨迹类型 | 否   | String | 轨迹类型，LOADING-提货 UNLOADING-运抵 NORMAL-其他定位        |

#### 请求示例
```json
{
  "partnerId": "xxx",
  "appId": "xxx",
  "workerId": "001",
  "args": {
     "arrivalInfo":{
            "startTicketFileUrl":[
                {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                },
                {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                }
            ],
            "arrivalTicketFileUrl":[
                {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                },
                {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                }
            ],
            "arrivalTime":"20220307094830",
            "shippingNoteNumber":"test008",
            "totalMonetaryAmount":11,
            "waybillFreightAmount":10
        },
        "carrierContractInfo":{
            "agreedBusinessCompletionTime":"20201212",
            "contractNumber":"ss123456789",
            "contractAmount":12,
            "contractBusinessName":"我就是商事合同业务名称",
            "contractSigningTime":"20211212000000",
            "contractUrl":[
                {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                },
                {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                }
            ],
            "contractedCarryingCapacity":3,
            "unit":"吨",
            "partyAId":"422801199903260024",
            "partyAName":"甲方名称付款方（网络货运企业）",
            "partyBAccount":"12345678901",
            "partyBId":"422801199903260024",
            "partyBName":"乙方名称实际承运人",
            "partyBReceiptName":"乙方收款方名称实际承运人-吴司机",
            "promisePayTime":"20201212",
            "bankName":"中国银行",
            "placeOfLoading":"装货地址",
            "goodsReceiptPlace":"收货地址",
            "descriptionOfGoods":"货物名称",
            "vehicleNumber":"车牌号"
        },
        "ownerContractInfo":{
            "agreedBusinessCompletionTime":"20201212",
            "contractNumber":"cb123456789",
            "contractAmount":6,
            "contractBusinessName":"我是承包合同业务名称",
            "contractUrl":[
                {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                },
                {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                }
            ],
            "contractedCarryingCapacity":7,
            "unit":"吨",
            "partyAAccount":"12345678901",
            "partyABankName":"中国银行",
            "partyAID":"422801199903260024",
            "partyAName":"甲方名称付款方托运人",
            "partyBAccount":"12345678901",
            "partyBID":"422801199903260024",
            "partyBName":"乙方名称收款方（网络货运企业）",
            "partyBBankName":"中国银行",
            "promisePayTime":"20201212",
            "serviceCharge":"6%"
        },
        "ownerStatements":[
            {
                "receiptAccount":"12345678901",
                "receiptBankName":"中国银行",
                "recipient":"收款方名称网络货运企业",
                "actualCarrierId":"422801199903260024",
                "appointmentTime":"20211212",
                "carrier":"托运人名称",
                "documentNumber":"dzh123456",
                "monetaryAmount":1,
                "payTime":"20211212000000",
                "paymentAccount":"12345678901",
                "paymentBankName":"中国银行",
                "paymentMeansCode":"1",
                "paymentName":"付款方名称托运人名称",
                "sequenceCode":"lsh123456"
            },
            {
                "receiptAccount":"12345678901",
                "receiptBankName":"中国银行",
                "recipient":"收款方名称网络货运企业",
                "actualCarrierId":"422801199903260024",
                "appointmentTime":"20211212",
                "carrier":"托运人名称",
                "documentNumber":"dzh123456",
                "monetaryAmount":1,
                "payTime":"20211212000000",
                "paymentAccount":"12345678901",
                "paymentBankName":"中国银行",
                "paymentMeansCode":"1",
                "paymentName":"付款方名称托运人名称",
                "sequenceCode":"lsh123456"
            }
        ],
        "carrierStatements":[
            {
                "actualCarrierId":"422801199903260024",
                "appointmentTime":"20211212",
                "carrier":"流司机",
                "documentNumber":"dzh123456",
                "monetaryAmount":10000,
                "payTime":"20211212000000",
                "paymentAccount":"12345678901",
                "paymentMeansCode":"1",
                "paymentName":"付款方名称",
                "paymentBankName":"中国银行",
                "receiptAccount":"12345678901",
                "receiptIdCard":"422801199903260025",
                "recipient":"汪司机",
                "receiptBankName":"中国银行",
                "sequenceCode":"lsh12346",
                "oilCardAmount":"1000.000",
				"replaceAgreementFiles":[
                  {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                  },
                  {
                    "name":"图片.jpg",
                    "url":"https://wwww.xx.xx",
                    "dataList":"文件对象"
                  }
                ],
            },
            {
                "actualCarrierId":"422801199903260024",
                "appointmentTime":"20211212",
                "carrier":"流司机",
                "documentNumber":"dzh123456",
                "monetaryAmount":10000,
                "payTime":"20211212000000",
                "paymentAccount":"12345678901",
                "paymentMeansCode":"1",
                "paymentName":"付款方名称",
                "paymentBankName":"中国银行",
                "receiptAccount":"12345678901",
                "receiptIdCard":"422801199903260025",
                "recipient":"汪司机",
                "receiptBankName":"中国银行",
                "sequenceCode":"lsh12346",
                "oilCardAmount":"1000.000",
                "unitPriceIncludingTax":"12.000",
                "unitPriceIncludingAmount":"123.120"
            }
        ],
        "trackList":[
            {
                "locationMethod":"BD",
                "locationTime":"20220305143621",
                "locationAddress":"山东省青岛市黄岛区",
                "longitude":"107.298671",
                "latitude":"40.796694",
                "trackType": "LOADING"
            },
            {
                "locationMethod":"WECHAT",
                "locationTime":"20220305143621",
                "locationAddress":"河北省邯郸市永年区",
                "longitude":"107.298671",
                "latitude":"40.796694",
                "trackType": "UNLOADING"
            }
        ]
  }
}
```


##### 返回参数说明

| 参数      | 名称     | 类型    | 说明                                |
| :-------- | :------- | ------- | ----------------------------------- |
| success   | 成功标志 | boolean | 返回true或false                     |
| message   | 返回信息 | String  | 返回的提示信息                      |
| code      | 返回代码 | int     | 如200：成功，500：服务器内部错误 等 |
| result    | 返回数据 | Object  | 如有需要，返回数据对象              |
| timestamp | 时间戳   | long    | 13位时间戳，精确到毫秒              |



##### 返回示例 

``` 
{
    "success": true,
    "message": "",
    "code": 200,
    "result": true,
    "timestamp": 1672121404682
}
```

### 三、第三次上传

[TOC]

##### 简要描述

- 第三次上传完后，会进行税票核验。

##### 请求URL
- ` xxxxxx/api/dataUpload/thirdUpload `

##### 请求方式
- POST 


##### 请求参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|invoice |货主发票  |是  |Object |支持一张发票包含多个运单   |
|oilGasInvoices |油气发票  |选填  |List<Object> |发票关联的运单油气发票   |

##### invoice子项参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|shippingNoteNumberList |托运单号 数组  |是  |List<String> |运单单号数组  |
|invoiceNumber |发票号码   |是  |String | 发票号码    |
|invoiceCode     |发票代码号   | 是 |String | 发票代码号(备注：数电票可传发票号码)    |
|invoiceAmount     |发票金额   | 是 |Number | 发票金额(价税合计)，货币单位为人民币（元），保留2位小数，如整数的话，以.00填充。    |
|invoiceDateTime     |开票日期   | 是 |String | 开票时间，yyyyMMdd    |
|sellerName     |销售方名称  | 是 |String | 开票方公司名称    |
|sellerTaxpayerIdentification     |销售方纳税人识别号  | 是 |String | 开票方纳税人识别号（网络货运经营者统一社会信用代码）    |
|sellerAddress     |销售方地址  | 是 |String | 开票方营业执照公司地址，需保持一致    |
|sellerTelephone     |销售方电话 | 是 |String | 开票方公司联系电话，手机号或座机    |
|sellerBankName     |销售方银行  | 是 |String | 开票方开户行    |
|sellerBankAccount     |销售方银行账号  | 是 |String | 开票方银行账户    |
|buyerName     |受票方名称  | 是 |String | 受票方名称    |
|buyerTaxpayerIdentification     |受票方纳税人识别号  | 是 |String | 受票方纳税人识别号    |
|buyerAddress     |受票方地址  | 是 |String | 受票方营业执照公司地址，需保持一致    |
|buyerTelephone     |受票方电话  | 是 |String | 受票方公司联系电话，手机号或座机    |
|buyerBankName     |受票方银行  | 是 |String | 受票方开户行    |
|buyerBankAccount     |受票方银行账号  | 是 |String | 受票方银行卡号    |
|invoiceUrl     |货主发票文件  | 可选 |List<Object> | 货主发票文件    |

##### invoiceUrl子项参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|name |货主发票文件名称  |是  |String |文件名称，需要加文件格式后缀名   |
|url |货主发票文件地址  |可选  |String | 文件地址    |
|dataList     |货主发票文件对象  | 可选 |String | base64    |

##### oilGasInvoices子项参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|shippingNoteNumber |托运单号  |是  |String |油气托运单号必须存在于税票中   |
|oilGasFileUrl |油气发票地址  |是  |String | 油气发票地址    |

##### oilGasFileUrl子项参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|name |文件名称  |是  |String |文件名称，需要加文件格式后缀名   |
|url |文件地址  |可选  |String | 文件地址    |
|dataList     |文件对象  | 可选 |String | base64    |

##### 请求示例
```json
{
  "partnerId": "xxx",
  "appId": "xxx",
  "workerId": "001",
  "args": {
    "invoice":{
	        "shippingNoteNumberList":[
                "test007",
                "test008"
            ],
			"invoiceNumber":"xxx",
			"invoiceCode":"xxx",
			"invoiceAmount":xxx,
			"invoiceDateTime":"xxx",
			"sellerName":"销售方名称",
			"sellerTaxpayerIdentification":"123456",
			"sellerAddress":"销售方地址",
			"sellerTelephone":"xxx",
			"sellerBankName":"中国银行",
			"sellerBankAccount":"xxx",
			"buyerName":"受票方名称",
			"buyerTaxpayerIdentification":"123456",
            "buyerAddress":"受票方地址",
			"buyerTelephone":"xxx",
			"buyerBankName":"中国银行",
            "buyerBankAccount":"xxx",
            "invoiceUrl":[
                {
                    "name":"税票文件.jpg",
                    "url":"https://www.123.123",
                    "dataList":"文件对象"
                },
                {
                    "name":"税票文件.jpg",
                    "url":"https://www.123.123",
                    "dataList":"文件对象"
                }
            ]
       },
		"oilGasInvoices":[
            {
                "shippingNoteNumber":"test007",
                "oilGasFileUrl":[
                    {
                        "name":"图片.jpg",
                        "url":"https://wwww.xx.xx",
                        "dataList":"文件对象"
                    },
                    {
                        "name":"图片.jpg",
                        "url":"https://wwww.xx.xx",
                        "dataList":"文件对象"
                    }
                ]
            },
            {
                "shippingNoteNumber":"test008",
                "oilGasFileUrl":[
                    {
                        "name":"图片.jpg",
                        "url":"https://wwww.xx.xx",
                        "dataList":"文件对象"
                    },
                    {
                        "name":"图片.jpg",
                        "url":"https://wwww.xx.xx",
                        "dataList":"文件对象"
                    }
                ]
            }
        ]
   }
}
```


##### 返回参数说明

| 参数      | 名称     | 类型    | 说明                                |
| :-------- | :------- | ------- | ----------------------------------- |
| success   | 成功标志 | boolean | 返回true或false                     |
| message   | 返回信息 | String  | 返回的提示信息                      |
| code      | 返回代码 | int     | 如200：成功，500：服务器内部错误 等 |
| result    | 返回数据 | Object  | 如有需要，返回数据对象              |
| timestamp | 时间戳   | long    | 13位时间戳，精确到毫秒              |



##### 返回示例 

``` 
{
    "success": true,
    "message": "",
    "code": 200,
    "result": true,
    "timestamp": 1672121404682
}
```

### ETC发票上传

[TOC]

##### 简要描述

- 第三次上传完后，可上传ETC发票。

##### 请求URL
- ` xxxxxx/api/dataUpload/etcInvoiceUpload `

##### 请求方式
- POST 


##### 请求参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|shippingNoteNumber |托运单号  |是  |String |运单单号  |
|vehicleNumber     |车牌号  | 是 |String | 车牌号    |
|vehiclePlateColorCode     |车牌颜色编号  | 是 |String | 车牌颜色编号    |
|etcInvoices |etc发票  |是  |List<Object> |发票关联的运单ETC发票   |

##### etcInvoices子项参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|invoiceNumber |发票号码   |是  |String | 发票号码，不允许重复    |
|invoiceCode     |发票代码号   | 是 |String | 发票代码号(备注：数电票可传发票号码)    |
|invoicingTime     |开票时间   | 是 |String | 开票时间，yyyyMMddHHmmss    |
|invoiceAmount     |不含税金额   | 是 |Number | 发票的不含税金额，货币单位为人民币（元），保留2位小数，如整数的话，以.00填充。    |
|taxRate     |税率   | 是 |String | 税率，格式，x.x%    |
|taxAmount     |税额   | 是 |String | 税额，保留2位小数，如整数的话，以.00填充。    |
|totalPriceAndTax     |发票金额   | 是 |String | 发票价税合计金额，保留2位小数，如整数的话，以.00填充。    |
|sellerName     |销售方名称  | 是 |String | 销售方名称    |
|sellerTaxNumber     |销售方税号  | 是 |String | 销售方税号    |
|acceptorName     |受票方名称  | 是 |String | 受票方名称    |
|acceptorTaxNumber     |受票方税号  | 是 |String | 受票方税号    |
|entranceTollStation     |入口收费站  | 是 |String | 入口收费站    |
|exportTollStation     |出口收费站  | 是 |String | 出口收费站    |
|transactionTime     |交易时间  | 是 |String | 交易时间，yyyyMMddHHmmss    |
|transactionAmount     |交易金额  | 是 |String | 交易金额    |
|transactionMatchingTime     |交易匹配时间  | 否 |String | 交易匹配时间，yyyyMMddHHmmss  |
|transactionId     |交易ID  | 是 |String | 交易ID    |
|etcFileUrl |ETC发票地址  |是  |String | ETC发票地址    |

##### etcFileUrl子项参数

|参数名|名称|必选|类型|说明|
|:----    |:---|:----- |-----   |
|name |文件名称  |是  |String |文件名称，需要加文件格式后缀名   |
|url |文件地址  |可选  |String | 文件地址    |
|dataList     |文件对象  | 可选 |String | base64    |

##### 请求示例
```json
{
  "partnerId": "xxx",
  "appId": "xxx",
  "workerId": "001",
  "argList": [
        {
            "shippingNoteNumber": "test_12345611118116021",
            "vehicleNumber": "鲁H825V7",
            "vehiclePlateColorCode": "2",
            "etcInvoices": [
                {
                    "invoiceNumber": "发票号码12345678912",
                    "invoiceCode": "发票代码12345678912",
                    "invoicingTime": "20250806121212",
                    "invoiceAmount": "500",
                    "taxRate": "3%",
                    "taxAmount": "20",
                    "totalPriceAndTax": "520",
                    "sellerName": "销售方名称",
                    "sellerTaxNumber": "销售方税号",
                    "acceptorName": "受票方名称",
                    "acceptorTaxNumber": "受票方税号",
                    "entranceTollStation": "入口收费站",
                    "exportTollStation": "出口收费站",
                    "transactionTime": "20250806121212",
                    "transactionAmount": "100",
                    "transactionMatchingTime": "20240102003125",
                    "transactionId": "11111111111111111",
                    "etcFileUrl": [
                        {
                            "name": "发票文件.png",
                            "url": "https://xxxxx.com"
                        }
                    ]
                }
            ]
        }
    ]
}
```


##### 返回参数说明

| 参数      | 名称     | 类型    | 说明                                |
| :-------- | :------- | ------- | ----------------------------------- |
| success   | 成功标志 | boolean | 返回true或false                     |
| message   | 返回信息 | String  | 返回的提示信息                      |
| code      | 返回代码 | int     | 如200：成功，500：服务器内部错误 等 |
| result    | 返回数据 | Object  | 如有需要，返回数据对象              |
| timestamp | 时间戳   | long    | 13位时间戳，精确到毫秒              |



##### 返回示例 

``` 
{
    "success": true,
    "message": "",
    "code": 200,
    "result": true,
    "timestamp": 1672121404682
}
```

### 修改第一次上报部分字段

[TOC]

#### 简要描述

- 接口修改上传的数据。

#### 请求URL
- ` xxxxxx/api/dataUpload/updateFirstUploadParam `

#### 请求方式
- POST 


#### args请求参数

| 参数名             | 必选 | 类型   | 说明                                   |
| :----------------- | :--- | :----- | -------------------------------------- |
| shippingNoteNumber | 是   | String | 托运单号(最大长度为20位)               |
| driverInfo         | 可选 | Object | 驾驶员信息 ，其中字段全部为选填        |
| carInfo            | 可选 | Object | 车辆信息，其中字段全部为选填           |
| waybillInfo        | 可选 | Object | 运单信息，字段为里程                   |
| consignorInfo      | 可选 | Object | 托运人信息，其中字段为地址、经度、维度 |
| consigneeInfo      | 可选 | Object | 收货方信息，其中字段为地址、经度、维度 |


#### 请求示例
```json
{
  "partnerId": "xxx",
  "appId": "xxx",
  "workerId": "001",
  "args": {
        "carInfo": {
            "grossMass": "1.00",
            "issueDate": "11111111",
            "issuingOrganizations": "1",
            "LicensePlateTypeCode": "99",
            "owner": "1",
            "ownerId": "11111111111",
            "registerDate": "11111111",
            "roadTransportCertificateNumber": "111111000000",
            "roadTransportSocialCreditFrom": "11111111",
            "roadTransportSocialCreditTo": "11111111",
            "trailerVehiclePlateNumber": "1",
            "useCharacter": "1",
            "vehicleEnergyType": "Z",
            "vehicleLicenseNumber": "111111111111",
            "vehicleNumber": "1",
            "vehiclePlateColorCode": "3",
            "vehicleTonnage": "1",
            "vehicleType": "H21",
            "vin": "1111111"
        },
        "driverInfo": {
            "anchoredUrl": [
                {
                    "dataList": "",
                    "name": "111.jpg",
                    "url": "https://img0.baidu.com/it/u=1705694933,4002952892&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1676394000&t=61c53ca8fb7c5e1cc2fd9e8ada096acd"
                }
            ],
            "driverName": "1",
            "drivingIdNumber": "1",
            "drivingLicense": "1",
            "issuingOrganizations": "1",
            "provinceCode": "111111",
            "qualificationCertificate": "1",
            "qualificationCertificateFrom": "11111111",
            "qualificationCertificateTo": "11111111",
            "taxRegistrationCertificate": "1",
            "telephone": "1",
            "validPeriodFrom": "11111111",
            "validPeriodTo": "11111111",
            "vehicleClass": "1"
        },
		"waybillInfo": {
            "mileage": "200"
        },
		"consignorInfo":{
            "placeOfLoading":"山东省/青岛市/黄岛区",
            "loadingLongitude":"107.298672",
            "loadingLatitude":"40.796695"
        },
        "consigneeInfo":{
            "goodsReceiptPlace":"河北省/邯郸市/永年区",
            "unLoadingLongitude":"107.298672",
            "unLoadingLatitude":"40.796695"
        },
        "shippingNoteNumber": "${danhao}"
  }
}
```


#### 返回参数说明

| 参数      | 名称     | 类型    | 说明                                |
| :-------- | :------- | ------- | ----------------------------------- |
| success   | 成功标志 | boolean | 返回true或false                     |
| message   | 返回信息 | String  | 返回的提示信息                      |
| code      | 返回代码 | int     | 如200：成功，500：服务器内部错误 等 |
| result    | 返回数据 | Object  | 如有需要，返回数据对象              |
| timestamp | 时间戳   | long    | 13位时间戳，精确到毫秒              |



#### 返回示例 

``` 
{
    "success": true,
    "message": "",
    "code": 200,
    "result": true,
    "timestamp": 1672121404682
}
```

### 常见问题

安徽省网络货运服务平台

接入问题解答

## 技术类

Q: carInfo子项参数中LicensePlateTypeCode首字母是大写吗？

A: 是的。

## 上报流程类

Q: 服务平台要求的上传时效是怎样的，是否要求实时上传？

A: 按照主管部门要求，网络货运企业需要在货物起运后及时上传运单信息，资金流水信息与发票信息也需要在一定周期内完成上传。

Q: 必须需要分三次传数据吗，运单完结后一次性上传所有数据是否可行？

A: 该上传方式可能会触发实时单异常，不建议企业在运单完结后统一上传。

Q：运单上传至服务平台后作废了该如何处理？是否有作废/取消运单接口？该类运单是否会对企业的合规率产生影响吗？

A：服务平台不支持取消或删除运单，按主管部门要求，上传至服务平台的运单不允许修改任何信息，建议企业在运单信息确认后再进行上传，服务平台在统计合规率时是不会将未完结的运单计算在内的。

## 合同类

Q: 委托合同（框架）和委托合同是否二选一上传就可以？

A: 是的。

Q: 委托合同（框架）的上传时间节点？

A: 在进行运单的第一次上报前需要将框架合同通过接口上传至服务平台，后续合同如果有新增或者修改，再调用上传或者修改接口即可。

Q: 上传了委托框架合同，在服务平台里可以看到框架合同吗？

A: 目前服务平台不支持单独查询合同，可在运单进行第一次上传后，在运单信息中查看合同。

## 车辆资质、人员资质类

Q: 网络货运企业目前没有收集从业资格证地址，从业资格证的国家行政区划代码如何填写？

A: 可按照身份证号的行政区划代码进行填写。

## 资金流水类

Q: 一条运单分多次支付司机运费是否可以上传多条资金流水信息？

A: 可以，服务平台支持一条运单上传多条流水信息。

Q: 货主支付的运费为预付款项（例如一次性支付500万），这种情况下货主流水如何上传？

A: 一笔货主支付流水可对应多条运单，将货主流水信息据实上传即可。

Q: 承运人流水中的税率和税额指的什么意思？

A: 目前税率统一传3%、税额按3%计算即可。

Q：油卡金额如何填写？

A：在上传承运人流水时据实填写油卡金额，如一条运单存在多条承运人流水，可在任一承运人流水中填写油卡金额。

## 车辆轨迹类

Q: 车辆轨迹上传的点数有要求吗？

A: 企业上传的轨迹点数需要在2-2000之间。

Q: 传轨迹的时候要详细地址，企业只有经纬度没有详细地址怎么办？

A: 地址字段没有的话先传“-”。

## 服务平台核验类

Q: 运单上传后多久开始核验？

A: 除承运人流水核验需等待次日银行提供数据后开始核验，其余核验项会在一至两小时内核验完成。

Q：服务平台的核验规则是怎样的？主要核验哪些内容？

A：企业完成与服务平台的数据对接后，可上传一批真实业务数据进行测试，届时可根据核验结果详细沟通核验规则。

Q：服务平台的核验结果怎么查看？异常运单如何处理？

A：查看服务平台核验结果有两种方式：一是在服务平台提供的企业端内进行查询，并可为异常运单提供相应的佐证材料进行申诉；二是对接服务平台异常查询接口，实现在企业自有系统内查询、处理异常运单。

## 发票类

Q：必须是合规的运单才允许开具货主发票吗？在什么节点可以看到运单是否可以开票？

A：按照主管部门要求，运单必须上传至服务平台且核验通过后才允许开具货主发票；企业完成运单的第二次上传后即可在服务平台企业端中查看核验结果，或对接服务平台核验结果查询接口进行查看。

Q：货主发票开具后需要红冲如何操作？

A：可在服务平台企业端内将货主发票作废，作废后再将重新开具的货主发票通过第三次上传接口上传至服务平台。

持续更新中...