Клиентский API > api на брокерские отчеты

Разработка с использованием клиентского API
High Profit Trader
Сообщения: 77
Зарегистрирован: 23 мар 2018, 10:54
Поблагодарили: 2 раза

api на брокерские отчеты

Непрочитанное сообщение High Profit Trader » 12 ноя 2021, 16:06

До сего дня брокерские отчеты из ЛК скачивались после предв.авторизации через post.
С сего дня ЛК просит СМС-код.
Как теперь скачивать брокерские отчеты?

High Profit Trader
Сообщения: 77
Зарегистрирован: 23 мар 2018, 10:54
Поблагодарили: 2 раза

Re: api на брокерские отчеты

Непрочитанное сообщение High Profit Trader » 13 ноя 2021, 23:35

Тех.поддержка сказала, что api на лк нет, и в частности на брокерские отчеты.
смс-коды отключить невозможно.
:(

Эмуляция браузера не помогает, т.к. в лк перемудрили с кодом лк. Да и вводить смс-код все равно руками придется.

Короче швах полный теперь с автоматизацией лк.
Что-то альфа идет в непонятную сторону. Надеемся, не по наклонной.

High Profit Trader
Сообщения: 77
Зарегистрирован: 23 мар 2018, 10:54
Поблагодарили: 2 раза

Re: api на брокерские отчеты

Непрочитанное сообщение High Profit Trader » 15 ноя 2021, 16:43

В автоматическом режиме теперь не получится.
Но кому интересно - код на VBA для полу-ручного режима:

Код: Выделить всё

  Set oh = CreateObject("MSXML2.ServerXMLHTTP")
  oh.Open "POST", "https://lk.alfadirect.ru/api/account/authorize", False
  oh.SetRequestHeader "Content-Type", "text/json"
  oh.SetRequestHeader "User-Agent", "Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405"
  login="login":  pass="pass"
  s = "{" & Chr(34) & "login" & Chr(34) & ":" & Chr(34) & login & Chr(34) & "," & Chr(34) & "password" & Chr(34) & ":" & Chr(34) & pass & Chr(34) & "}"
  oh.send s
  s = oh.responseText
  ss = Mid(s, 10 + InStr(s, """phone"": """), 500) 'номер телефона
  ss = Mid(ss, 1, -1 + InStr(ss, """"))
  s = Mid(s, 7 + InStr(s, """id"": """), 500) 'id для смс-кода
  s = Mid(s, 1, -1 + InStr(s, """"))
  ss = InputBox("СМС-код (" & ss & "): ") 'смс-код
  oh.Open "POST", "https://lk.alfadirect.ru/api/account/2fa/authorize", False
  oh.SetRequestHeader "Content-Type", "text/json"
  oh.SetRequestHeader "User-Agent", "Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405"
  s = "{" & Chr(34) & "id" & Chr(34) & ":" & Chr(34) & s & Chr(34) & "," & Chr(34) & "code" & Chr(34) & ":" & Chr(34) & ss & Chr(34) & "}"
  oh.send s


В итоге, в сессии oh пропишется идентифицирующая кука лк.
И можно через эту сессию просить еще что-то из лк.
Например, брокерский отчет в xml:

Код: Выделить всё

  dd = CDate(lastdate)
  ss = "https://lk.alfadirect.ru/api/Reports/broker-report?treaty=888888&startDate=" & Format(dd - 4, "yyyymmdd") & _
        "&endDate=" & Format(Now - 1, "yyyymmdd")
  oh.Open "GET", ss, False
  oh.SetRequestHeader "Content-Type", "text/json"
  oh.SetRequestHeader "User-Agent", "Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405"
  oh.send s
  sxml = oh.responseText

High Profit Trader
Сообщения: 77
Зарегистрирован: 23 мар 2018, 10:54
Поблагодарили: 2 раза

Re: api на брокерские отчеты

Непрочитанное сообщение High Profit Trader » 22 ноя 2021, 12:17

Сегодня поменяли немного запрос на отчет (брокерский xml импорт), указанный выше.
В конец адреса добавили "&isMultiple=false". Без этого не скачивается.


Вернуться в «Клиентский API»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей