ทางธนาคารแห่งประเทศไทย หรือ Bank Of Thailand (BOT)
ได้เปิด BOT APIs ให้บริการข้อมูลต่าง ๆ ที่น่าสนใจดังนี้
- อัตราแลกเปลี่ยน จำนวน 8 APIs
- อัตราดอกเบี้ย จำนวน 12 APIs
- ผลการประมูลตราสารหนี้ จำนวน 1 API
รายละเอียดทั่วไปของ API
BOT APIs เป็น REST APIs โดยข้อมูลอยู่ในรูปแบบ JSON (JavaScript Object Notation) ในแต่ละ API นั้นมีเอกสารอธิบายชัดเจน ตัวอย่างเช่น- คำอธิบาย
- ความถี่ในการเปลี่ยนแปลงข้อมูล
- เวลาในการเผยแพร่
- ที่มาของข้อมูล
- รายละเอียดเพิ่มเติม
- API endpoint
- Parameter ต่าง ๆ ที่จำเป็น ทั้งชื่อ ชนิดข้อมูล และ ตัวอย่าง
- ข้อมูล parameter ที่จะได้รับ ฟังดูแล้วแปลก ๆ น่าจะเป็นข้อมูลที่ได้รับน่าจะเข้าใจง่ายกว่า !!
- ตัวอย่างข้อมูล ในส่วนนี้ง่ายยากมาก น่าจะจัดรูปแบบให้ง่ายง่าย ๆ หน่อย
- มีตัวอย่างการเขียน code ใช้งานทั้ง JavaScript และ Python แต่น่าจะใส่ format code ส่วย ๆ หน่อยนะ
ตัวอย่างของข้อมูลที่ได้จาก API อัตราแลกเปลี่ยนถัวเฉลี่ยถ่วงน้ำหนักระหว่างธนาคาร (รายวัน)
[gist id="fc04612cb4a4231d3b6294d008304d93" file="result.json"]มาดูโครงสร้างของข้อมูลกันหน่อย
ซึ่งดูแล้วข้อมูลไม่จำเป็นเยอะน่าดู แต่คงเป็นเรื่องความน่าเชื่อถือของข้อมูล !! APIs ต่าง ๆ จะส่ง response code เป็น 200 กลับมาเสมอ โดยผู้ใช้บริการสามารถตรวจสอบผลการทำงาน ผ่านข้อมูลใน result.success ว่าเป็น true หรือ false- true คือ ผลการทำงานถูกต้อง
- false คือ ผลการทำงานไม่ถูกต้อง เช่น parameter ที่ส่งไปไม่ถูกต้อง
- data_header สำหรับคำอธิบายต่าง ๆ เช่นแหล่งที่มา และ วันเปลี่ยนแปลงล่าสุด
- data_detail สำหรับข้อมูลจริง ๆ
ในส่วนการทำงานผิดพลาด
จะมีผลการทำงานมาอยู่ที่ result.error แทน ดังตัวอย่างใส่ข้อมูลวันที่ของ start_period ผิดรูปแบบที่กำหนด [gist id="fc04612cb4a4231d3b6294d008304d93" file="error.json"] โดยในส่วนของ error code ไม่มีอธิบายไว้ในหน้า website- ถ้าไม่ใส่ api-key หรือใส่ผิด ใน HTTP Header จะไม่มี error code
- es001 คือ ไม่ใส่ข้อมูล เช่น Parameter: start_period must not be null
- es002 คือ ข้อมูลวันเริ่นต้นอยู่หลังวันสิ้นสุด เช่น Parameter start_period must not be greater than end_period
- es003 คือ รูปแบบข้อมูลผิด เช่น Parameter: start_period format must be yyyy-mm-dd
สุดท้ายแล้ว BOT API เป็นแหล่งข้อมูลที่น่าสนใจ
สามารถนำไปใช้ประโยชน์กันได้ดีเลยและน่าเชื่อถือได้ ปล. อย่าลืมอ่านเงื่อนไขการใช้บริการด้วยนะครับ ยกตัวอย่างเช่น- ธนาคารแห่งประเทศไทยจะไม่รับผิดชอบต่อ ความถูกต้อง และความล่าช้าของข้อมูล
- ยกเลิกการให้บริการข้อมูล BOT API ของธนาคารแห่งประเทศไทยแก่ผู้ใช้บริการเมื่อใดก็ได้
- ผู้ใช้บริการยอมรับและตระหนักดีว่าธนาคารแห่งประเทศไทยจะไม่รับผิดชอบในความเสียหายใด ๆ ที่เกิดขึ้นหรืออาจเกิดขึ้นกับผู้ใช้บริการ จากบริการข้อมูล BOT API ของธนาคารแห่งประเทศไทย ไม่ว่าโดยเหตุประการใด