Async Websocket API for deriv-app
Node.js (v12.18.0 or higher is recommended)
We need to install the Deriv API library if we want to connect to Deriv's websocket.
npm install @deriv/deriv-api
yarn add @deriv/deriv-api
In order to make a websocket connection, we need the websocket (ws) library.
npm install ws
yarn add ws
The basic library is a lighter version of the Deriv API, suitable for apps that want to directly deal with API calls.
It can either be imported as a separate module (to reduce the final bundle size)
or if the DerivAPI
library is already imported, can be accessed using api.basic
.
const WebSocket = require('ws');
const DerivAPI = require('@deriv/deriv-api/dist/DerivAPI');
// app_id 1089 is for testing, create your own app_id and use it here.
// go to api.deriv.com to register your own app.
const connection = new WebSocket('wss://ws.binaryws.com/websockets/v3?app_id=1089');
const api = new DerivAPI({ connection });
const basic = api.basic;
basic.ping().then(console.log);
// Smaller bundle size, dealing only with the low-level library
import DerivAPIBasic from '@deriv/deriv-api/dist/DerivAPIBasic.js';
import WebSocket from 'ws';
// app_id 1089 is for testing, create your own app_id and use it here.
// go to api.deriv.com to register your own app.
const connection = new WebSocket('wss://ws.binaryws.com/websockets/v3?app_id=1089');
const api = new DerivAPIBasic({ connection });
api.ping().then(console.log);
// Smaller bundle size, dealing only with the low-level library
const WebSocket = require('ws');
const DerivAPIBasic = require('@deriv/deriv-api/dist/DerivAPIBasic');
// app_id 1089 is for testing, create your own app_id and use it here.
// go to api.deriv.com to register your own app.
const connection = new WebSocket('wss://ws.binaryws.com/websockets/v3?app_id=1089');
const api = new DerivAPIBasic({ connection });
api.ping().then(console.log);
<script src="https://unpkg.com/@deriv/deriv-api/dist/DerivAPIBasic.js"></script>
<script>
const api = new DerivAPIBasic({
endpoint: 'ws.binaryws.com',
app_id: 1089 /* 1089 is a default test app_id, replace with your own app_id */,
lang: 'EN'
});
api.ping().then(console.log);
</script>
There are two ways to establish a connection:
-
Use a previously opened connection:
const connection = new WebSocket('wss://ws.binaryws.com/websockets/v3?app_id=YOUR_APP_ID'); const api = new DerivAPI({ connection });
-
Pass the arguments needed to create a connection:
const api = new DerivAPI({ endpoint: 'ws.binaryws.com', app_id: /* your app_id */, lang: 'EN' });
There is a short tutorial about how to use Deriv API in the wiki page.
The complete API reference is hosted here
The above reference in one page: DerivAPI reference
git clone https://github.com/binary-com/deriv-api
cd deriv-api
npm install
npm test
npm run devel
npm run syntax
npm run test_all
npm run prettify
npm run docs
Needs inotify
to work.
npm run devel_docs
npm run serve_docs
npm run gh-pages
npm run build
DERIV_TOKEN=YourTokenHere npm run examples