Skip to content

Fetch FX Rates ​

The Reloadly Node SDK allows you to fetch the FX (foreign exchange) rate for a given operator and amount.

Authentication and token refresh are handled automatically by the SDK.

Payload Description ​

ParameterTypeRequiredDescriptionExample
amountIntegerYesThe amount to be converted.10
operatorIdIntegerYesThe operator's identification number.341

Example with Error Handling ​

ts
import { Reloadly, ReloadlyAPIError } from 'reloadly-node';

const reloadlySDK = new Reloadly({
  clientId: process.env.RELOADLY_CLIENT_ID!,
  clientSecret: process.env.RELOADLY_CLIENT_SECRET!,
  environment: 'sandbox', // or "production"
});

async function main() {
  try {
    const fetchFXRate = await reloadlySDK.airtime.fetchFXRate({
      amount: 10,
      operatorId: 341,
    });

    console.log('FX Rate:', fetchFXRate);
  } catch (error) {
    if (error instanceof ReloadlyAPIError) {
      console.error('Reloadly API Error:', error.message);
      console.error('Error details:', error.data);
    } else {
      console.error('Unexpected error:', error);
    }
  }
}

Response Example ​

json
{
  "id": 174,
  "name": "Natcom Haiti",
  "fxRate": 465,
  "currencyCode": "HTG"
}

Notes ​

  • Works for both sandbox and production environments.
  • Payload parameters amount and operatorId are required.
  • Token creation, storage, and automatic refresh are handled by the SDK.
  • The SDK automatically applies the correct Accept headers for Airtime requests.
  • Error handling with ReloadlyAPIError helps distinguish API-specific issues from unexpected runtime errors.
  • Useful for calculating the FX rate before performing a top-up to ensure the correct converted amount.
  • The response includes details such as the exchange rate, currency information, and operator data.