Jump to content


* * * * * 1 votes

Betfair API-NG, тонкости


256 replies to this topic

#81 OFFLINE   denvb

    Специалист


  • Участник II
  • PipPipPip
  • 382 posts
90

Posted 25 December 2014 - 10:38

View Postbardmauzer, on 24 December 2014 - 22:29, said:

А еще траблы с типом DataTime. Когда в фильтре заполняю дату,то возвращается пустая строка ответа.Что это может быть?
значит нет рынков, соответствующих заданному фильтру. Я уже писал, но повторю, абсолютно все даты/время бф воспринимает от GMT. Поэтому, если вы даёте дату в своём локальном поясе и например, хотите отфильтровать матчи которые начались час назад (по вашему времени) и сейчас в инплее, то может оказаться, что по времени бф они ещё не начались. Возможно у вас этот случай и есть

View Postclerk, on 25 December 2014 - 04:41, said:

Про фильтр. Надо заполнять две даты: MarketStartTime.From и MarketStartTime.To
добавлю - обе даты не обязательны, по крайней мере То точно можно не указывать

#82 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • PipPipPip
  • 368 posts
63

Posted 25 December 2014 - 10:52

View Postclerk, on 25 December 2014 - 04:41, said:

Про фильтр. Надо заполнять две даты: MarketStartTime.From и MarketStartTime.To Думается, что первая должна быть "старше" второй. И внутри означенного диапазона времени должен находиться хотя бы один рынок (событие) По поводу сериализации перечисления сказать не берусь - с JSON не разбирался, тупо использую примеры и аналогии. По аналогии предположу, что для отображения строкового значения применяется [JsonConverter(typeof(StringEnumConverter))] например, в перечислении МаркетСтатус , но это лишь предположение

Я немного ступил.Дело в том,что я запрашивал скачки Великобритании на сегодняшнее число.А сегодня выходной у них,поэтому приходил пустой ответ.Но проблема теперь другая.Сразу скажу,дату заполняю корректно,после сериализации вывожу полученный текст на консоль и все получается точно как в примере от БФ.Но ответ все время приходит один и тот-же и с какими-то старыми значаниями от 2013-го года.Уже все перечитал в инете,никак не пойму,в чем проблема.Насчет перечисления,я так и поступил.Решил ее при помощи конвертора.В принципе,я точно так же решил и проблему с датой.Но вот покоя себе не могу найти,в чем же проблема с этим типом?

#83 OFFLINE   denvb

    Специалист


  • Участник II
  • PipPipPip
  • 382 posts
90

Posted 25 December 2014 - 11:00

View Postbardmauzer, on 25 December 2014 - 10:52, said:

Но ответ все время приходит один и тот-же и с какими-то старыми значаниями от 2013-го года.Уже все перечитал в инете,никак не пойму,в чем проблема. Но вот покоя себе не могу найти,в чем же проблема с этим типом?
с каким типом и какими значениями? Покажите код запроса и что хотите получить

#84 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • PipPipPip
  • 368 posts
63

Posted 25 December 2014 - 12:16

Блин мистика,какая-то сейчас запустил код и все заработало как часы.Может в связи с рождеством,какие-то были проблемы на сервере?Спасибо всем за помощь,вопросы все сняты.А запрос я делал на listMarketCatalogue,заполнял на фильтре поля from - DateTime.Now.AddHours(3) и to - DateTime.Now.AddDays(2).А в ответ приходили какие-то старые данные от 2013 года.Когда же заменил типы полей from и to на тип string .А заполнял их так: from- DateTime.Now.AddHours(3).ToString("o") и to- DateTime.Now.AddDays(2).ToString("o"), то ответ приходил корректный.Но повторюсь,сейчас все само собой исправилось и работает корректно.Теперь не надо дату конвертировать в строку.

#85 OFFLINE   Bale

    Новичок


  • Участник
  • Pip
  • 2 posts
0

Posted 03 March 2015 - 14:15

Кто-нибудь знает как можно обезопасить свой аккаунт от разработчика?
Имеются в виду баланс и история ставок.
Сам по себе аккаунт можно защитить двухэтапной авторизацией, и слышал про сертификат привязанный к аккаунту. Но если заказать софт и у разработчика будет доступ к моему сертификату или он нечестным способом считает через мой апи вышеперечисленные данные.
Как от такого защитится?

#86 OFFLINE   clerk

    Специалист


  • Модератор
  • 584 posts
102

Posted 03 March 2015 - 16:35

Заказать бот в виде исходников. Исходники проверить, а потом самому скомпилировать. Но есть и более сложные варианты, связанные с регистрацией разработчика в качестве официала на БФ...

#87 OFFLINE   triggers

    Триггер Мастер


  • Участник II
  • PipPipPipPip
  • 989 posts
184

Posted 03 March 2015 - 21:34

Заказать бот с логином ;)
Разработчик тестирует на своем.
Клиент входит в свой.

#88 OFFLINE   Bale

    Новичок


  • Участник
  • Pip
  • 2 posts
0

Posted 04 March 2015 - 00:17

Последний вариант симпатичен, но как знать наверняка что вводимые данные не считаются и отправятся разработчику? Навыки программирования у меня как таковые отсутствуют.

#89 OFFLINE   triggers

    Триггер Мастер


  • Участник II
  • PipPipPipPip
  • 989 posts
184

Posted 04 March 2015 - 07:27

Можно перед запуском бота запустить IE Inspector ( www.ieinspector.com/httpanalyzer/ ) - он покажет все запросы и что куда отправляется.
Понятно что для теста надо ввести левые логин-пароль ;)

#90 OFFLINE   clerk

    Специалист


  • Модератор
  • 584 posts
102

Posted 04 March 2015 - 17:48

если у кодера встанет задача из сделанного бота слить регистрационные данные, то он ИЕ Инспектор поможет только в случае "поверхностного" решения задачи. Но если передача данных сделана типа после 10ти запусков при ставке лей...

#91 OFFLINE   proger

    Специалист


  • RSB
  • PipPipPip
  • 193 posts
49

Posted 05 March 2015 - 18:36

View PostBale, on 04 March 2015 - 00:17, said:

Последний вариант симпатичен, но как знать наверняка что вводимые данные не считаются и отправятся разработчику? Навыки программирования у меня как таковые отсутствуют.
могу сделать так, чтобы бот общалса тока с биржей и никуда болше никакие сообчения неотправлялись, и всеравно узнать нужные даные об шете(логин, пасворд)
а так, вывести денги из биржы,если ты не владелец шета, даволно проблематично, но если все равно боитесь что вскроют счет, то ишите просто надежного програмера, ето единственый путь.

#92 OFFLINE   AlexX

    Специалист


  • mp
  • 1,106 posts
133

Posted 05 March 2015 - 20:49

Если делаеш заказ проги! договор веди с получением исходников и сам их компилируеш при помощи VS + что бы не было его всяких dll от кодера, если есть то тоже в исходниках. И не надо что-то придумывать. это все для того, если кодер твой не будет выходить на контакты и прочее... можно или самому додумать или заказать дороботку у другого. Как бы так :) Считаю: раз заказал прогу это твоя идея + исходники, а от кодера только программирование и все (за которые он получил деньги) :)

#93 OFFLINE   PopanAlex

    Новичок


  • Участник
  • Pip
  • 29 posts
1

Posted 20 April 2015 - 10:20

Ребят, подскажите пожалуйста как в api ng узнать результат события после окончания матча. например был ли гол в первом тайме, с каким счетом закончился матч.

#94 OFFLINE   Артений

    воин добра и света


  • Участник II
  • PipPipPip
  • 336 posts
0
  • МестоположениеРоссия, Центральное Черноземье

Posted 20 April 2015 - 23:16

View PostPopanAlex, on 20 April 2015 - 10:20, said:

Ребят, подскажите пожалуйста как в api ng узнать результат события после окончания матча. например был ли гол в первом тайме, с каким счетом закончился матч.
api ng не предоставляет такую информацию

#95 OFFLINE   PopanAlex

    Новичок


  • Участник
  • Pip
  • 29 posts
1

Posted 27 April 2015 - 12:57

View PostАртений, on 20 April 2015 - 23:16, said:

api ng не предоставляет такую информацию
Спасибо, я уже нашел

#96 OFFLINE   Signal

    Новичок


  • Участник
  • Pip
  • 5 posts
0

Posted 26 May 2015 - 16:11

Всем привет.
Кто кодит на Delphi
не могу сделать правильно запрос, чего куда писать?
залогиниться получилось.
Делаю так:

Quote

pIdHttp:=TidHttp.create(nil);
IdSSLIOHandlerSocketOpenSSL1:=TIdSSLIOHandlerSocketOpenSSL.Create;
IdSSLIOHandlerSocketOpenSSL1.Destination:='api.betfair.com:443';
IdSSLIOHandlerSocketOpenSSL1.Host:='api.betfair.com';
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method:=sslvTLSv1;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode:=sslmClient;
pIdHttp.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
pIdHttp.Request.Accept:='application/json';
pIdHttp.Request.ContentType:='application/json';
pIdHttp.Request.CustomHeaders.Add('X-Application: '+ProductKey);
pIdHttp.Request.CustomHeaders.Add('X-Authentication: '+pTOKEN);
//pIdHttp.Request.CustomHeaders.Add('method: AccountAPING/v1.0/getAccountFunds');
//DataPost.Add('jsonrpc=2.0');
DataPost.Add('method=AccountAPING/v1.0/getAccountFunds');

pIdHTTP.Post('https://api.betfair.com/exchange/account/json-rpc/v1/',DataPost,RcvStrng);

уже как только не пробовал, метод и в Header пихал, или как его составить, куда указывать AccountAPING/v1.0/getAccountFunds
уже час сижу курю мануал и бестолку

#97 OFFLINE   Signal

    Новичок


  • Участник
  • Pip
  • 5 posts
0

Posted 26 May 2015 - 16:27

Все вопрос снят
оказалось все просто:
DataPost.Add('{"jsonrpc": "2.0", "method": "AccountAPING/v1.0/getAccountFunds"}');

#98 OFFLINE   Signal

    Новичок


  • Участник
  • Pip
  • 5 posts
0

Posted 26 May 2015 - 18:52

Что-то не пойму, часто выскакивает Connection Closed Gracifully
Это видимо я юзаю tidHttp из Indy?

а скиньте пример работы через SSL на ICS компонетне HttpCli

#99 OFFLINE   Signal

    Новичок


  • Участник
  • Pip
  • 5 posts
0

Posted 27 May 2015 - 00:30

Пример уже не нужен.
Другая штука съедает мозг.
Делаю listEventTypes
получаю список всех игр
далее допустим на Horse Racing делаю listEvents по полученному ID для Horse Racing от listEventTypes
получаю только игры для GB и неск стран, а как углубицо даже для GB? чтоб открыть уже рынки по времени типа 16:20 WIN?

как вообще выводить по дереву как на сайте БФ по играм? раньше с SOAP это было просто, сейчас что-то дупля не отобью

Edited by Signal, 27 May 2015 - 00:31.


#100 OFFLINE   maxspeed

    Специалист


  • Участник II
  • PipPipPipPip
  • 508 posts
37

Posted 03 August 2015 - 09:25

может кто сталкивался
делаю запрос listmarketbook по определенному market_id
пытаюсь получить ExchangePrices AvailableToBack и AvailableToLay
иногда возвращает пусто back либо lay
хотя на сайте есть кэф