waxpeer
TypeScript icon, indicating that this package has built-in type declarations

1.5.7 • Public • Published

WaxPeer API wrapper for Node.js

Full API documentation here

Trade websocket documentation here

Installation

$ npm install waxpeer

Initialization

import { Waxpeer, TradeWebsocket, WebsiteWebsocket } from 'waxpeer';

//API wrapper
const WP = new Waxpeer(WAXPEER_API);
//Trade websocket
const TS = new TradeWebsocket(WAXPEER_API, STEAM_ID, TRADELINK); //auto connect after init
TS.disconnectWss(); //disconnect
TS.connectWss(); //connect

//Website websocket
const WS = new WebsiteWebsocket(WAXPEER_API, ['csgo']); //auto connect after init
WS.disconnectWss(); //disconnect
WS.connectWss(); //connect

Fetch your user data

const user = await WP.getProfile();
console.log(user);

Fetch your trades and transactions history

const history = WP.myHistory(0, '2022-11-11', '2022-12-12', 'DESC');
console.log(history);

Change your tradelink

let data = await WP.changeTradeLink('https://steamcommunity.com/tradeoffer/new/?partner=900267897&token=P2YkRJOk');
console.log(data);

Save new Steam API key

let data = await WP.setMyKeys('11EDA9771EB4A200B579A530009CC000');
console.log(data);

Buy items using item_id and send to specific tradelink

const purchase = await WP.buyItemWithId(17441538677, 798500, 'oFvyi0Ma', '378049039');
console.log(purchase);

Buy item by name and send to specific tradelink

const purchase = await WP.buyItemWithName(
  'AK-47 | Redline (Field-Tested)',
  15000,
  'oFvyi0Ma',
  '378049039',
  null,
  'csgo',
);
console.log(purchase);

Fetch all unique items and their min price and count

const items = await WP.getPrices('csgo');
console.log(items);

Fetch all dopplers phases by filters

const items = await WP.getPricesDopplers('any');
console.log(items);

Fetch all listings by names

const items = await WP.massInfo(['AK-47 | Redline (Field-Tested)', 'csgo']);
console.log(items);

Search available items by name(s)

const items = await WP.searchItems(['AK-47 | Redline (Field-Tested)', 'csgo']);
console.log(items);

Checking the status of many steam trades by project_id identifier

const items = await WP.customTradeRequest(['my_id_1', 'my_id_2']);
console.log(items);

Checking the status of many steam trades by Waxpeer ids

const items = await WP.tradeRequestStatus(['12345', '23456']);
console.log(items);

Fetches available item(s) based on the item_id(s) passed in query

const items = await WP.checkItemAvailability(['17441538677', '17441538678']);
console.log(items);

Check tradelink validity

const data = await WP.validateTradeLink('https://steamcommunity.com/tradeoffer/new/?partner=900267897&token=P2YkRJOk');
console.log(data);

Get recent purchases by filters

const data = await WP.getHistory('153912146', 'ssR242yo');
console.log(data);

Fetch trades that need to be sent

const data = await WP.readyToTransferP2P('11EDA9771EB4A200B579A530009CC000');
console.log(data);

Force p2p status check. Recommended for usage with poor network connections

const data = await WP.checkWssUser('765611983383140000');
console.log(data);

Edit price for listed items

const data = await WP.editItems([{ item_id: 1, price: 1 }], 'csgo');
console.log(data);

Fetch my inventory

const data = await WP.fetchInventory('csgo');
console.log(data);

Get items that you can list for sale

const data = await WP.getMyInventory(0, 'csgo');
console.log(data);

Get listed steam items

const data = await WP.myListedItems('csgo');
console.log(data);

List steam items from inventory

const data = await WP.listItemsSteam([{ item_id: 1, price: 1 }], 'csgo');
console.log(data);

Remove item(s) by item id(s)

const data = await WP.removeItems([1, 2, 3, 4]);
console.log(data);

Remove all listings

const data = await WP.removeAll('csgo');
console.log(data);

Buy order trigger history

const data = await WP.buyOrderHistory(0, 'csgo');
console.log(data);

Active buy orders. Sorted by price DESC, if a filter by name is specified

const data = await WP.buyOrders(0, 'AK-47 | Redline (Field-Tested)', '1', 'csgo');
console.log(data);

Create a buy order to auto purchase items. Currently independent of the p2p status of the user

const data = await WP.createBuyOrder('AK-47 | Redline (Field-Tested)', 5, 15000, 'csgo');
console.log(data);

Edit buy order

const data = await WP.editBuyOrder(123, 5, 1000);
console.log(data);

Remove buy order(s)

const data = await WP.removeBuyOrder([1, 2, 3]);
console.log(data);

Remove all buy orders by filters

const data = await WP.removeAllOrders('csgo');
console.log(data);

Fetches items based on the game you pass as a query

const data = await WP.getItemsList(0, null, 'knife', 'DESC');
console.log(data);

Fetches recommended item price and other info

const data = await WP.getSteamItems(730);
console.log(data);

Merchant. Check if user is in system

const data = await WP.getMerchantUser('76561198000000000', 'my_merchant');
console.log(data);

Merchant. Insert a user into a system

const data = await WP.postMerchantUser(
  'my_merchant',
  'https://steamcommunity.com/tradeoffer/new/?partner=900267897&token=P2YkRJOk',
  '76561198000000000',
);
console.log(data);

Merchant. Fetch user inventory

const data = await WP.MerchantInventoryUpdate('76561198000000000', 'my_merchant');
console.log(data);

Merchant. Get items that you can list for the user

const data = await WP.MerchantInventory('76561198000000000', 'my_merchant', 730);
console.log(data);

Merchant. List steam items from inventory

const data = await WP.MerchantListItemsSteam('my_merchant', '76561198000000000', [{ item_id: 1, price: 1 }]);
console.log(data);

Merchant. Returns history of deposits

const data = await WP.MerchantDepositsHistory(
  'my_merchant',
  '76561198000000000',
  'aaabe17b-dddd-4444-affd-dcad3fa6fbbe',
);
console.log(data);

Trade websocket events that you need to implement

TS.on('send-trade', (message: TradeWebsocketCreateTradeData) => {
  console.log(message);
});
TS.on('cancelTrade', (message: TradeWebsocketCancelTradeData) => {
  console.log(message);
});
TS.on('accept_withdraw', (message: TradeWebsocketAcceptWithdrawData) => {
  console.log(message);
});

Website websocket events

//manual sub events [csgo,rust,tf2,dota2]
WS.on('new', (message: IInventoryEmit) => {
  console.log(message); //waxpeer new item event
});
WS.on('update', (message: IInventoryEmit) => {
  console.log(message); //waxpeer item removed event
});
WS.on('removed', (message: IInventoryEmit) => {
  console.log(message); //waxpeer item removed event
});

//auto sub after auth
WS.on('change_user', (message: ChangeUserEvent) => {
  if (message.name === 'wallet') console.log(message); // user change event
});
WS.on('steamTrade', (message: SteamTrade) => {
  console.log(message); //waxpeer trade event
});

API error handling

try {
  let user = await WP.getProfile();
  console.log(user);
} catch (e) {
  let timeout = axios.isCancel(e) ? true : false;
  let response = e?.response?.data;
  let status_code = e?.response?.status;
  console.log({ timeout, status_code, response }); //{ timeout: false, status_code: 403, response: { success: false, msg: 'wrong api' } }
}

Package Sidebar

Install

npm i waxpeer

Weekly Downloads

345

Version

1.5.7

License

ISC

Unpacked Size

161 kB

Total Files

28

Last publish

Collaborators

  • say1j
  • madmad
  • ity