Fix Rates getTicker endpoint - resolve 404 error
The Strike API /rates/ticker endpoint returns all currency pairs in a single response, not individual pairs. Updated the implementation to: - Remove incorrect currency pair parameter from endpoint URL - Fetch all tickers and filter to requested pair client-side - Add "All Currency Pairs" option to get all rates at once - Add BTC/AUD and BTC/USDT currency pair options - Improve error handling when requested pair not found Fixes 404 "Resource not found" error when using Rates > Get Ticker operation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -503,7 +503,27 @@ export class Strike implements INodeType {
|
||||
if (resource === 'rates') {
|
||||
if (operation === 'getTicker') {
|
||||
const currencyPair = this.getNodeParameter('currencyPair', i) as string;
|
||||
responseData = await strikeApiRequest.call(this, 'GET', `/rates/ticker/${currencyPair}`);
|
||||
// The Strike API returns all currency pairs
|
||||
const allTickers = await strikeApiRequest.call(this, 'GET', '/rates/ticker');
|
||||
|
||||
// Filter to the requested currency pair
|
||||
if (currencyPair && currencyPair !== 'all') {
|
||||
// Extract source and target currencies (e.g., 'BTCUSD' -> 'BTC' and 'USD')
|
||||
const sourceCurrency = currencyPair.slice(0, 3);
|
||||
const targetCurrency = currencyPair.slice(3);
|
||||
|
||||
responseData = allTickers.find((ticker: any) =>
|
||||
ticker.sourceCurrency === sourceCurrency &&
|
||||
ticker.targetCurrency === targetCurrency
|
||||
);
|
||||
|
||||
if (!responseData) {
|
||||
responseData = { error: `Currency pair ${currencyPair} not found in available tickers` };
|
||||
}
|
||||
} else {
|
||||
// Return all tickers if 'all' is selected
|
||||
responseData = allTickers;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user