วิธีสมัครและใช้งาน api อัตราแลกเปลี่ยนเงินตรา จาก ธนาคารแห่งประเทศไทย ด้วย php

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

วิธีสมัครและใช้งาน api อัตราแลกเปลี่ยนเงินตรา จาก ธนาคารแห่งประเทศไทย ด้วย php

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

API ย่อมาจาก Application Programming Interface คือช่องทางการเชื่อมต่อระหว่างเว็บไซต์หนึ่งไปยังอีกเว็บไซต์หนึ่ง หรือเป็นการเชื่อมต่อระหว่าผู้ใช้งานกับ Server หรือจาก Server เชื่อมต่อไปหา Server ซึ่ง API นี้เปรียบได้เป็น ภาษาคอมพิวเตอร์ ที่ทำให้คอมพิวเตอร์สามารถสื่อสารและแลกเปลี่ยนข้อมูลกันได้อย่างอิสระ

ขั้นตอนง่าย ๆ ลองทำตามกันดูเลยครับ

1.สมัครสมาชิกในเว็บ https://apiportal.bot.or.th/bot/public/ ธนาคารแห่งประเทศไทยก่อนเลย คลิกเพื่อสมัคร โดยกรอกข้อมูลและยืนยันอีเมลให้เรียบร้อย
01.jpg
2.เมื่อเราสมัครสมาชิก เข้าสู่ระบบเรียบร้อยแล้ว ให้ไปที่เมนู Apps >> Create new App
02.jpg
3.กรอกข้อมูลในช่องให้เรียบร้อยแล้วกด Submit
3.jpg
3.jpg (95.95 KiB) Viewed 1199 times
4.เมื่อกดปุ่ม Submit แล้วจะเด้งไปมาหน้าจอนี้ จะมี Client Secret และ Client ID ให้กดติ๊ก Show Client Secret แล้วทำการก็อปปี้หรือจดบันทึกเอาไว้
4.jpg
5.ต่อไปกดไปที่ API Products >> Exchange Rates (2.0.1) (ในตัวอย่างนี้คือ Exchange Rate 2.0.1 ภายในมี API ให้ใช้งานสองตัว)
5.jpg
5.jpg (124.23 KiB) Viewed 1199 times
6.คลิกที่ปุ่ม Subscribe แล้วเลือกแอพพลิเคชั่นที่เพิ่งลงทะเบียนไป จากนั้นกดเลือกแถบซ้าย จะเป็นอัตราแลกเปลี่ยนเงินไทยเป็นเงินต่างประเทศ ในที่นี้เราจะเลือก ดังรูป
6.jpg
6.jpg (114.1 KiB) Viewed 1199 times
ึ7.ก็จะเข้ามาในส่วนของ Code ให้เลือกเป็น PHP แล้วนำโค๊ดมาใช้
7.jpg

โค้ด: เลือกทั้งหมด

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://apigw1.bot.or.th/bot/public/Stat-ExchangeRate/v2/DAILY_AVG_EXG_RATE/?start_period=REPLACE_THIS_VALUE&end_period=REPLACE_THIS_VALUE&currency=REPLACE_THIS_VALUE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "x-ibm-client-id: REPLACE_THIS_KEY"
  ),
));

echo print_r($response);
echo print_r($err);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
ในส่วนของข้อมูลที่ต้องใส่ก่อนใช้งานโค๊ด
1. x-ibm-client-id : ให้กรอก Cilent ID หรือ Client Secret ที่ได้มาจากขั้นตอนที่ 4
2. start_period และ end_period รูปแบบการใส่จะเป็น yyyy-mm-dd ให้กรอกตามวันที่ต้องการ
3. currency ใส่หน่วยสกุลเงินของต่างประเทศที่ต้องการ เช่น currency=USD",
หรือถ้าต้องการแสดงสกุลเงินทั้งหมด ให้ลบค่า currency ออก

โค้ด: เลือกทั้งหมด

CURLOPT_URL => "https://apigw1.bot.or.th/bot/public/Stat-ExchangeRate/v2/DAILY_AVG_EXG_RATE/?start_period=REPLACE_THIS_VALUE&end_period=REPLACE_THIS_VALUE&currency=REPLACE_THIS_VALUE",
ตัวอย่าง เมื่อใส่กรอก start_period และ end_period และใส่ currency = USD",
ผลลัพธ์ ตามนี้
8.jpg
ข้อมูลที่ได้จะเป็นในรูปแบบของ json ให้ศึกษาแนวทางวิธีการนำไปใช้งาน ตามกระทู้นี้เลยครับ viewtopic.php?f=72&t=57785

Reference Links :
https://apiportal.bot.or.th/bot/public/

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 40