预约单创建
接口地址
/macan/reservation/create
变更历史
2024-11-07 改动说明
- 由于需要支持多项目同时预约,因此废弃了 idContent 和 contentType,新增了 contentList 和 idOrder 参数。
- 如果根据订单整单预约,之前传参方式是 contentType 传 999,idContent 传订单 id,改造之后只需要传 idOrder 参数。
- 如果预约业务分类,之前传参方式是 contentType 传 17,idContent 传业务分类 id,改造之后contentList 中只能传一个 ReservationContentInfo 对象。
- 如果是预约项目,之前传参方式是 contentType 传 0,idContent 传门店级的项目 id,改造之后 contentList 中可以传多个 ReservationContentInfo 对象。
- 新增支持传入 idCar,会校验 idCar 对应车辆是否归属 idCustomer,会校验 idCar 对应的车牌是否和传入的一致
- 新增错误码和错误提示,之前接口报错的时候统一在最外层的 mesage 输出错误信息,本次改造后会在第二层的 code 输出错误码,第二层的 message 输出错误信息。注意:如果是参数校验类型的错误,还是会在第一层的 message 进行输出校验异常信息。
入参
字段说明
名称 | 类型 | 必填 | 示例 | 描述 |
idCustomer | Number | 是 | 11936696944233046090 | 预约客户的唯一标识。 |
idOwnOrg | Number | 是 | 11936696944233044211 | 预约门店的唯一标识。 |
idEmployee | Number | 否 | 11936696944233044232 | 预约的服务顾问唯一标识。 |
idCategoryGroup | Number | 否 | 0 | 预约分组唯一标识。当预约设置为整体预约时,可以不传;否则必传预约设置中的分组唯一标识。 |
reserveDate | String | 是 | "2024-06-15" | 预约的日期。 |
reserveStart | String | 是 | "2024-06-15 13:00:00" | 预约的开始时间。 |
reserveEnd | String | 是 | "2024-06-15 14:00:00" | 预约的结束时间。 |
idCar | Number | 否 | 11936696944233044239 | 预约客户的唯一标识。会校验车辆是否归属于预约客户。 |
fullCarNo | String | 否 | "苏A12345" | 预约车辆的完整车牌。 |
carModel | String | 否 | "标致 4008 1.6T AMT 2017 4008" | 预约车辆的车型。 |
idContent | Number | 是 | 123456 | 预约内容的唯一标识。例如:订单的唯一标识,门店级项目的唯一标识,业务分类的唯一标识。即将废弃,2024-11-21之前能够兼容,2024-11-21 后不再使用。 |
contentType | Number | 是 | 999 | 预约内容的类型。0-项目,17-业务分类,999-订单。即将废弃,2024-11-21之前能够兼容,2024-11-21 后不再使用。 |
idOrder | Number | 否 | 8501245 | 根据订单预约时,订单的唯一标识。如果传了该字段,即代表根据订单整单预约,contentList字段不起作用。等价于之前contentType=999时,对应idContent的值。2024-11-08 后生效。 |
contentList | ReservationContentInfo[] | 否 | | 预约内容列表,可以支持的预约内容包含:业务分类、项目。不支持同时预约业务分类和项目。不支持预约多个业务分类。最多可同时预约10个项目。2024-11-08 后生效。 |
reserveMemo | String | 否 | "下午两点到店" | 预约备注信息。 |
ReservationContentInfo
名称 | 类型 | 必填 | 示例 | 描述 |
contentType | Number | 是 | 0 | 预约内容类型。0-项目,17-业务分类。 |
idContent | Number | 是 | 1193669 | 预约内容的唯一标识。例如:订单的唯一标识,门店级项目的唯一标识,业务分类的唯一标识。 |
JSON示例
出参
字段说明
名称 | 类型 | 示例 | 描述 |
code | Number | 200 | 200-业务成功 400-业务异常 500-接口内部异常 |
data | GatewayResponse | | |
message | String | "SUCCESS" | SUCCESS-正常返回 其他则是异常响应的错误提示 |
GatewayResponse
名称 | 类型 | 示例 | 描述 |
data | Number | 123456 | 预约单的唯一标识。 |
message | String | "OK" | OK-业务接口请求成功 |
JSON示例
正常响应
异常响应
错误码
错误码 | 错误码提示 | 解决方案 |
0 | OK | |
60021001 | 门店预约配置异常 | 开启门店预约配置并设置预约库存。 |
60021002 | 门店预约配置未启用 | 开启门店预约配置。 |
60021003 | 预约车辆不存在 | idCar 在系统中不存在,检查是否传错或车辆已被删除。 |
60021004 | 预约客户不存在 | idCustomer 在系统中不存在。检车是否传错或客户已被删除。 |
60021005 | 预约客户手机号为空 | 系统中的建档客户未维护手机号,需要先维护好客户的手机号码。 |
60021006 | 预约的订单信息不存在 | idOrder 在系统中不存在。 |
60021007 | 预约客户非预约订单的下单人 | 订单对应的下单人和 idCustomer 不一致。 |
60021008 | 订单当前状态不支持预约 | 只有待服务的订单支持预约。 |
60021009 | 订单退款中无法预约 | 订单正在退款中,无法进行预约。 |
60021010 | 预约项目不存在或已停用 | 检查预约项目是否是当前门店的,以及系统中是否有此项目。 |
60021011 | 预约业务分类不存在或已停用 | 检查业务分类是否存在。 |
60021012 | 预约车辆不属于预约客户 | idCar 对应的车主和传入的 idCustomer 不一致,车辆可能发生了过户操作。 |
60021013 | 预约分组不存在或已删除 | 检查门店预约设置是否被修改过,或检查传入的 idCategoryGroup 是否正确 |
60021014 | 预约车辆车牌号码与系统中的不匹配 | idCar 对应的车牌号码与传入的 fullCarNo 不一致,车辆可能修改过车牌。 |