Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาลองใช้บริการข้อมูล BOT API ของธนาคารแห่งประเทศไทย

$
0
0

ทางธนาคารแห่งประเทศไทย หรือ 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 ส่วย ๆ หน่อยนะ
ในส่วนนี้นักพัฒนาก็เขียน library ใช้งานสำหรับภาษาต่าง ๆ กันไหม ?

ตัวอย่างของข้อมูลที่ได้จาก API อัตราแลกเปลี่ยนถัวเฉลี่ยถ่วงน้ำหนักระหว่างธนาคาร (รายวัน)

[gist id="fc04612cb4a4231d3b6294d008304d93" file="result.json"]

มาดูโครงสร้างของข้อมูลกันหน่อย

ซึ่งดูแล้วข้อมูลไม่จำเป็นเยอะน่าดู แต่คงเป็นเรื่องความน่าเชื่อถือของข้อมูล !! APIs ต่าง ๆ จะส่ง response code เป็น 200 กลับมาเสมอ โดยผู้ใช้บริการสามารถตรวจสอบผลการทำงาน ผ่านข้อมูลใน result.success ว่าเป็น true หรือ false
  • true คือ ผลการทำงานถูกต้อง
  • false คือ ผลการทำงานไม่ถูกต้อง เช่น parameter ที่ส่งไปไม่ถูกต้อง
จากตัวอย่างข้างต้น เป็นผลการทำงานที่ถูกต้อง ดังนั้นข้อมูลของอัตราแลกเปลี่ยนจะอยู่ใน result.data ยังไม่พอในข้อมูลยังแบ่งออกเป็น 2 กลุ่มคือ
  1. data_header สำหรับคำอธิบายต่าง ๆ เช่นแหล่งที่มา และ วันเปลี่ยนแปลงล่าสุด
  2. data_detail สำหรับข้อมูลจริง ๆ
สิ่งที่น่าสนใจคือ ข้อมูลที่มีจุดทศนิยมจะมีจำนวน 7 หลักทั้งหมด !!

ในส่วนการทำงานผิดพลาด

จะมีผลการทำงานมาอยู่ที่ 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 ของธนาคารแห่งประเทศไทย ไม่ว่าโดยเหตุประการใด
Reference Websites https://iapi.bot.or.th/Developer?lang=th

Viewing all articles
Browse latest Browse all 1997

Trending Articles