•         

* * * * * 1

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


#81   denvb

    Специалист


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

25 December 2014 - 10:38

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

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

#82   bardmauzer

    Специалист


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

25 December 2014 - 10:52

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

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

#83   denvb

    Специалист


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

25 December 2014 - 11:00

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

#84   bardmauzer

    Специалист


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

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   Bale

    Новичок


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

03 March 2015 - 14:15

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

#86   clerk

    Специалист


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

03 March 2015 - 16:35

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

#87   triggers

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


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

03 March 2015 - 21:34

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

#88   Bale

    Новичок


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

04 March 2015 - 00:17

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

#89   triggers

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


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

04 March 2015 - 07:27

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

#90   clerk

    Специалист


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

04 March 2015 - 17:48

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

#91   proger

    Специалист


  • RSB
  • 193
49

05 March 2015 - 18:36

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

#92   AlexX

    Специалист


  • mp
  • 1106
133

05 March 2015 - 20:49

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

#93   PopanAlex

    Новичок


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

20 April 2015 - 10:20

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

#94   Артений

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


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

20 April 2015 - 23:16

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

#95   PopanAlex

    Новичок


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

27 April 2015 - 12:57

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

#96   Signal

    Новичок


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

26 May 2015 - 16:11

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

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   Signal

    Новичок


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

26 May 2015 - 16:27

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

#98   Signal

    Новичок


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

26 May 2015 - 18:52

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

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

#99   Signal

    Новичок


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

27 May 2015 - 00:30

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

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

#100   maxspeed

    Специалист


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

03 August 2015 - 09:25

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