### 3.4.6 天气预报
#### (1) 功能说明
支持国内国外5万个城市、十项天气数据、七天内的天气预报查询。自然语言理解、300+天气实体识别、多轮对话实现天气预报智能化查询。返回给用户各项天气数据。
#### (2) 接口说明
**请求方法**
* POST
**请求地址**
* http://api.ruyi.ai/v1/message
**请求参数说明**
|参数名| 参数类型| 是否必须| 参数说明
|:---|:---|:---|:---
|q |String|Yes|自然语言表达,例如“今天上海的天气如何"
|app_key|String|Yes| 应用开发者秘钥,注册开发者后台账号,建立虚拟助理后获得
|user_id |String |Yes |用户唯一标识,便于支持个性化语义解析。建议开发者使用 UUID 字符,且不同用户必须用不同的 user_id,防止意图串。
|reset_session|Boolean|No|如果为true,重置当前对话session,忘记短期对话记忆。
|context|String|No|用户上下文信息,json字符串格式
**Context参数说明**
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| location | JSON Object | No | 用户当前位置,`Location`实体的一个实例:`location:{"latitude": "31", "longitude": "121"}`,分别传入经度和纬度数值。 |
| reference\_time | Long | No | 用户当前参照时间,unix时间毫秒 |
| timezone | String | No | 用户当前时区的标准ID字符串, 例如`"Asia/Shanghai"` |
|ip|String|No|用户IP|
**Context范例**
> 在开发者后台意图处理中,通过将实体 **_值_** 设置为“#ruyi_default_context.user.location.latitude”,即可获得用户当前位置维度。
JSON示例。
```json
{
"reference_time": 1447499684824,
"timezone": "Asia/Shanghai",
"location": {
"latitude": "31.215",
"longitude": "121.609"
}
}
```
#### (3) 返回说明
**返回参数说明**
|名称 |类型| 说明
|:---|:---|:---
|code |Integer | 返回代码
|msg | String |返回代码描述
|parameters|JSON Object |解析到的实体以及服务说明
|action|String|触发器名称
|name| String|匹配的意图名称
|result | JSON Object| 接口返回内容
|outputs| Array| 服务输出结果,微信端使用 type 类型为 wechat. 开头的内容;硬件端收到所有内容,依据需求解析使用
**返回代码说明**
|返回代码 |错误类型|说明
|:---|:---|:---
|0/200 |成功 |请求成功
|400 |无效请求 |某些必需参数缺失或参数值错误,详见msg字段
|401 |未授权 |授权失败,app_key 缺失或错误
|403 |请求被禁止|有效请求,但服务拒绝响应,请联系contact@ruyi.ai
|408 |请求超时 |请求响应超时,一般响应时间设置为2000ms以内
|429 |短时间内大量访问 |短时间内请求数过多
|500 |内部错误 |服务处理异常
|503 |服务不可用|服务异常或正在维护
#### (4)请求示例
**请求范例**
_今天上海的天气如何;那明天呢;那北京呢_
_今天上海的湿度怎么样_
_今天北京紫外线强吗_
_今天北京有没有雾霾呀_
_今天上海会下雨吗_
**请求示例**
* http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=今天上海天气如何
返回结果
```json
{
"code": 0,
"msg": "ok",
"result": {
"_text": "今天上海天气如何",
"msg_id": "9867c8a0-c404-4051-a802-52f0c56bb52d",
"intents": [{
"parameters": {
"location": "上海",
"date": "2016-12-15",
"service": "weather",
"location_raw": "上海"
},
"action": "sys.action.weather2",
"name": "以日期和城市查询天气",
"result": {
"month_day": "12月15日",
"week_day": "星期四",
"suggestion": {
"air": {
"brf": "较差",
"txt": "气象条件较不利于空气污染物稀释、扩散和清除,请适当减少室外活动时间。"
},
"comf": {
"brf": "较舒适",
"txt": "白天虽然天气晴好,但早晚会感觉偏凉,午后舒适、宜人。"
},
"cw": {
"brf": "较适宜",
"txt": "较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。"
},
"drsg": {
"brf": "较冷",
"txt": "建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。"
},
"flu": {
"brf": "易发",
"txt": "昼夜温差很大,易发生感冒,请注意适当增减衣服,加强自我防护避免感冒。"
},
"sport": {
"brf": "较适宜",
"txt": "天气较好,但考虑气温较低,推荐您进行室内运动,若户外适当增减衣物并注意防晒。"
},
"trav": {
"brf": "适宜",
"txt": "天气较好,气温稍低,会感觉稍微有点凉,不过也是个好天气哦。适宜旅游,可不要错过机会呦!"
},
"uv": {
"brf": "中等",
"txt": "属中等强度紫外线辐射天气,外出时建议涂擦SPF高于15、PA+的防晒护肤品,戴帽子、太阳镜。"
}
},
"aqi": {
"city": {
"aqi": "93",
"co": "1",
"no2": "77",
"o3": "32",
"pm10": "85",
"pm25": "69",
"qlty": "良",
"so2": "25"
}
},
"day_weather": {
"astro": {
"sr": "06:45",
"ss": "16:53"
},
"cond": {
"code_d": "100",
"code_n": "100",
"txt_d": "晴",
"txt_n": "晴"
},
"date": "2016-12-15",
"hum": "57",
"pcpn": "0.0",
"pop": "0",
"pres": "1031",
"tmp": {
"max": "7",
"min": "2"
},
"uv": "4",
"vis": "10",
"wind": {
"deg": "327",
"dir": "西北风",
"sc": "微风",
"spd": "6"
},
"condition": "晴"
},
"weatherEntity": "",
"is_weather": "no",
"basic": {
"city": "上海",
"cnty": "中国",
"id": "CN101020100",
"lat": "31.213000",
"lon": "121.445000",
"update": {
"loc": "2016-12-15 19:51",
"utc": "2016-12-15 11:51"
}
},
"text": "上海 12月15日 星期四\\n晴\\n2℃~7℃ \\nPM2.5: 69 (良)\\n白天虽然天气晴好,但早晚会感觉偏凉,午后舒适、宜人。 ",
"type": "dialog"
},
"outputs": [{
"type": "wechat.text",
"property": {
"text": "上海 12月15日 星期四\\n晴\\n2℃~7℃ \\nPM2.5: 69 (良)\\n白天虽然天气晴好,但早晚会感觉偏凉,午后舒适、宜人。 "
}
}, {
"type": "dialog",
"property": {
"text": "上海 12月15日 星期四,晴,2℃至7℃ ,P M2.5是 69 (良) ",
"emotion": "calm"
}
}],
"score": "1.0",
"scoreColor": "c4",
"is_match": 1,
"id": "86499987-5807-4f3b-833a-d01f4dfe4ef1"
}],
"meta_process_milliseconds": 847
}
}
```
**详细参数说明**
|名称 |类型| 说明
|:---|:---|:---
|service| String |服务名称
|month_day|String|日期
|week_day|String |星期
|suggestion|dictionary|生活指数,仅限国内城市|
|air|String|空气质量指数
|brf|String |简介
|txt|String |详细描述
|comf|String|舒适度指数
|cw|String |洗车指数
|drsg|String |穿衣指数
|flu|String |感冒指数
|sport|String |运动指数
|trav|Stirng|旅游指数
|uv|String |紫外线指数
|daily_forecast|String |天气预报
|vis|String |能见度
|wind|String |风力情况
|deg|String |风向(360度)
|sc|String |风力等级
|spd|String | 风速
|dir|String |风向
|pres|String |气压
|astro|String |天文指数
|mr|String |月升时间
|sr|String |日出时间
|ss|String |日落时间
|ms|String |月落时间
|cond|String |天气状况
|code_n |String |夜间天气状况代码
|code_d|String |白天天气状况代码
|txt_n|String | 夜间天气状况描述
|txt_d|String | 白天天气状况描述
|tmp|String |温度
|max|String |最高温度
|min|String |最低温度
|pop|String |降水概率
|date|String |日期
|pcpn|String |降水量
|hum|String |相对湿度
|aqi|String |AQI
|city|String |城市名
|no2|String |NO2
|pm10|String |PM1010
|o3|String |O3
|qlty|String |空气质量,共六个级别,分别:优,良,轻度污染,中度污染,重度污染,严重污染
|pm25|String |PM2.5
|so2|String |SO2
|co|String |CO
|basic|String |基本信息
|prov|String |城市所属省份(仅限国内城市)
|lat|String |纬度
|cnty|String |国家
|update|String |更新时间
|utc|String |UTC时间
|loc|String |当地时间
|id|String |城市ID
|lon|String |经度
|now|String |实况天气
|fl|String |体感温度
- 1. 海知智能第三方技能插件开放平台概述
- 2. 快速接入API
- 2.1 硬件接口调用
- 2.2 快速接入微信
- 2.3 API接入常见问题
- 3. 技能插件
- 3.1 基础能力类
- 顶级过滤器
- 用户知识图谱
- 机器人档案
- 通用闲聊
- 儿童闲聊
- Smart Reply
- 轻量闲聊
- 3.2 语音游戏类
- 成语接龙
- 词汇乐园
- 词语接龙
- 鹦鹉学舌
- 动脑猜猜
- 挑战单词
- 冒险世界
- 猜猜我是谁
- 阿拉丁学诗词
- 猫猫托管所
- 漂流瓶
- 诗词大会
- 国学大会
- 我爱猜歌名
- 我在看着你
- 灯谜猜猜
- 3.3 休闲娱乐类
- 星座运势
- 悦耳声音
- 幸运签
- 调教机器人
- 娱乐推送
- 3.4 生活服务类
- 黄历
- 计算器
- 古诗词
- 时间询问
- 翻译类技能
- 天气资讯
- 日程创建
- 日程创建指令
- 闹钟
- 食材知识
- 冥想音乐
- 格言
- 每日英语
- 汉语词典
- 豆果菜谱
- 古文翻译
- 3.5 音频点播类
- 喜马拉雅FM
- 新闻广播
- 音乐点播
- Smart Music
- 儿童听听
- Smart Audio
- 儿童笑话
- 点播控制指令
- 3.6 视频点播类
- 影视点播
- 3.7 百科知识类
- 人物百科
- 百科问答
- 实时百科
- 3.8 体育健康类
- 五分钟健身
- 4. 开发者初级教程
- 4.1 开通服务
- 4.2 创建机器人
- 4.3 设置机器人
- 4.4 获取技能插件
- 4.5 让机器人学会聊天
- 4.6 导入知识库
- 4.7 多种问答形式
- 4.8 数据统计
- 4.9 粉丝管理
- 5. 开发者中级教程
- 5.1 词典运用
- 5.2 意图处理
- 5.3 暗号使用
- 5.4 事件触发
- 5.5 优先级
- 5.6 触发器
- 5.7 快捷键
- 5.8 意图报错
- 6. 开发者高级教程
- 6.1 handlebars模版语言
- 6.2 JavaScript简单介绍
- 6.3 JavaScript使用说明
- 6.4 JavaScript使用案例
- 6.5 JavaScript常见问题
- 7. 快速发布技能
- 8. 帮助中心
- 8.1 常见概念
- 8.2 帮助视频
- 8.3 联系我们