fixer-io-utility v1.0.1
fixer-io-utility
Developers Guide
Getting Started
- Clone the application with
git clone https://github.com/kenigbolo/fixer-io-utility.gitor use sshgit clone git@github.com:kenigbolo/fixer-io-utility.git.
Dependencies
- NPM 6.x
- Node 8.x
- query-string
Description
This is a tiny module that allows making requests to the fixer.io api. The npm package exposes a tiny utility class called FixerIO. The utility class can be used to leverage making requests to the the fixer.io api. This utility will be occasionaly maintained to keep up with the happenings to endpoints on fixer.io
NPM
This package has been published on NPM and is freely available according to the MIT license. To install via npm simply run npm install fixer-io-utility.
NPM Package Usage
const FixerIO = require('fixer-io-utility');
const fixerUtility = new FixerIO('put-your-api-key-here');
fixerUtility.request('latest').then((response) => {
console.log(response);
});The utility returns a resolved or rejected promise.
Available functions
The utility exposes two core functions request and reqQuery. Both functions accept two arguments namely endpoint and query however the methods differ purely on the format of the query argument that they take.
Accepted method arguments
- The
endpoint {Required}- This refers to the endpoint to which the call should be made. The available options at the moment of this writing arelatest,symbols,convert,timeseries,fluctuationanddates e.g. YYYY-MM-DD. Kindly consult the official endpoint documentation for any endpoints not listed here, however the pluggin is flexible to support new endpoints without any changes needed whenever new plugins are available. This is the same for both therequestmethod and thereqQuerymethod.
Query for request function
- The
query {Optional}- The second argument taken by the request function is thequeryparams. Kindly visit the official documentation to be sure what values are allowed but at the time of writing the allowed values arebaseandsymbol or symbols, and these are only available on thelatestendpoint. An example query argument should look like thisbase=USD&symbols=GBP,JPY,EUR. Please note that this type of query at the moment is not availble to thesymbolsendpoint. Theconvertendpoint allows for making queries such asfrom=GBP&to=JPY&amount=200using paramsfrom,toandamount. Thetimeseriesandfluctuationendpoint currently allows queries such asstart_date=2012-05-01&end_date=2012-05-27with the available paramsstart_dateandend_date.
Query for reqQuery function
- The
query {Optional}- This refers to a javascript object constructed to match the require params in akey - valueformat. Kindly consult the official endpoint documentation for the available parameter fields that can be used. The format of the query object should always mimick same as in the official documentation.
Below is an example taken directly from the fixer.io Historical rates Endpoint documentation and converted into a gatsby configuration
From Fixer.io
http://data.fixer.io/api/2013-12-24
? access_key = API_KEY
& base = GBP
& symbols = USD,CAD,EURwill result a query params constructed as a javascript key-value pair thus
{base: 'GBP', symbols: 'USD,CAD,EUR'}Return type
The return type of the request method is a Promise which when resolved holds the data response.
Disclaimer
I am in no way connected to those who work at fixer.io. Project is simply a side project which I will try to maintain and expand as much as I can. At the time of this writing 2018-10-26 the fixer api requires an api token when making requests.