RehberlerRehberler

Ruby on Rails için döviz kuru API’si

Ruby on Rails için döviz kuru API’si. Kod, önbellek ve güncellik meta verisi içeren uygulamalı kılavuz.

20 Eyl 2026 · 7 dakikalık okuma

Kimlik bilgilerini açığa çıkarmadan sunucuda uygulayın; kaynak ve gözlem zamanını koruyun.

  • API anahtarını sunucuda tutun.
  • Para birimi kodlarını ve tutarları doğrulayın.
  • Başarılı yanıtları önbelleğe alın.
  • Kaynağı ve gözlem zamanını gösterin.

Adım 1

Kod örneği
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

Adım 2

Kod örneği
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

Adım 3

Sunucuda çalıştırın, girdileri doğrulayın ve yanıt meta verisini saklayın.

Adım 4

Sunucuda çalıştırın, girdileri doğrulayın ve yanıt meta verisini saklayın.

Kılavuz

Bu kurlar gösterge niteliğindedir, takas fiyatı değildir.

Sorular

Ruby on Rails için döviz kuru API’si

Belgelenmiş JSON sözleşmesiyle para birimi dönüşümü ve gösterge kurları ekler.

Okumaya devam edin

Ücretsiz bir API anahtarıyla başlayın

Ücretsiz planda ayda 5.000 istek. Kredi kartı gerekmez.

Ücretsiz anahtar alın