### 3.4.9 闹钟 #### (1)功能说明 通过语义指令,实现闹钟设置、更改、删除操作,硬件端通过``operation``解析具体操作,支持绝对时间、相对时间闹钟设置,如:明天下午一点、360分钟后等;支持永不重复、每天、每周、每月、每年、工作日等重复模式;支持更改、推迟、提前闹钟;支持删除指定闹钟、删除全部闹钟。 #### (2) 接口说明 **请求方法** * POST **请求地址** * http://api.ruyi.ai/v1/message **请求参数说明** |参数名 |参数类型 | 是否必须 |参数说明 | :-----| :---| :---:|:----- |q |String| 是| 自然语言表达,例如“设置明天早上八点的闹钟”等 |app_key| String|是 |应用开发者秘钥,注册开发者后台账号,建立虚拟助理后获得 |user_id |String| 是 |用户唯一标识,便于支持个性化语义解析。建议开发者使用 UUID 字符,且不同用户必须用不同的 user_id,防止意图串。 #### (3) 返回说明 **返回参数说明** 名称 | 类型| 说明 ---|------|--- service | string|服务名称 operation | string|操作 time| string|时间(ms) timedelta| string|时间差(ms) duration| string|时间段(ms) repeat| string|循环模式 ##### operation操作说明 operation | 说明 ---|--- set | 设置 update | 更改 delete|删除 flush|清空 ##### repeat循环模式说明 repeat| 说明 ---|--- repeatType| 循环类型 timestampOfTheDay| 当日时间(ms) ##### repeatType循环类型说明 repeatType| 说明 ---|--- daily| 每日 weekly| 每周 monthly| 每月 weekday| 工作日 restday|休息日 yearly|每年 **返回代码说明** |返回代码 |错误类型|说明 |:---|:---|:--- |0/200 |成功 |请求成功 |400 |无效请求 |某些必需参数缺失或参数值错误,详见msg字段 |401 |未授权 |授权失败,app_key 缺失或错误 |403 |请求被禁止|有效请求,但服务拒绝响应,请联系contact@ruyi.ai |408 |请求超时 |请求响应超时,一般响应时间设置为2000ms以内 |429 |短时间内大量访问 |短时间内请求数过多 |500 |内部错误 |服务处理异常 |503 |服务不可用|服务异常或正在维护 #### (4) 请求示例 **请求范例** 1、设置闹钟 _设置明天早上八点的闹钟_ _定每天下午五点的闹钟_ _设置工作日早上六点的闹钟_ _定两小时后的闹钟_ 2、修改闹钟 _把明天早上八点的闹钟延后两小时_ _把明天早上八点的闹钟改成明天早上十点_ _把明天早上八点的闹钟调整为每天早上十点_ 3、删除闹钟 _删除所有闹钟_ _删除明天早上八点的闹钟_ _删除工作日晚上五点的闹钟_ **参数解析** **场景**|**闹钟意图**|**需要解析的字段** :-----:|:-----:|:-----: 设置闹钟|√设置\_绝对时刻|operation,time 设置闹钟|√设置\_循环时间|operation,repeat 设置闹钟|√设置\_相对时间(倒计时)|operation,duration 设置闹钟|√设置\_相对时间|operation,timedelta 删除闹钟|√删除\_循环时间|operation,repeat 删除闹钟|√删除\_绝对时刻|operation,time 删除闹钟|√删除\_所有闹钟|无 删除闹钟|√2删除\_所有闹钟\_确认|operation 删除闹钟|√2删除\_所有闹钟\_取消|无 删除闹钟|√删除\_模糊删除闹钟|无 调整闹钟时间|√循环时间A>循环时间B|operation,repeat1,repeat2 调整闹钟时间|√绝对时刻A>绝对时刻B|operation,time1,time2 调整闹钟时间|√循环时间>绝对时刻|operation,time 调整闹钟时间|√绝对时刻>循环时间"|operation,repeat,time 调整闹钟时间|√绝对时刻>前后移|operation,timedelta,time 调整闹钟时间|√循环时间>前后移|operation,timedelta,repeat 引导|不明确\_你能闹钟吗|无 **请求示例** 设置闹钟请求示例"设置明天早上八点的闹钟" * http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=设置明天早上八点的闹钟 返回结果 ```json { "_text": "设置明天早上八点的闹钟", "msg_id": "b26be758-d06e-4260-885e-e28e207a4411", "intents": [ { "parameters": { "time_raw": "明天早上八点", "time": "1495843200000", "operation": "set", "set": "set", "alarm": "ALARM", "any": "", "service": "alarm" }, "action": "dialog", "name": "√设置_绝对时刻", "result": { "text": "好的,已为您设置明天早上八点的闹钟!", "type": "dialog" }, "outputs": [ { "type": "wechat.text", "property": { "text": "好的,已为您设置明天早上八点的闹钟!" } }, { "type": "dialog", "property": { "text": "好的,已为您设置明天早上八点的闹钟!", "emotion": "positive" } } ], "score": "1.0", "scoreColor": "c4", "is_match": 1, "id": "93ae9452-26f4-4482-a898-89824156a6f1" } ], "meta_process_milliseconds": 64 } ``` **请求示例** 修改闹钟请求示例"把明天早上八点的闹钟延后两小时" * http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=把明天早上八点的闹钟延后两小时 返回结果 ```json { "_text": "把明天早上八点的闹钟延后两小时", "msg_id": "bb8ff487-3616-418a-982d-4282933315c7", "intents": [ { "parameters": { "time": "1495843200000", "time_raw": "明天早上八点", "timedelta_raw": "延后两小时", "timedelta": "7200000", "operation": "update", "service": "alarm" }, "action": "dialog", "name": "√绝对时刻>前后移", "result": { "text": "好的,已为您把明天早上八点的闹钟延后两小时!", "type": "dialog" }, "outputs": [ { "type": "wechat.text", "property": { "text": "好的,已为您把明天早上八点的闹钟延后两小时!" } }, { "type": "dialog", "property": { "text": "好的,已为您把明天早上八点的闹钟延后两小时!", "emotion": "positive" } } ], "score": "1.0", "scoreColor": "c4", "is_match": 1, "id": "a800045f-a5f7-4915-b7ee-bde611f9a416" } ], "meta_process_milliseconds": 119 } ``` **请求示例** 删除闹钟请求示例"删除工作日晚上五点的闹钟" * http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=删除工作日晚上五点的闹钟 返回结果 ```json { "_text": "删除工作日晚上五点的闹钟", "msg_id": "21183b77-16e0-4f5f-8706-0abf99b5d7af", "intents": [ { "parameters": { "operation": "delete", "repeat": "[{\"repeatType\":\"WEEKDAY\",\"timestampOfTheDay\":61200000}]", "repeat_raw": "工作日晚上五点", "delete": "delete", "alarm": "ALARM", "service": "alarm" }, "action": "dialog", "name": "√删除_循环时间", "result": { "text": "已为您删除工作日晚上五点的闹钟!", "type": "dialog" }, "outputs": [ { "type": "wechat.text", "property": { "text": "已为您删除工作日晚上五点的闹钟!" } }, { "type": "dialog", "property": { "text": "已为您删除工作日晚上五点的闹钟!", "emotion": "calm" } } ], "score": "1.0", "scoreColor": "c4", "is_match": 1, "id": "f8149216-25b9-4f79-99b9-a1e24e2c7856" } ], "meta_process_milliseconds": 119 } ```