reservation.book
reservation_book[需要登录] 体检预约:按 planId 取出项目,交给伙伴接口下单。传 contactId 时直接使用该体检人。没有 contactId 时,支持 elicitation form 的客户端先展示全部常用体检人和新建入口;选择完整联系人后直接进入协议授权,选择信息不完整的联系人时返回第二段补全表单并更新原联系人,选择新建时返回第二段表单填写姓名、手机号、与本人关系、证件类型、证件号、出生日期、性别、婚否和授权。出生日期和性别仅在非身份证时必填,服务端在提交后校验,提交后保存为常用体检人。不支持 elicitation form 的客户端返回 contactMethodRequired,用户可以选择在对话中填写或打开 H5 体检人页面,不强制跳转。选择在对话中填写后返回 contactRequired,包含待填字段和 contactDraftId;Agent 按字段逐项询问,每次只问一项,用户确认后把各字段、contactDraftId 和 consent=true 一起传回,服务端校验并保存联系人后继续预约。证件号会出现在当前对话中,可能被客户端记录;该隐私提示只向用户提示一次,提交后 Agent 不复述、不回显证件号,只引用 contactId。选择 H5 后返回 contactEntryUrl,用户添加体检人后调用 contact_list 获取 contactId,再继续预约。不要主动要求用户发送身份证号;用户已选择在对话中填写时,可以继续询问证件号。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId,客户端不能提交项目。预约前会通过 input_required 展示本次需要的动态协议;非表单客户端返回 consentRequired,用户确认后把确认话术原文作为 consentText 传入。返回 contactId、serviceid 和 orderEntryUrl;保存联系人时同时返回 contactid 和 contactSaved,contactSaved=false 表示预约已成功但联系人保存失败。用户在 H5 用手机号登录后可看到自己的订单,并可支付、改期/取消、查看检前注意事项、查看体检报告。渠道需要用户支付时返回支付链接 payUrl 和支付提示;客户端支持 elicitation URL 时,服务端通过 URL 模式打开 payUrl,最终结果仍返回 orderEntryUrl,客户端不支持时直接返回 payUrl 和 orderEntryUrl。客户端可使用 payUrl 生成二维码展示给用户。payUrl 有效期为订单创建后 30 分钟。重复预约命中已有未支付订单时,返回原 serviceid 和该订单的 payUrl。status 表示支付状态,预约状态以 rsvStatus 为准。本体: reservation → Action: book
鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| IDType | No | ||
| gender | No | ||
| planId | Yes | ||
| consent | No | ||
| marital | No | ||
| payType | No | ||
| birthday | No | ||
| relation | No | ||
| timespan | No | ||
| vendorid | Yes | ||
| contactId | No | ||
| contactid | No | ||
| customerID | No | ||
| consentText | No | ||
| customerName | No | ||
| hospitalCode | Yes | ||
| contactMethod | No | ||
| contactDraftId | No | ||
| customerMobile | No | ||
| appointmentDate | Yes |