数据接口

请求

程序会定时对外请求的接口,报文接口请求间隔 1 分钟,情报区接口请求间隔 5 分钟,电话服务接口依据条件触发。

各类请求地址可以在 设置 -> 数据源 中更改,详情请参考 使用指南

报文接口

GET <latest_message_url> HTTP/1.1

latest_message_url 当前机场最新的报文数据接口

需返回以下数据:

{
  "FC": "TAF ZJHK 220414Z 2206/2215 04004MPS 6000 BKN007 BKN020 TX22/2206Z TN19/2215Z=",
  "FT": "TAF ZJHK 220316Z 2206/2306 04004MPS 4000 BR BKN007 BKN020 TX25/2206Z TN19/2221Z BECMG 2301/2302 SCT020=",
  "SA": "METAR ZJHK 220500Z 02004MPS 340V060 8000 BKN007 OVC023 20/19 Q1015 NOSIG=",
  "WS": [
    "ZJSA SIGMET 2 VALID 220135/150535 ZJHK- ZJSA SANYA FIR EMBD TS FCST WI N2030 E11043 - N1830 E11025 - N1812 E10817 - N1951 E10749 - N1957 E10755 - N2030 E10802 - N2030 E11043 TOP FL450 MOV S 20KMH NC",
    "ZJSA SIGMET 3 VALID 220530/220930 ZJHK- ZJSA SANYA FIR EMBD TS FCST WI N1913 E10801 - N1923 E11001 - N1815 E11012 - N1804 E10821 - N1913 E10801 TOP FL430 STNR WKN"
  ]
}

注解

如果需要查询 SIGMET 或 AIRMET 报文,要以列表形式返回有效期内此类型所有的报文,类型键值可选 WS WC WV WA

情报区信息接口

GET <fir_information_url> HTTP/1.1

fir_information_url 当前情报区的信息接口

需返回以下数据:

{
  "boundaries": [],
  "layers": [
    {
    "coordinates": [
        [
        105,
        25
        ],
        [
        120,
        10
        ]
    ],
    "image": "https://tafor.herokuapp.com/static/cloud.jpg",
    "name": "Himawari 8",
    "rect": [
        15,
        50,
        260,
        260
    ],
    "size": [
        376,
        376
    ],
    "updated": "Mon, 30 Jul 2018 21:33:00 GMT"
    }
  ]
}
  • boundaries 情报区的边界,用一组点表示,顺时针排列
  • layers 由数组组成的图层信息,每层都需要包含以下内容
    • coordinates 卫星云图的经纬度坐标范围,标记左上角到右下角两个点,用十进制经度,纬度表示
    • image 当前时刻最新的卫星云图地址
    • name 图层名称
    • rect SIGMET 编辑区域显示的区域大小和位置,前两个参数表示区域的起始点 x、y,后两个参数表示区域的宽和高,单位像素
    • size 卫星云图的宽和高,单位像素
    • updated 卫星云图更新的时间,世界时

注解

无法获取最新的底图时,imageupdated 的值要标记为 null,这样程序才会继续启用画布功能,并绘制一个灰色纯色底图。

电话服务接口

POST <call_service_url> HTTP/1.1
Authorization: Basic <auth>

call_service_url 请求电话拨号服务的地址

auth 用于认证用户身份的密钥,生成方式为 base64('api':token)

参数:

  • mobile 所要呼叫的手机号

注解

认证 token 需要电话服务网站注册账号后生成,可以在 设置 -> 电话服务 中更改相关设置。

响应

程序内建了一个 RESTful API 服务,默认启动端口 9407, 可用于验证 TAF、SIGMET、趋势报文的准确性,以及告知程序正在编辑的观测报文。

TAF 报文验证

GET /api/validate HTTP/1.1

参数:

  • message 报文内容

示例:

message=TAF ZJHK 040701Z 0406/0506 06004MPS 6000 TSRA BKN010 FEW023CB BKN033 TX28/0505Z TN24/0418Z BECMG 0407/0408 -SHRA BECMG 0415/0416 BKN030 TEMPO 0410/0414 SHRA=

返回数据:

{
    "pass": false,
    "tips": [
        "阵性降水应包含 CB"
    ],
    "html": "TAF ZJHK 040701Z 0406/0506 06004MPS 6000 TSRA BKN010 FEW023CB BKN033 TX28/0505Z TN24/0418Z<br/>BECMG 0407/0408 -SHRA<br/>BECMG 0415/0416 <span style=\"color: red\">BKN030</span><br/>TEMPO 0410/0414 SHRA=",
    "tokens": [
        [
            "TAF",
            true
        ],
        [
            "ZJHK",
            true
        ],
        [
            "040701Z",
            true
        ],
        [
            "0406/0506",
            true
        ],
        [
            "06004MPS",
            true
        ],
        [
            "6000",
            true
        ],
        [
            "TSRA",
            true
        ],
        [
            "BKN010 FEW023CB BKN033",
            true
        ],
        [
            "TX28/0505Z TN24/0418Z",
            true
        ],
        [
            "BECMG",
            true
        ],
        [
            "0407/0408",
            true
        ],
        [
            "-SHRA",
            true
        ],
        [
            "BECMG",
            true
        ],
        [
            "0415/0416",
            true
        ],
        [
            "BKN030",
            false
        ],
        [
            "TEMPO",
            true
        ],
        [
            "0410/0414",
            true
        ],
        [
            "SHRA",
            true
        ]
    ]
}

注解

校验的阈值如云高是否有 450 米或能见度是否有 5000 米可以在 设置 -> 校验 中更改,趋势校验也是如此,详情请参考 使用指南

趋势报文验证

GET /api/validate HTTP/1.1

参数:

  • message 报文内容

示例:

message=METAR ZJHK 221100Z 29002MPS 160V330 9999 -TSRA FEW020CB SCT023 24/23 Q1008 RESHRA BECMG TL1230 -SHRA=

返回数据:

{
    "html": "METAR ZJHK 221100Z 29002MPS 160V330 9999 -TSRA FEW020CB SCT023 24/23 Q1008 RESHRA<br/>BECMG TL1230 -SHRA=",
    "tips": [],
    "pass": true,
    "tokens": [
        [
            "BECMG",
            true
        ],
        [
            "TL1230",
            true
        ],
        [
            "-SHRA",
            true
        ]
    ]
}

SIGMET & AIRMET 报文验证

SIGMET/AIRMET 报文验证类似,不再做举例。

显示观测报文

POST /api/notifications HTTP/1.1
Authorization: Bearer VGhlIFZveWFnZSBvZiB0aGUgTW9vbg==

参数:

  • message 报文内容

示例:

message=METAR ZJHK 210600Z 26002MPS 200V300 9999 BKN030 36/27 Q1004 NOSIG=

返回数据:

{
    "message": "METAR ZJHK 210600Z 26002MPS 200V300 9999 BKN030 36/27 Q1004 NOSIG=",
    "created": "Fri, 21 Jun 2019 05:57:34 GMT"
}

显示 SIGMET/AIRMET 报文

POST /api/notifications HTTP/1.1
Authorization: Bearer VGhlIFZveWFnZSBvZiB0aGUgTW9vbg==

参数:

  • message 报文内容

示例:

message=ZJSA SIGMET 1 VALID 300755/301155 ZJHK- ZJSA SANYA FIR EMBD TS OBS AT 0115Z WI N1906 E11150 - N1731 E10815 - N1904 E10702 - N2030 E10802 - N2030 E11130 - N1930 E11130 - N1906 E11150 TOP FL300 MOV N 20KMH NC=

返回数据:

{
    "message": "ZJSA SIGMET 1 VALID 300755/301155 ZJHK- ZJSA SANYA FIR EMBD TS OBS AT 0115Z WI N1906 E11150 - N1731 E10815 - N1904 E10702 - N2030 E10802 - N2030 E11130 - N1930 E11130 - N1906 E11150 TOP FL300 MOV N 20KMH NC=",
    "created": "Sun, 30 Jun 2019 07:49:37 GMT"
}

注解

Bearer Token 默认值为 VGhlIFZveWFnZSBvZiB0aGUgTW9vbg==,可在 关于 -> 令牌 中查看,程序运行目录命令行下输入 tafor token --generate 可用于重新生成令牌,建议在初次设置后重新生成令牌。