API สำหรับอ่านข้อมูลน้ำฝน
การกำหนดรายละเอียดของ API สำหรับอ่านข้อมูลน้ำฝน
API ID | URL | รายละเอียด |
---|---|---|
A001.1 | /Rainfall | อ่านข้อมูลน้ำฝนตามเงื่อนไขที่ระบุ |
คุณลักษณะ API สำหรับอ่านข้อมูลน้ำฝน
API ID: A001.1
วัตถุประสงค์: อ่านข้อมูลน้ำฝน
Status: Required (ตั้งแต่ API version 1.0 Draft 1)
Since: 1.0 Draft 1
Revision: 1.0 Draft 1
ข้อมูลทั่วไป ในการติดต่อ API สำหรับอ่านข้อมูลน้ำฝน
ข้อมูล | รายละเอียด |
---|---|
URL | /Rainfall |
HTTP Method | GET |
Query parameter ของ API สำหรับอ่านข้อมูลน้ำฝน
ลำดับ | Parameter | Type | ความหมาย | หมายเหตุ |
---|---|---|---|---|
1 | interval | string | ประเภทความถี่ของการตรวจวัด (อ้างอิงค่าตามหัวข้อ การใช้ค่า interval ในการระบุความถี่ของข้อมูลด้านน้ำจากการตรวจวัด) | required |
2 | latest | boolean | true – ดึงข้อมูลเฉพาะค่าของการตรวจวัดล่าสุด false – ดึงข้อมูลตาม startDateTime และ endDateTime |
required |
3 | startDatetime | datetime | วัน-เวลาที่ตรวจวัด (เริ่มต้น) – Inclusive | required เมื่อค่าพารามิเตอร์ latest = false |
4 | endDatetime | datetime | วัน-เวลาที่ตรวจวัด (สิ้นสุด) – Inclusive | required เมื่อค่าพารามิเตอร์ latest = false |
5 | provinceCode | string | รหัสจังหวัด (2 หลัก) ดูหัวข้อการอ้างอิงจังหวัด | optional |
6 | amphoeCode | string | รหัสอำเภอ (4 หลัก) ดูหัวข้อการอ้างอิงอำเภอ | optional |
7 | tambonCode | string | รหัสตำบล (6 หลัก) ดูหัวข้อการอ้างอิงตำบล | optional |
8 | basinCode | string | รหัสลุ่มน้ำหลัก (2 หลัก) ดูหัวข้อการอ้างอิงลุ่มน้ำหลัก/ลุ่มน้ำสาขา | optional |
9 | subBasinCode | string | รหัสลุ่มน้ำสาขา (4 หลัก) ดูหัวข้อการอ้างอิงลุ่มน้ำหลัก/ลุ่มน้ำสาขา | optional |
10 | agencyCode | string | รหัสหน่วยงาน ดูหัวข้อรหัสหน่วยงาน | optional |
11 | stationCode | string | รหัสสถานีตรวจวัดของหน่วยงาน ดูหัวข้อรหัสสถานีตรวจวัด | optional |
หมายเหตุ
1) การอ่านข้อมูลที่มีความถี่แตกต่างกัน ให้ทำการ call API แยกกัน
2) ข้อมูล parameter 5-11 ใช้ในการบ่งบอก filter ว่าต้องการดึงข้อมูลของสถานีตรวจวัดครอบคลุมพื้นที่ใดบ้าง
ตัวอย่าง HTTP Request Parameter ในการอ่านค่าแบบช่วงเวลา 15 นาที
latest=false
&startDatetime=2022-05-02T23:15:00
&endDatetime=2022-05-02T23:30:00
&interval=C-15
&provinceCode=10
ตัวอย่าง HTTP Request Parameter ในการอ่านค่าแบบช่วงเวลารายวัน
latest=false
&startDatetime=2022-05-02T07:00:00
&endDatetime=2022-05-02T06:59:59
&interval=P-Daily
&provinceCode=10
หมายเหตุ
มีการขึ้นบรรทัดใหม่สำหรับ Parameter และไม่ได้ทำ HTTP URL Encode เพื่อให้ง่ายต่อการอ่าน
โครงสร้างของ Response body ข้อมูลน้ำฝน
{ "metadata": { "version": string, "dataProviderCode": string, "dataProviderName": string, "documentGenerateTime": datetime, "waterDatatype": string, "interval": string }, "timeSeriesObservation": [ { "observationMetadata": { "observeAgencyCode": string, "observeAgencyName": string, "originality": integer, "editAgencyCode": string, "editAgencyName": string }, "resultTime": datetime, "station": { "stationCode": string, "stationReference": url }, "waterResources": { "waterResourcesCode": string, "waterResourcesReference": url }, "measurementResults": [ { "instrumentPosition": { "position": string, "number": integer }, "measureTime": datetime, "createTime": datetime, "updateTime": datetime, "variable": string, "value": decimal, "uom": string, "qualityFlag": string, "comment": string, "qualityControlLevel": string } ] } ] }
หมายเหตุ
ในกรณีที่ ข้อมูลตามโครงสร้างมาตรฐานไม่ได้กำหนดเป็น Mandatory (ดูหัวข้อโครงสร้างข้อมูลตามลำดับเวลา (Time Series)) ถ้ามีข้อมูลสามารถส่งข้อมูลนั้นๆได้ตามโครงสร้าง แต่ในกรณีที่ไม่มีข้อมูล API อาจจะไม่ส่งข้อมูลนั้นๆกลับออกมา
ตัวอย่าง HTTP Response Body ของข้อมูลน้ำฝน 15 นาที
{ "metadata": { "version": "1.0", "dataProviderCode": "G11004", "dataProviderName": "Meteorological Department", "documentGenerateTime": "2022-05-02T22:30:00", "waterDatatype": "A001", "interval": "C-15" }, "timeSeriesObservation": [ { "observationMetadata": { "observeAgencyCode": "G11004", "observeAgencyName": "Meteorological Department", "originality": 1 }, "resultTime": "2022-05-02T22:15:00", "station": { "stationCode": "G11004-103662", "stationReference": "https://api.my.org/twsapi/v1.0/StationInfo/G11004-103662" }, "measurementResults": [ { "measureTime": "2022-05-02T22:00:00", "createTime": "2022-05-02T22:00:00", "updateTime": "2022-05-02T22:00:00", "variable": "Rainfall", "value": 2.1, "uom": "mm", "qualityFlag": "U", "comment": "No quality control", "qualityControlLevel": "1" }, { "measureTime": "2022-05-02T22:15:00", "createTime": "2022-05-02T22:15:00", "updateTime": "2022-05-02T22:15:00", "variable": "Rainfall", "value": 1.0, "uom": "mm", "qualityFlag": "U", "comment": "No quality control", "qualityControlLevel": "1" } ] } ] }
หมายเหตุ
ข้อมูลที่ใส่ในตัวอย่างเป็นข้อมูลจำลองเพื่อประกอบความเข้าใจในการทำงานของ API เท่านั้น อาจจะไม่ตรงกับการใช้งานจริง