คู่มือคู่มือ

API อัตราแลกเปลี่ยนสำหรับ Ruby on Rails

API อัตราแลกเปลี่ยนสำหรับ Ruby on Rails. คู่มือพร้อมโค้ด การแคช และข้อมูลความสดใหม่

20 ก.ย. 2569 · อ่าน 7 นาที

ใช้งานบนเซิร์ฟเวอร์โดยไม่เปิดเผยข้อมูลลับ และเก็บแหล่งที่มากับเวลาสังเกต

  • เก็บ API key ไว้บนเซิร์ฟเวอร์
  • ตรวจสอบรหัสสกุลเงินและจำนวนเงิน
  • แคชผลลัพธ์ที่สำเร็จ
  • แสดงแหล่งที่มาและเวลาสังเกต

ขั้นตอนที่ 1

ตัวอย่างโค้ด
require "net/http"require "json"class ExchangeRateClient  Error = Class.new(StandardError)  def convert(from:, to:, amount:)    from = from.to_s.upcase    to = to.to_s.upcase    raise Error, "invalid currency code" unless [from, to].all? { |code| code.match?(/A[A-Z]{3}z/) }    key = ["fx-convert", from, to, amount.to_d.to_s("F")]    Rails.cache.fetch(key, expires_in: 60.seconds) do      uri = URI("https://api.exchangerate.dev/v1/convert/#{from}/#{to}/#{amount}")      request = Net::HTTP::Get.new(uri)      request["Authorization"] = "Bearer #{ENV.fetch("EXCHANGERATE_API_KEY")}"       response = Net::HTTP.start(uri.host, uri.port, use_ssl: true,        open_timeout: 2, read_timeout: 5) { |http| http.request(request) }      raise Error, "exchange-rate API returned #{response.code}" unless response.is_a?(Net::HTTPSuccess)      JSON.parse(response.body)    end  rescue Net::OpenTimeout, Net::ReadTimeout => error    raise Error, "exchange-rate API timed out: #{error.class}"  endend

ขั้นตอนที่ 2

ตัวอย่างโค้ด
class ConversionsController < ApplicationController  def show    amount = BigDecimal(params.require(:amount))    result = ExchangeRateClient.new.convert(      from: params.require(:from).upcase,      to: params.require(:to).upcase,      amount: amount    )    render json: result.slice("from", "to", "amount", "rate", "converted",      "source", "market_session", "data_updated_at")  rescue ExchangeRateClient::Error, ArgumentError => error    render json: { error: error.message }, status: :bad_gateway  endend

ขั้นตอนที่ 3

เรียกใช้บนเซิร์ฟเวอร์ ตรวจสอบอินพุต และเก็บเมทาดาทาของผลลัพธ์

ขั้นตอนที่ 4

เรียกใช้บนเซิร์ฟเวอร์ ตรวจสอบอินพุต และเก็บเมทาดาทาของผลลัพธ์

คู่มือ

อัตราเหล่านี้ใช้เพื่ออ้างอิง ไม่ใช่ราคาชำระจริง

คำถาม

API อัตราแลกเปลี่ยนสำหรับ Ruby on Rails

ใช้เพิ่มการแปลงสกุลเงินและอัตราอ้างอิงผ่านสัญญา JSON ที่มีเอกสาร

อ่านต่อ

เริ่มต้นด้วยคีย์ API ฟรี

ส่งคำขอได้ 5,000 ครั้งต่อเดือนด้วยแพ็กเกจฟรี ไม่ต้องใช้บัตรเครดิต

รับคีย์ฟรี