Tinkoff / invest-openapi-js-sdk

Apache License 2.0
211 stars 49 forks source link

Missing query parameter - отсутствует обязательное поле \'ticker\' в запросе #132

Open OlegM91 opened 3 years ago

OlegM91 commented 3 years ago

метод searchOne возвращает ошибку - отсутствует обязательное поле \'ticker\' в запросе, а также метод candlesGet только там отсутствует figi. URL'ы запросов в консоле передают и ticker и figi. В чем может быть проблема?

ZigGreen commented 3 years ago

Привет! приложите пример с кодом.

OlegM91 commented 3 years ago

` const OpenAPI = require('@tinkoff/invest-openapi-js-sdk');

const apiURL = 'https://api-invest.tinkoff.ru/openapi'; const socketURL = 'wss://api-invest.tinkoff.ru/openapi/md/v1/md-openapi/ws'; const secretToken = 't.-eiLxI****'; const api = new OpenAPI({ apiURL, secretToken, socketURL});

stock = {};

async function run() {

try { let stocks = await api.stocks(); stock=stocks.instruments[120]); } catch(error) { console.error(error); }

try { const figi = await api.searchOne({ ticker: 'AAPL' }); console.log(figi); } catch(error) { console.error(error); }

try { let figi = stock.figi; let params = { figi: figi.toString(), from: '2018-08-19', to: '2019-08-19', interval: 'day' } let candlesrec = await api.candlesGet(params); } catch(error) { console.error(error); }

}

run(); `

OlegM91 commented 3 years ago

Screenshot_3

ZigGreen commented 3 years ago

Проверил только что, работает исправно

Вот код, который запускаю ```ts import OpenAPI, { MarketInstrument } from '@tinkoff/invest-openapi-js-sdk'; const apiURL = 'https://api-invest.tinkoff.ru/openapi'; const sandboxApiURL = 'https://api-invest.tinkoff.ru/openapi/sandbox/'; const socketURL = 'wss://api-invest.tinkoff.ru/openapi/md/v1/md-openapi/ws'; const secretToken = process.env.TOKEN; // токен для боевого api const sandboxToken = process.env.SANDBOX_TOKEN; // токен для сандбокса const api = new OpenAPI({ apiURL: apiURL, secretToken: secretToken as string, socketURL }); !(async function run() { // await api.sandboxClear(); let stock; try { let stocks = await api.stocks(); stock=stocks.instruments[120]; } catch(error) { console.error(error); } try { const figi = await api.searchOne({ ticker: 'AAPL' }); console.log(figi); } catch(error) { console.error(error); } try { if (!stock) { return; } let figi = stock.figi; let params = { figi: figi.toString(), from: '2018-08-19T18:38:33+03:00', to: '2019-08-19T18:38:33+03:00', interval: 'day' as "day" } let candlesrec = await api.candlesGet(params); console.log(candlesrec); } catch(error) { console.error(error); } })(); ```