oTMS logo 开放平台
Documentation Help

卡车和司机导入

通过该接口,可以将不同外部系统如ERP系统、WMS系统的司机和卡车数据进行批量的导入。

版本号 文档 说明
0.1 当前版本文档

配置说明

oTMS同时在生产环境和测试环境中提供Web Service接口,其中测试环境用于集成测试。两种环境下都需要由oTMS系统管理员分配API帐号密码后方可使用。

注意: 请合理地调用公共接口。如果发现存在异常调用或者对我们系统性能造成影响等情况,会对API账号的调用进行限制,甚至停用。

目前对该接口的调用限制为每个公司每秒最多10个请求

接口说明

公共参数

环境 HTTP请求方法 HTTPS请求地址 请求主体MIME类型 响应主体MIME类型
正式环境 PUT https://login.otms.cn/ws/truckAndDriverImport application/xml application/xml
沙箱环境 PUT https://demo.otms.cn/ws/truckAndDriverImport application/xml application/xml

请求参数

字段名 位置 是否必填 描述 Schema
body body 是 卡车与司机导入请求 TruckAndDriverImportRequest
Authorization header Basic Authorization。如果不为空,则优先使用该值作身份认证。否则使用请求报文中的用户名与密码 string

响应参数

状态码 描述 响应模型
200 successful operation TruckAndDriverImportResponse

详细描述

DriverImport

字段名 类型 是否必填 描述 示例
sequence integer (int32) 是 序列数
name string 是 司机姓名。若司机已在手机端app上注册,则导入系统的司机名会变为司机当时注册的姓名
mobile string 是 司机的手机号。在oTMS系统中该项为司机的唯一标识符。当导入成功后,系统会立即向该手机号发送邀请。必须是合法的单个手机号。
remarks string 否 备注
trustedDriver boolean 否 该司机是否为信任司机。默认值为否。
idCard string 否 司机身份证号码,可选。
updateExists boolean 否 司机已存在时更新。默认值为否。

DriverImportResponse

字段名 类型 是否必填 描述 示例
sequence integer (int32) 是 序列数
importStatus string 是 司机导入的结果
responseCodes array[string] 否 返回码列表。包含了导入结果的详细信息。
name string 否 司机姓名。如果导入成功,且司机已在手机端app上注册,则该姓名为司机在注册时输入的姓名。否则会从请求中获取。
mobile string 否 司机手机号,从请求中获取。

DriverTruckBindDto

字段名 类型 是否必填 描述 示例
sequence integer (int32) 是 序列数
truckPlate string 是 卡车车牌号。必须是合法的单个车牌号。在oTMS系统中车牌号是卡车的唯一标识符。
driverMobile string 是 司机的手机号。在oTMS系统中该项为司机的唯一标识符。

TruckAndDriverImportRequest

字段名 类型 是否必填 描述 示例
version string 是 请求的版本号。当前版本号为0.1
login string 否 用户名。用于 API 调用者身份认证。如果请求头中的Authorization不为空,则该值会被忽略。
password string 否 密码。用于 API 调用者身份认证。如果请求头中的Authorization不为空,则该值会被忽略。
drivers array[DriverImport] 否 需导入的司机列表。单次导入的最大数量为100
trucks array[TruckImport] 否 需导入的卡车列表。单次导入的最大数量为100
connects array[DriverTruckBindDto] 否 需导入司机卡车绑定关系列表。单次导入的最大数量为100

TruckAndDriverImportResponse

字段名 类型 是否必填 描述 示例
version string 是 响应版本号
responseCode string 否 全局的反馈代码
importedTrucks integer (int32) 是 成功导入的卡车数量
importedDrivers integer (int32) 是 成功导入的司机数量
bindDriverTrucks integer (int32) 是 成功绑定关系的数量
truckDetails array[TruckImportResponse] 否 卡车导入结果的详细信息
driverDetails array[DriverImportResponse] 否 司机导入结果的详细信息
connects array[DriverImportResponse] 否 司机导入结果的详细信息

TruckImport

字段名 类型 是否必填 描述 示例
sequence integer (int32) 是 序列数
licensedFor string 是 该卡车的适用于的货物类型,可取下列值:
1 - 普通货物
2 - 温控货物
3 - 危险品
4 - 危险品和温控货物
truckType string 是 该卡车的类型,可取下列值:
0 - 敞篷车
1 - 厢式车
3 - 轿运车
truckLength number 否 车长。如果存在,必须从已经定义好的值中选择。如果车型不是轿运车则该项为必填项。
truckCbmCapacity number 否 卡车装载(立方米)。如果存在,必须从已经定义好的值中选择,按车长对应装载(立方米)。
truckMtCapacity number 否 卡车装载(吨)。如果存在,必须从已经定义好的值中选择,按车长对应装载(吨)。
truckPlate string 是 卡车车牌号。必须是合法的单个车牌号。在oTMS系统中车牌号是卡车的唯一标识符。
trailerPlate string 否 挂车车牌号。必须是合法的单个车牌号。
remarks string 否 备注
unloadedWeight number 否 总质量、准牵引总质量。
approvedLoad number 否 核定核重量
emissionStandard string 否 排放标准,该卡车的适用于的排放标准,可取下列值:
0 - 所有标准
10 - 国I
20 - 国II
30 - 国III
40 - 国IV
50 - 国V
60 - 国VI
70 - 国VII
999 - 其它
fuelType string 否 燃油类型该卡车的适用于的燃油类型,可取下列值:
10 - 汽油
20 - 柴油
30 - 天然气
fuelConsumption number 否 油耗
emptyLoadFuelConsumption number 否 百公里空载油耗
fullLoadFuelConsumption number 否 百公里满载油耗

TruckImportResponse

字段名 类型 是否必填 描述 示例
sequence integer (int32) 是 序列数
importStatus string 是 卡车导入的结果
responseCodes array[string] 否 返回码列表。包含了导入结果的详细信息。
truckPlate string 否 车牌号,从请求中获取。

报文示例

请求示例

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truckAndDriverImportRequest version="0.1" login="username" password="password">
    <trucks>
        <truck sequence="1">
            <licensedFor>1</licensedFor>
            <truckType>1</truckType>
            <truckLength>8.0</truckLength>
            <truckCbmCapacity>43</truckCbmCapacity>
            <truckMtCapacity>10</truckMtCapacity>
            <truckPlate>沪A99999</truckPlate>
            <trailerPlate>沪B99999</trailerPlate>
            <remarks>remarks</remarks>
        </truck>
        <truck sequence="2">
            <licensedFor>1</licensedFor>
            <truckType>3</truckType>
            <truckMtCapacity>10</truckMtCapacity>
            <truckPlate>沪C99999</truckPlate>
        </truck>
    </trucks>
    <drivers>
        <driver sequence="1">
            <name>Mike</name>
            <mobile>12345678912</mobile>
            <remarks>remarks</remarks>
            <trustedDriver>true</trustedDriver>
            <idCard>312245199002015482</idCard>
        </driver>
        <driver sequence="2">
            <name>George</name>
            <mobile>98765431212</mobile>
        </driver>
    </drivers>
    <connects>
        <connect sequence="1">
            <truckPlate>沪B99999</truckPlate>
            <driverMobile>12345678912</driverMobile>
        </connect>
        <connect sequence="2">
            <truckPlate>沪C99999</truckPlate>
            <driverMobile>98765431212</driverMobile>
        </connect>
    </connects>
</truckAndDriverImportRequest>

响应示例

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truckAndDriverImportResponse version="0.1">
    <responseCode/>
    <importedTrucks>0</importedTrucks>
    <importedDrivers>0</importedDrivers>
    <bindDriverTrucks>0</bindDriverTrucks>
    <truckDetails>
        <truck sequence="1">
            <importStatus>FAILED</importStatus>
            <responseCodes>
                <responseCode>2002</responseCode>
            </responseCodes>
            <truckPlate>沪A99999</truckPlate>
        </truck>
        <truck sequence="2">
            <importStatus>FAILED</importStatus>
            <responseCodes>
                <responseCode>2002</responseCode>
            </responseCodes>
            <truckPlate>沪C99999</truckPlate>
        </truck>
    </truckDetails>
    <driverDetails>
        <driver sequence="1">
            <importStatus>FAILED</importStatus>
            <responseCodes>
                <responseCode>2002</responseCode>
            </responseCodes>
            <name>Mike</name>
            <mobile>12345678912</mobile>
        </driver>
        <driver sequence="2">
            <importStatus>FAILED</importStatus>
            <responseCodes>
                <responseCode>2002</responseCode>
            </responseCodes>
            <name>George</name>
            <mobile>98765431212</mobile>
        </driver>
    </driverDetails>
    <connects>
        <connect sequence="2">
            <importStatus>FAILED</importStatus>
            <responseCodes>
                <responseCode>2029</responseCode>
            </responseCodes>
            <mobile>98765431212</mobile>
        </connect>
    </connects>
</truckAndDriverImportResponse>

错误码解释

全局反馈代码

反馈代码 说明
0客户验证失败。
1不支持的请求版本。

单个请求反馈代码

反馈代码 说明
2001请求数据未通过验证。
2002需导入的数据已存在于系统中。
2010卡车类型不能为2 (两者均可) 。
2015车长未填。
2016无法匹配到系统中预定义的卡车车长或卡车核载量。
2020导入的司机名被改为了司机在手机端app上注册的姓名 (该返回码不会使导入失败) 。
2025邀请司机失败。
2026司机身份证号格式异常。
2027未找到对应司机。
2028未找到对应车辆。
2100未列出的其他错误。

API工具