企业自有审批单管理


企业自有审批单管理

企业自有差旅审批单同步

差旅审批单同步接口用于企业客户的IT系统将企业员工在自有的差旅审批系统创建并通过审批的审批单的内容同步给华为云数字化差旅系统,用于员工出差行程的管控。

出差申请单同步时,该接口携带的员工信息在系统中如果不存在则会新建(将发送提示更改密码邮件),如果存在则进行覆盖更新。

接口URL

/syntr

请求参数定义

参数名参数说明必选参数类型长度值举例备注
Version版本号YString103.0固定为3.0。
MsgID唯一标识YString1281000120150511190411000001企业账号+消息方向+YYYYMMDDHHMMSS+NNNNNN
CorpCode操作企业账号YString50企业账号
TenantUserId操作人帐号YString200HW_0000011、如果是系统维护,写"sysadmin"
2、如果是普通员工维护,写员工id
EnterpriseTrID企业客户系统的审批单编号YString32TA0315012116281300028
TrCreator申请人YEmployee
ApplyTime申请时间YString1420180811113019yyyyMMddHHmmss
CreateChannel创建渠道NString4ymz云梦泽使用
ApplyType申请类型YString11:为本人申请(默认)
2:为他人申请
3:为客户
ServiceMask服务项NString811111100格式为MMMMMMMM,
第一位标识国内机票
第二位标识国际机票
第三位标识国内酒店
第四位标识国际酒店
第五位标识国内火车票
第六位标识差旅用车
第七位标识国际用车
第八位标识国际火车
1表示开通,0表示不开通;若与企业开通的服务项冲突,以企业服务项为主,比如企业未开通国内机票服务,即时接口中第一位为1也不会生效。如果ServiceMask为空,则默认以企业服务项为主。
如11100000标识国内机票、国际机票、国内酒店业务开通。
TravelPurpose出差目的NString1000
DepartDate出发日期YString820180811yyyyMMdd
如果企业有差旅管控需求,出发时间、出发城市信息、差旅目的地、差旅出差人信息必填
DepartCityInfo出发城市信息YCityInfo
DestinationList差旅目的地YList<Destination>128
BusinessTravelerList差旅出差人信息YList<BusinessTraveler>256
EmployeeLevelStrategy多出行人差标执行策略NString8ORIGINALORIGINAL:多出行人时,每出行人均取原始差标执行
HIGHER:多出行人时,取出行人中较高差标执行
默认ORIGINAL
DeptApprover部门审批人NEmployee
ApproveStatus审批状态NString10:待审批
1:审批通过
3:权签驳回
4:自主撤销
5:已关闭
ApproveTime审批时间NString14yyyyMMddHHmmss精确到秒
Opinion审批意见NString50不管审批意见如何,发此消息,系统均认为审批通过
BenefitInfoList差旅受益信息NList<BenefitInfo>256
Remark备注NString512
ExtInfo扩展字段NString5120{"data":"123"}扩展字段,已经定义使用的字段名如下:
TR_Source
TripCount往返次数NInteger112有值时,值为正整数,且>1,此TR需要多次往返;无值时,此TR不需多次往返
TripList行程NList<Trip>256
BudgetAmount预算金额NString232000.00币种为人民币
BenefitShareType受益分摊类型NString10TA按审批单:TA,按人:PERSON

响应参数定义

参数名参数说明必选参数类型长度值举例备注
ResultCode返回码YString00表示成功,其他值为失败。
Description描述YStringSuccess描述信息,出错时为错误信息即错误原因。
EnterpriseTrID企业客户系统审批单编号YString32TA0315012116281300028
HtTrID华为云数字化差旅审批单编号YString32TA0315012116281300028根据EnterpriseTrID,系统将生成对应的HtTrID

样例

请求:

{
    "Version": "3.0",
    "MsgID": "0008120220929071248283828",
    "CorpCode": "0008",
    "TenantUserId": "sysadmin",
    "EnterpriseTrID": "TR2022092907124864692",
    "TrCreator": {
        "TenantUserId": "26215236521",
        "Name": "颜敏",
        "Surname": null,
        "GivenName": null,
        "Gender": null,
        "Type": null,
        "Nationality": null,
        "Birthday": null,
        "Mailbox": null,
        "Cellphone": null,
        "Telephone": null,
        "CertificateInfoList": [],
        "DeptNum": null,
        "DeptName": null,
        "DeptList": null,
        "EmployeeNum": "10234118",
        "EmployeeUID": "1011118",
        "Role": "2",
        "RoleGroupList": null,
        "EmployeeLevel": null,
        "EmployeeVIPLevel": null,
        "Remark": null,
        "NeedApproval": null
    },
    "ApplyTime": "20220929071248",
    "ApplyType": "1",
    "ServiceMask": "11100000",
    "TravelPurpose": "休假",
    "DepartDate": "20221004",
    "DepartCityInfo": {
        "CountryID": "156",
        "CityID": "156310100"
    },
    "DestinationList": [
        {
            "ArriveCityInfo": {
                "CountryID": "156",
                "CityID": "156320100"
            },
            "ArriveDate": "20221004",
            "LeftDate": "20221024"
        }
    ],
    "TripList": [
      {
        "FromCountryId": "156",
        "FromCityId": "156320100",
        "ArriveCountryId": "156",
        "ArriveCityId": "4403",
        "TakeoffDate": "20230714"
      }
    ],
    "BusinessTravelerList": [
        {
            "Customer": {
                "TenantUserId": null,
                "Name": "颜敏",
                "Surname": "",
                "GivenName": "",
                "Gender": "M",
                "Type": null,
                "Nationality": "156",
                "Birthday": "19871224",
                "Mailbox": "mafei@qq.com",
                "Cellphone": "15911111111",
                "Telephone": null,
                "CertificateInfoList": [
                    {
                        "CertificateType": "1",
                        "CertificateNum": "362321199808088866",
                        "ExpiredDate": null,
                        "IssuePlace": null,
                        "PassportIssueDate": null,
                        "PassportIssueCountry": null,
                        "PassportIssueProvince": null
                    }
                ],
                "DeptNum": null,
                "DeptName": "科技质量科",
                "DeptList": null,
                "EmployeeNum": "10215118",
                "EmployeeUID": "10215118",
                "Role": "2",
                "RoleGroupList": null,
                "EmployeeLevel": null,
                "EmployeeVIPLevel": null,
                "Remark": null,
                "NeedApproval": null
            },
            "FlightCabinLimit": "2",
            "FlightCabinDiscount": "7.98",
            "IairCabinLimit":"FIRST",
            "TrainCabinLimit": "100",
            "HotelPriceLimitInfoList": [
                {
                    "CityInfo": {
                        "CountryID": "156",
                        "CityID": "156320100"
                    },
                    "HotelLimitPrice": "400.00",
                    "HotelPayCurrency": "CNY"
                }
            ],
            "CarDailyAmountLimit":"-1",
            "CarSingleAmountLimit":"100",
            "CarExceedCurrency":"CNY",
            "CarExceedRideType":"COMFORTABLE,BUSINESS,LUXURY",
            "BenefitInfo": null
        }
    ],
    "EmployeeLevelStrategy": "ORIGINAL",
    "DeptApprover": null,
    "ApproveStatus": "1",
    "ApproveTime": null,
    "Opnion": null,
    "BenefitInfoList": [],
    "Remark": null,
    "EnterpriseFlag": null,
    "ExtInfo": null,
    "BudgetAmount": "2000.00"
}

响应:

{
    "ResultCode": "0",
    "Description": "成功",
    "EnterpriseTrID": "TR2022092907124864692",
    "HtTrID": "TA0412066979"
}

企业自有差旅审批单有效性状态同步

接口URL

/syntrvalidstatus

请求参数定义

参数名参数说明必选参数类型长度值举例备注
Version版本号YString103.0固定为3.0。
MsgID唯一标识YString1281000120150511190411000001企业账号+消息方向+YYYYMMDDHHMMSS+NNNNNN
CorpCode操作企业账号YString50企业账号
TenantUserId操作人帐号YString200HW_0000011、如果是系统维护,写"sysadmin"
2、如果是普通员工维护,写员工id
EnterpriseTrID企业客户系统的审批单编号YString32TA0315012116281300028
TrValidStatus审批单有效状态YString10:无效
1:有效
ReimburseStatus报销状态NString11:报销中
2:未报销
3:已报销

响应参数定义

参数名参数说明必选参数类型长度值举例备注
ResultCode返回码YString00表示成功,其他值为失败。
Description描述YStringSuccess描述信息,出错时为错误信息即错误原因。

请求:

{
    "Version": "3.0",
    "MsgID": "0008120220929071248283828",
    "CorpCode": "0008",
    "TenantUserId": "sysadmin",
    "EnterpriseTrID": "TA456438925",
    "TrValidStatus": "0",
    "ReimburseStatus": null
}

响应:

{
    "ResultCode": "0",
    "Description": null
}

企业自有差旅审批单修改同步

接口URL

/syntrupdate

请求参数定义

参数名参数说明必选参数类型长度值举例备注
Version版本号YString103.0固定为3.0。
MsgID唯一标识YString1281000120150511190411000001企业账号+消息方向+YYYYMMDDHHMMSS+NNNNNN
CorpCode操作企业账号YString50企业账号
TenantUserId操作人帐号YString200HW_0000011、如果是系统维护,写"sysadmin"
2、如果是普通员工维护,写员工id
EnterpriseTrID企业客户系统的审批单编号YString32TA0315012116281300028原始审批单号
ApplyTime申请时间YString1420110811113019yyyyMMddHHmmss
变更单的申请时间
CreateChannel创建渠道NString4ymz云梦泽使用
ApplyType申请类型NString11:为本人申请(默认)
2:为他人申请
变更单的申请类型
如无变更,则不填入
ServiceMask服务项NString811111100变更只允许增加服务项。
格式为MMMMMMMM,
第一位标识国内机票
第二位标识国际机票
第三位标识国内酒店
第四位标识国际酒店
第五位标识国内火车票
第六位标识差旅用车
第七位标识国际用车
第八位标识国际火车
1表示开通,0表示不开通;若与企业开通的服务项冲突,以企业服务项为主,比如企业未开通国内机票服务,即时接口中第一位为1也不会生效。
如果ServiceMask为空,则默认以企业服务项为主。
ExtInfoNString5120{"data":"123"}扩展参数
TravelPurposeNString1000调研出差目的
DepartDate出发日期NString820110811变更后的出发日期
允许早于原始TR单
如无变更,则不填入
DepartCityInfo出发城市信息NCityInfo变更后的出发城市信息
如无变更,则不填入。
但是如果UpdateMode为ALL时,CountryID和CityID不能为空
UpdateMode修改模式NString3ALL:全量修改需要修改行程和出行人、删除出行人
需传入参数。DestinationList,BusinessTravelerList
需全量传入数据。原行程、出行人没传即默认删除。
Remark备注NString50
DestinationList差旅目的地YList<Destination>128变更后的所有差旅目的地信息
必须包含原始TR单中差旅目的地信息,如不包含默认保留原始TR单中差旅目的地信息。
BusinessTravelerList差旅出差人信息YList<BusinessTraveler>256变更后的所有差旅出差人信息
必须包含原始TR单中差旅出差人信息。
相同出差人判断逻辑:
如果出差人信息中Loginname不为空,变更的出差人信息中Loginname与原始TR单中出差人信息Loginname相同,则视为相同出差人;
如果Loginname为空,
1、原始TR单中EmployeeUID为空,
如原始TR单中EmployeeNum存在,变更的出差人信息中EmployeeNum与原始TR单中出差人信息EmployeeNum相同,则视为相同出差人;
如原始TR单中EmployeeNum不存在,变更的出差人信息中Name与原始TR单中出差人信息Name相同,则视为相同出差人;
2、原始TR单中EmployeeUID不为空,
变更的出差人信息中EmployeeUID与原始TR单中出差人信息EmployeeUID相同,则视为相同出差人;
其他场景都视为不同的出差人。
EmployeeLevelStrategy多出行人差标执行策略NString10ORIGINALORIGINAL:多出行人时,每出行人均取原始差标执行
HIGHER:多出行人时,取出行人中较高差标执行
默认ORIGINAL
BenefitInfoList差旅受益信息NList<BenefitInfo>256
TripCount往返次数NInteger112有值时,值为正整数,且>1,此TR需要多次往返;无值时,此TR不需多次往返
BudgetAmount预算金额NString232000.00币种为人民币
TripList行程NList<Trip>256
ApproveStatus审批状态NString20:待审批,1:审批通过,3:权签驳回,4:自主撤销,5:已关闭,6:已删除
BenefitShareType受益分摊类型NString10TA按审批单:TA,按人:PERSON

响应参数定义

参数名参数说明必选参数类型长度值举例备注
ResultCode返回码YString00表示成功,其他值为失败。
Description描述YStringSuccess描述信息,出错时为错误信息即错误原因。

请求:

{
    "Version": "3.0",
    "MsgID": "0008120220929071248283828",
    "CorpCode": "0008",
    "TenantUserId": "sysadmin",
    "EnterpriseTrID": "Y122342390013",
    "ApplyTime": "20220919000000",
    "DepartDate": "20220921",
    "DestinationList": [
        {
            "ArriveCityInfo": {
                "CityChineseName": "天水市",
                "CityID": "156620500",
                "CountryChineseName": "中国",
                "CountryEnglishName": "Chinese",
                "CountryID": "156"
            },
            "ArriveDate": "20220921",
            "LeftDate": "20220923"
        }
    ],
    "TripList": [
      {
        "FromCountryId": "156",
        "FromCityId": "156320100",
        "ArriveCountryId": "156",
        "ArriveCityId": "4403",
        "TakeoffDate": "20230714"
      }
    ],
    "BusinessTravelerList": [
        {
            "Customer":{
              "TenantUserId":"26215236521",
              "Name":"张厦",
              "Surname":null,
              "GivenName":null,
              "Gender":"M",
              "Type":"0",
              "Nationality":"CN",
              "Birthday":null,
              "Mailbox":null,
              "Cellphone":"18755314839",
              "Telephone":"",
              "CertificateInfoList":[
                {
                  "CertificateType":"1",
                  "CertificateNum":"320025199009011111"
                }
              ],
              "DeptNum":"370000",
              "DeptName":"总经理办公室",
              "EmployeeNum":"10000044",
              "EmployeeUID":"ID012206210909253387",
              "Role":"2",
              "Remark":null
            },
            "FlightCabinLimit":"1",
            "FlightCabinDiscount": "7.98",
            "IairCabinLimit":"FIRST",
            "TrainCabinLimit":null,
            "HotelPriceLimitInfoList":[
            
            ],
            "CarDailyAmountLimit":"-1",
            "CarSingleAmountLimit":"100",
            "CarExceedCurrency":"CNY",
            "CarExceedRideType":"COMFORTABLE,BUSINESS,LUXURY",
            "BenefitInfo":null
        }
    ],
    "EmployeeLevelStrategy": "ORIGINAL",
    "TravelPurpose": "研发",
    "BudgetAmount": "2000.00"
}

响应:

{
    "ResultCode": "0",
    "Description": null
}

数据字典

BusinessTraveler

参数名参数说明必填参数类型长度值举例备注
Customer客户基本信息YEmployee
FlightCabinLimit舱位限定NString10:头等舱1:公务舱2:经济舱3:高端经济舱9:不允许乘坐

若不传值,以系统的企业配置为准。
FlightCabinDiscount国内机票舱位折扣NString5国内机票舱位折扣(数值为1-10,最多支持两位小数,比如九折则传入9,默认值为10)
IairCabinLimit国际机票舱位限定NString10:头等舱1:商务舱2:经济舱3:高端经济舱9:不允许乘坐

若不传值,以系统的企业配置为准。
TrainCabinLimit火车舱位限定NString30:G商务座,10:G特等座,20:D商务座,30:D特等座,35:G优选一等座、D优选一等座,40:G一等座,50:高级软卧,60:D动卧,70:D一等座,80:软卧,90:软座,95:G二等卧、D二等卧,98:G多功能座,100:G二等座,110:硬卧,115:D多功能座,120:D二等座,130:硬座,999:不允许乘坐

若不传值,以系统的企业配置为准。通过系统企业配置,企业可以自定义火车票舱位限定的顺序。
TrainForbiddenCabinList火车禁止预定舱位列表NList<String>256["30A","50B"]0:G/C商务座,10:G/C特等座,20:D商务座,30A:D特等座,30B:D高级动卧,30C:特等软座,35:优选一等座,40:G一等座,50A:一人软包,50B:高级软卧,60A:G/D一等双软,60B:G/D 一等卧,60C:G/D 二等双软,60D:G/D 动卧,70:D 一等座,80A:软卧,80B:一等双软/一等卧,80C:二等双软,80D:二等卧,90A:G软座,90B:软座,90C:软卧代软座,90D:一等软座,95:G/D 二等卧,98:G 多功能座,100:G 二等座,110:硬卧,115:D 多功能座,120:D 二等座,130:硬座。

若不传值,则代表不限制坐席,可以与TrainCabinLimit共同使用。
ItrainCabinLevel国际火车舱位限定NString10:商务座;1:一等座;2:二等座。若不传值,以系统的企业配置为准。
HotelPriceLimitInfoList酒店限价列表NList<HotelPriceLimitInfo>256若不传值,以系统的企业配置为准。
CarDailyAmountLimit单日用车金额限制NString23-1-1代表不限

若不传值,以系统的企业配置为准。
CarSingleAmountLimit单次用车金额限制NString23100-1代表不限

若不传值,以系统的企业配置为准。
CarExceedCurrency打车超标币种NString10CNY若不传值,以系统的企业配置为准。
CarExceedRideTypeList超标车型NList<String>4["ECONOMY","COMFORTABLE"]ECONOMY:经济型 COMFORTABLE:舒适型 BUSINESS:商务型 LUXURY:豪华型

超标车型不支持向下兼容
若不传值,以系统的企业配置为准。
ExtInfo出行人扩展信息NString5120{"settlementUnitCode":"123","settlementUnitName":""}
BenefitInfo差旅受益信息NBenefitInfo

HotelPriceLimitInfo

参数名参数说明必选参数类型长度值举例备注
CityInfo目的地信息YCityInfo与差旅审批单行程保持一致
HotelLimitPrice酒店住宿标准NString23100
HotelPayCurrency酒店住宿标准货币NString3CNY如不传,默认为CNY
FloatingControlMode浮动管控模式NString32STRICT:完全匹配(入住日期必须完全在浮动范围日期内才上浮);EASY:弱匹配(入住日期与浮动范围日期有交叉时,则全部入住日期上浮);DAILY:按匹配日期上浮(入住日期与浮动范围日期有交叉时,仅上浮交叉部分入住日期);不传默认不上浮
FloatingRuleList浮动规则列表NList<FloatingRule>256不传默认不上浮

Employee

参数名参数说明必填参数类型长度值举例备注
TenantUserId租户用户idNString200为企业的员工时必填;为企业的外部客户时不填
Name中文姓名YString100张三中文姓名与英文姓名必填其一如果国内出差,必填。
Surname英文姓NString100中文姓名与英文姓名必填其一如果国际出差,必填。
GivenName英文名NString100如果国际出差,必填。
Gender性别NString2M:男(默认)F:女
Type乘客类型NString20:成人(默认)1:儿童2:婴儿机票信息需携带,酒店则不做要求
Nationality国籍NString10156预订国际机票和国际酒店必填,填写系统国家ID。
Birthday生日NString1019881111YYYYMMDD
Mailbox邮箱NString200zhangsan@huawei.com为企业的员工时必填,用于接收初始密码
Cellphone手机号NString1613710001000
MobileCountryCode手机号归属国家区号NString1086:中国不带+号的手机号归属国家区号;若此字段未传值且Cellphone为中国大陆手机号,默认赋值为86:中国
Telephone座机电话NString128075528560000
CertificateInfoList证件信息NList<CertificateInfo>256
DeptNum主部门编号NString501234主部门视为默认部门
DeptName主部门名称NString200市场部主部门视为默认部门,部门名称必须唯一;如不唯一,可以考虑加上部门编码信息区分
EmployeeNum企业内部工号NString3212345
EmployeeUID企业内部用户IDNString20区别于工号外的员工唯一ID标识
RoleGroupList角色组列表NList<RoleGroup>256角色组列表
EmployeeLevel员工差旅级别NString21在系统中配置的按数字大小排序的级别。如不传递,则以系统系统中配置的员工差旅级别为准。
EmployeeVIPLevel员工VIP级别NString21:VIP不支持员工VIP标识传递,仅供查询接口(/employee/detail/query)使用。
Remark备注NString100100字以内
NeedApproval是否需审批NString10:不需要审批1:需要审批对应后台“无TR代预定”标识。为0时,“无TR代预定”设置为1,支持本人无TR或者给他人无TR预定。为1时,“无TR代预定”设置为缺省值0,仅支持本人关联TR预定
ExtInfo扩展字段NString5120{"data":"123"}同步时务必保证差旅平台内已创建所有扩展字段类型标识和中文名称;填写格式为{"扩展字段类型标识":"扩展字段类型值"}
BaseLocationBase地信息NCityInfoBase地信息
PlatformUserId平台用户编号NString200仅供新增(/adduserinfo),修改(/modiuserinfo),查询接口(/employee/detail/query)使用。同企业下该值唯一,若员工平台用户编号已存在则不支持修改。

FloatingRule

参数名参数说明必选参数类型长度值举例备注
StartDate开始时间YString40102月份日期,数字格式,多条数据存在时,不能存在交集
EndDate结束时间YString40304月份日期,数字格式,多条数据存在时,不能存在交集
FloatingMode浮动模式YString32PERCENTAGEPERCENTAGE:百分比,RELATIVE_AMOUNT:固定额度
FloatingValue浮动值YString4-1、20浮动值,固定金额或者比例值,-1表示不限,20表示上浮20%

Certificate

参数名参数说明必填参数类型长度值举例备注
CertificateType证件类型NString211:身份证,2:护照,3:其他,4:台湾通行证,5:回乡证,6:港澳通行证,7:台胞证,8:户口簿,9:出生证明,10:港澳台居民证,11:外国人永久居留证,12:军人证,13:旅行证;默认为其他
CertificateNum证件号码YString12835222519771081001X
ExpiredDate有效期NString820180811证件类型为2(护照)时建议填写,作为护照失效日期。格式为yyyyMMdd
PassportIssueDate护照签发日期NString1420180811113019格式为yyyyMMddHHmmss
PassportIssueCountry护照签发国家NString3156Itravel系统国家码。
PassportIssueProvince护照签发省份NString100字符串,比如"Jiangsu"。

RoleGroup

参数名参数说明必选参数类型长度值举例备注
Name角色组名NString200职级为空时忽略该角色组,创建人必填
RoleList角色列表NList<Role>256为空时忽略该角色组,创建人必填

Role

参数名参数说明必选参数类型长度值举例备注
Name角色名NString200科长、职员为空时忽略该角色,创建人必填

CityInfo

参数名参数说明必填参数类型长度值举例备注
CountryID国家或区域IdYString3156Itravel系统国家码
CityID城市IdYString9156310100Itravel系统城市码

Destination

参数名参数说明必填参数类型长度值举例备注
ArriveCityInfo到达城市信息YCityInfo
ArriveDate到达时间YString820130423yyyyMMdd同步TR时,如果没有明确的城市到离时间,则填出差行程的起始和结束时间
LeftDate离开时间YString820130424yyyyMMdd

Trip

参数名参数说明必选长度参数类型值举例备注
FromCountryId出发国IDY3String
FromCityId出发城市IDY9String100
ArriveCountryId目的国IDY3String
ArriveCityId目的城市IDY9String
TakeoffDate出发日期 yyyyMMddY8String

BenefitInfo

参数名参数说明必填参数类型长度值举例备注
BenefitType受益类型NString10:成本中心1:项目2:部门若不传,默认为成本中心
CostCenterNum成本中心编码NString1005678
CostCenterName成本中心名称NString200企业侧的成本中心名称
ProjectCode项目编码NString1001234为项目时受益项目编码
ProjectName项目名称NString200为项目时受益项目名称
DeptNum部门编码NString501234为部门时受益部门编码
DeptName部门名称NString200为部门时受益部门名称
Percentage分摊比例NString6500-100之间的数字。所有受益成本中心和项目的分摊比例相加必须等于100
Approver权签人NEmployeeHW_000001
ApproveTime审批时间NString1420130423101011yyyyMMddHHmmss
CostCenterOne一级成本中心或项目编码NString100
CostCenterTwo二级成本中心或项目编码NString80
ExtInfo扩展字段NString5120{"data":"123"}扩展参数