A typescript wrapper around Deriv API.
yarn add deriv-api-ts
npm install deriv-api-ts
import { DerivAPIWrapper } from 'deriv-api-ts';
const appId = 1234;
const api = new DerivAPIWrapper(appId);
const websiteStatus = await api.websiteStatus();
console.log(websiteStatus);
// You will have intellisense on the return types...
console.log(websiteStatus.api_call_limits.max_requests_outcome.hourly);
You can authenticate whenever you want by calling authorize
function. When you call an endpoint that needs
authentication (e.g. profitTable
), it will first check if the session is already authenticated. If not, it will try to
authenticate with the token that is passed either to the constructor or to the last call of authorize
function. If no
token is found, an error will be thrown.
import { DerivAPIWrapper } from 'deriv-api-ts';
const appId = 1234;
const api = new DerivAPIWrapper(appId);
const authResult = await api.authorize('YOUR API TOKEN');
OR
import { DerivAPIWrapper } from 'deriv-api-ts';
const appId = 1234;
const api = new DerivAPIWrapper(appId, 'YOUR API TOKEN');
@deriv/api-types
package is used internally to provide support for types.
import { DerivAPIWrapper, Exception, Types as binaryTypes } from 'deriv-api-ts';
const appId = 1234;
const api = new DerivAPIWrapper(appId, 'YOUR API TOKEN');
const params: binaryTypes.ProfitTableRequest = {
contract_type : [ 'CALL' ],
profit_table : 1,
};
api.profitTable(params)
.then((profitTableResult: binaryTypes.ProfitTable) =>
{
// Your code
})
.catch((err: Exception) =>
{
console.log(`Code: ${ errObj.code } Message: ${ errObj.message } Details: ${ JSON.stringify(errObj.getParams()) }`);
})
// Closing the websocket connection gracefully.
.finally(() => api.disconnect());
import { DerivAPIWrapper, Exception, Types } from 'deriv-api-ts';
const appId = 1234;
const api = new DerivAPIWrapper(1234, 'YOUR API TOKEN');
const params: Types.ProfitTableRequest = {
contract_type : [],
profit_table : 1,
};
api.profitTable(params)
.then((profitTableResult) =>
{
// Your code
})
.catch((err: Exception) =>
{
console.log(`Code: ${ errObj.code } Message: ${ errObj.message } Details: ${ JSON.stringify(errObj.getParams()) }`);
})
// Closing the websocket connection gracefully.
.finally(() => api.disconnect());
OR
import { DerivAPIWrapper, Exception, Types } from 'deriv-api-ts';
const appId = 1234;
const api = new DerivAPIWrapper(1234, 'YOUR API TOKEN');
const params: Types.ProfitTableRequest = {
contract_type : [],
profit_table : 1,
};
try
{
const profitTableResult = await api.profitTable(params);
}
catch (err)
{
const errObj = err as Exception;
console.log(`Code: ${ errObj.code } Message: ${ errObj.message } Details: ${ JSON.stringify(errObj.getParams()) }`);
}
finally
{
// Closing the websocket connection gracefully.
api.disconnect();
}