I am trying to retrieve users inventory by fetching their inventory items using this method and trade URL.
I am getting a malformed response when attempting to fetch their inventory using this method and honestly do not know how to diagnose it, I tried a lot of things.
Error logged from inside the offer.getPartnerInventoryContents() method:
Error fetching inventory: Error: Malformed response
at SteamCommunity.<anonymous> (F:\1 SKINWAREHOUSE\skin-warehouse\server\node_modules\steamcommunity\components\users.js:635:15)
async function testFetchInventory(tradeURL) {
try {
// Parse trade URL
const urlParams = new URLSearchParams(tradeURL.split('?')[1]);
const partner = urlParams.get('partner');
const token = urlParams.get('token');
if (!isBotReady()) {
console.log('Bot is not ready. Skipping reconciliation.');
return;
}
// Create the trade offer
const offer = manager.createOffer(tradeURL);
// Use getPartnerInventoryContents as shown in docs
return new Promise((resolve, reject) => {
offer.getPartnerInventoryContents(730, 2, (err, inventory) => {
if (err) {
console.error('Error fetching inventory:', err);
reject(err);
return;
}
console.log('Inventory fetched successfully:', inventory);
// Filter and format tradeable items
const tradeableItems = inventory.filter(item => item.tradable).map(item => ({
name: item.market_hash_name,
assetid: item.assetid,
appid: 730,
contextid: 2,
amount: 1,
tradable: item.tradable
}));
console.log('Inventory fetched successfully:', {
totalItems: inventory.length,
tradeableItems: tradeableItems.length
});
if (tradeableItems.length > 0) {
console.log('First tradeable item:', tradeableItems[0]);
}
resolve(tradeableItems);
});
});
} catch (error) {
console.error('Error in testFetchInventory:', error);
throw error;
}
}
function setCookiesAsync() {
if (cookieSetPromise) {
return cookieSetPromise;
}
cookieSetPromise = new Promise((resolve, reject) => {
client.on('webSession', (sessionid, cookies) => {
manager.setCookies(cookies, (err) => {
if (err) {
console.error('Error setting cookies:', err);
reject(err);
} else {
console.log('Cookies set successfully');
cookiesSet = true;
resolve();
}
});
});
});
return cookieSetPromise;
}