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 备注

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工具