首页 > 技术文章 > 天气服务API文档 第1版

Dennis-mi 2017-12-30 10:45 原文

HTTP接口设计文档

此文档为开发HTTP接口的设计文档,目前用于提供天气查询的相关接口。

测试的时候使用
URL=http://www.dennisthink.com/test/api/weather/v1/

正式使用的时候
URL=http://www.dennisthink.com/api/weather/v1/

1 获取服务版本接口

GET
http://www.dennisthink.com/api/weather/v1/get_version 

请求的json(无)

返回的json

{
    "code": 0,
    "message": "SUCCEED",
    "body": {
        "version": "0.1.0"
    }
}

2 根据编号查询天气

GET 
URL: http://www.dennisthink.com/api/weather/v1/get_weather_by_city_code?token=1234567890ABCDEF&&city_code=10029111810&&date=2018-03-01

请求参数

token:向我申请
city_code:城市编号
date:日期

返回的json:

{
    "code": 0,
    "message": "SUCCEED",
    "body": {
        "city_code": "10029111810",
        "city_name": "番禺",
        "weather": "小雨",
        "high_temperature": "26℃",
        "low_temperature": "17℃",
        "air_quality": "小雨",
        "sun_up": "06:37",
        "sun_down": "18:35"
    }
}

3 根据名称查询天气

GET 
URL: http://www.dennisthink.com/api/weather/v1/get_weather_by_city_name?token=1234567890ABCDEF&&city_name=海淀&&date=2018-03-01

请求的json

token:向我申请
city_name:城市名称,目前仅支持中文
date:日期

返回的json:

{
    "code": 0,
    "message": "SUCCEED",
    "body": {
        "city_code": "10011111410",
        "city_name": "海淀",
        "weather": "晴转多云转多云转晴",
        "high_temperature": "10℃",
        "low_temperature": "1℃",
        "air_quality": "晴转多云转多云转晴",
        "sun_up": "06:33",
        "sun_down": "18:17"
    }
}

4 获取城市编号

GET 
URL: http://www.dennisthink.com/api/weather/v1/get_city_code?token=1234567890ABCDEF&&city_name=朝阳

请求的json

token:向我申请
city_name:城市名称,目前仅支持中文

返回的json:

{
    "code": 0,
    "message": "SUCCEED",
    "body": [
        {
            "city_code": "10011111110",
            "city_name": "",
            "country": "中国",
            "province": "北京市",
            "city": "市辖区",
            "county": "朝阳区",
            "addr": "朝阳"
        },
        {
            "city_code": "10016201417",
            "city_name": "",
            "country": "中国",
            "province": "辽宁省",
            "city": "辽阳市",
            "county": "朝阳市",
            "addr": "朝阳县"
        },
        {
            "city_code": "10017111410",
            "city_name": "",
            "country": "中国",
            "province": "吉林省",
            "city": "长春市",
            "county": "朝阳区",
            "addr": "朝阳"
        }
    ]
}

5 获取天气建议

GET 
URL: http://www.dennisthink.com/api/weather/v1/get_weather_suggestion_by_city_code?token=1234567890ABCDEF&&city_code=10028201517&&date=2018-03-01

请求的json

token:向我申请
city_code:城市编号
date:日期

返回的json:

{
    "code": 0,
    "message": "SUCCEED",
    "body": {
        "city_code": "10028201517",
        "city_name": "",
        "ultra_degree": "最弱",
        "ultra_detail": "辐射弱,涂擦SPF8-12防晒护肤品。",
        "cold_degree": "较易发",
        "cold_detail": "天凉,湿度大,较易感冒。",
        "clothes_degree": "较舒适",
        "clothes_detail": "建议穿薄外套或牛仔裤等服装。",
        "car_wash_degree": "不宜",
        "car_wash_detail": "有雨,雨水和泥水会弄脏爱车。",
        "air_fouling_degree": "良",
        "air_fouling_detail": "气象条件有利于空气污染物扩散。"
    }
}

6 获取小时的详细天气

GET 
URL: http://www.dennisthink.com/api/weather/v1/get_hour_detail_by_city_code?token=1234567890ABCDEF&&city_code=10028201512&&date=2018-03-01&&hour=1

请求的json

token:向我申请
city_code:城市编号
date:日期
hour:小时(24小时制)

返回的json:

{
    "code": 0,
    "message": "SUCCEED",
    "body": {
        "hour": "1",
        "weather": "",
        "air_quality": "",
        "temperature": "12",
        "relative_humidity": "96",
        "precipitation": "0.0",
        "wind_direction": "西北风",
        "wind_power": "0"
    }
}

7 获取某天的小时天气详情

GET 
URL: http://www.dennisthink.com/api/weather/v1/get_today_detail_by_city_code?token=1234567890ABCDEF&&city_code=10010101010&&date=2018-01-01

请求的json

token:向我申请
city_code:城市编号
date:日期

返回的json:

{
    "code": 0,
    "message": "Succeed",
    "body": 
    	{
    	    "city_code": "1010101100",
            "city_name": "朝阳",
            "date":"",
            "detail":[
                {
                "hour":"01",
                "weather":"天气",
                "air_quality":"空气质量",
                "temperature":"温度",
                "relative_humidity":"相对湿度",
                "precipitation":"降水",
                "wind_direction":"风向",
                "wind_power":"风力"
                },
                {
                "hour":"02",
                "weather":"天气",
                "air_quality":"空气质量",
                "temperature":"温度",
                "relative_humidity":"相对湿度",
                "precipitation":"降水",
                "wind_direction":"风向",
                "wind_power":"风力"
                }
            ]
        }
}

下一个阶段的API

8.邮件订阅

POST 
URL: http://www.dennisthink.com/api/weather/v1/create_daily_weather_email_subscription

提交的json

{
    "email": "xxx@yyy.com",
    "city_code": ""
}

返回的json

{
    "code": 0,
    "message": "succeed"
}

9.取消订阅

POST 
URL: http://www.dennisthink.com/api/weather/v1/remove_daily_weather_email_subscription

提交的json

{
    "email": "xxx@yyy.com",
    "city_code": ""
}

返回的json

{
    "code": 0,
    "message": "succeed"
}

10.获取订阅列表

POST 
URL: http://www.dennisthink.com/api/weather/v1/get_daily_weather_email_subscription_list

提交的json

{
    "email": "xxx@yyy.com",http://www.dennisthink.com/api/weather/v1/get_weather_by_city_code?token=1243234234&&city_code=100000000&&date=2018-01-01
}

返回的json

{
    "code": 0,
    "message": "succeed",
    "body": {
        "city_code_list": [
            {
                "city_code": "",
                "city_name": ""
            },
            {
                "city_code": "",
                "city_name": ""
            }
        ]
    }
}

推荐阅读