ขั้นตอนและวิธีการอัพเดต ค่าเงินบาท ให้กับ Phoca Cart ด้วย Node-red แบบ อัตโนมัติ ทุกๆชั่วโมง หรือตามระยะเวลาที่ต้องการ ด้วย MySQL node กับ Exchange Rates API
- ทำการติดตั้ง MySQL Node
- ทำการติดตั้ง Exchangeratesapi
- ลงทะเบียน ที่ exchangeratesapi.io เพื่อนำ API Key มาใส่ใน Exchangeratesapi node
- เขียน Flow ตามตัวอย่างด้านล่าง
node-red-contrib-exchangeratesapi
Import flow ตัวอย่างของ Exchangeratesapi มาทำการทดสอบดูข้อมูลก่อน โดย Data จากทาง exchangeratesapi.io จะ Update ทุกชั่วโมง สำหรับ Free Plan จะเรียกใช้งาน API ได้ 1000 ครั้งต่อเดือน ถ้าเรา Update ทุกชั่วโมง จำนวนครั้งสูงสุดก็จะอยู่ที่ 31x24=744 ซึ่งก็ยังไม่เกินค่าที่ให้ใช้งานได้ฟรี
node-red-node-mysql
ส่วน mysql node เราก็จะทำการ update ค่าอัตราแลกเปลี่ยน ที่ได้จาก msg.payload.rates.THB ด้านบน เข้าไปไว้ใน Table phocacart_currencies Set exchange_rate ที่ Column exchange_rate โดยใช้ function node
โดยในที่นี้ ก็อาจะเก็บค่าไว้ในตัวแปรก่อน ด้วย Change node แล้วค่อยนำมาใช้อีกที โดยใน change node เราสามารถใช้ JSONata ทำการปรับแต่งค่าที่ได้ระหว่างทำการ process อย่างเช่น $round((payload.rates.THB)+1,1)
var thb = global.get("thbrate");
msg.topic = "Update phocacart_currencies Set exchange_rate ='" + thb + "' where title='Baht'";
msg.payload= thb;
return msg;
จากนั้นเราจึงกลับไปกำนหนดความถี่ในการ Update ที่ Inject node ของ Exchangeratesapi ได้ตามต้องการ