snaptrade-node
v1.2.9-deprecated
Published
The official NodeJS library for the SnapTrade API.
Downloads
155
Readme
📖 Table of Contents
⚙️ Requirements
- Node 17 or later
- You need to have a clientID and a consumerKey. If you don't have one, please send us an email.
🚀 Getting Started
npm install snaptrade-node
Note : Your consumerKey should always remain a secret! Never hard code it!
import { SnapTradeFetch } from 'snaptrade-node';
const snapTrade = new SnapTradeFetch('CLIENT_ID', 'CONSUMER_KEY');
🕵🏼♂️ Authentication
register user
Register user with SnapTrade in order to create secure brokerage authorizations.
Signature:
registerUser(data: {
userId: string;
rsaPublicKey?: string;
}): Promise<RegisterUserResponseType>
Example:
const registerUser = async () => {
const registeredUser = await snapTrade.registerUser({
userId: 'USER_ID',
rsaPublicKey: 'ssh-rsa RSA_PUBLIC_KEY', //only required if RSA is enabled for the partner
});
return registeredUser;
};
login user
Generate a redirect URI to securely login a user to the SnapTrade Connection Portal.
- optional parameters:
- broker: provide a
broker slug
to redirect user directly to the broker portal (or show the auth modal) - immediateRedirect: if set to
true
, user gets redirected back to the partner's app immediately after making a connection. - customRedirect: if need to use a different
redirect url
than the default one. - reconnect: provide a
authorization id
of a broken connection to reconnect.
- broker: provide a
Signature:
generateRedirectURI({
userId,
userSecret,
}: DefaultQueryParams, data?: {broker: string; immediateRedirect: boolean; customRedirect: string, reconnect: string, connectionType: string}): Promise<RedirectURIResponseType>
Example:
const redirectURI = async () => {
const uri = await snapTrade.generateRedirectURI(
{
userId: 'USER_ID',
userSecret: 'USER_SECRET',
},
{
broker: 'ALPACA',
immediateRedirect: true,
customRedirect: 'https://passiv.com',
reconnect: 'b5f262d-4bb9-365d-888a-202bd3b15fa1', // authorization id
connectionType: 'read', // 'read' or 'trade'
}
);
return uri;
};
delete user
Delete user from SnapTrade, disabling all brokerage authorizations and permanently deleting all data associated with the user.
Signature:
deleteUser({
userId,
userSecret,
}: DefaultQueryParams): Promise<DeleteUserResponseType>
Example:
const deleteUser = async () => {
const deletedUser = await snapTrade.deleteUser({
userId: 'USER_ID',
userSecret: 'USER_SECRET',
});
return deletedUser;
};
list users
Get a list of all SnapTrade users partner has registered on their platform.
Signature:
async listUsers(): Promise<UsersResponseType>
Example:
const listUsersRegistered = async () => {
const users = await snapTrade.listUsers();
return users;
};
📑 Full Documentation
Documentations for making requests to other SnapTrade API endpoints using this sdk:
- Helper Functions
- Account Information Endpoints
- Trading Endpoints
- Connections Endpoints
- Reference Data Endpoints
- Transaction and Reporting Endpoints
👨🏼⚖️ License & copyrights
Licensed under Apache License 2.0.