Перепрыгнеть в содержание


* * * * * 1 голосов

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


236 ответов в эту тему

#81 ONLINE   denvb

    Специалист


  • Участник II
  • ПипПипПип
  • 380 сообщения
89

Добавлено 25 December 2014 - 10:38

Сообщенияbardmauzer, on 24 December 2014 - 22:29, сказал:

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

Сообщенияclerk, on 25 December 2014 - 04:41, сказал:

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

#82 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 25 December 2014 - 10:52

Сообщенияclerk, on 25 December 2014 - 04:41, сказал:

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

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

#83 ONLINE   denvb

    Специалист


  • Участник II
  • ПипПипПип
  • 380 сообщения
89

Добавлено 25 December 2014 - 11:00

Сообщенияbardmauzer, on 25 December 2014 - 10:52, сказал:

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

#84 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 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

    Новичок


  • Участник
  • Пип
  • 2 сообщения
0

Добавлено 03 March 2015 - 14:15

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

#86 ONLINE   clerk

    Специалист


  • Модератор
  • 552 сообщения
97

Добавлено 03 March 2015 - 16:35

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

#87 ONLINE   triggers

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


  • Участник II
  • ПипПипПипПип
  • 905 сообщения
161

Добавлено 03 March 2015 - 21:34

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

#88 OFFLINE   Bale

    Новичок


  • Участник
  • Пип
  • 2 сообщения
0

Добавлено 04 March 2015 - 00:17

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

#89 ONLINE   triggers

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


  • Участник II
  • ПипПипПипПип
  • 905 сообщения
161

Добавлено 04 March 2015 - 07:27

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

#90 ONLINE   clerk

    Специалист


  • Модератор
  • 552 сообщения
97

Добавлено 04 March 2015 - 17:48

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

#91 OFFLINE   koni

    Специалист


  • RSB
  • ПипПипПип
  • 192 сообщения
49

Добавлено 05 March 2015 - 18:36

СообщенияBale, on 04 March 2015 - 00:17, сказал:

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

#92 OFFLINE   AlexX

    Специалист


  • mp
  • 1102 сообщения
132

Добавлено 05 March 2015 - 20:49

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

#93 OFFLINE   PopanAlex

    Новичок


  • Участник
  • Пип
  • 29 сообщения
1

Добавлено 20 April 2015 - 10:20

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

#94 ONLINE   Артений

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


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

Добавлено 20 April 2015 - 23:16

СообщенияPopanAlex, on 20 April 2015 - 10:20, сказал:

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

#95 OFFLINE   PopanAlex

    Новичок


  • Участник
  • Пип
  • 29 сообщения
1

Добавлено 27 April 2015 - 12:57

СообщенияАртений, on 20 April 2015 - 23:16, сказал:

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

#96 OFFLINE   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 OFFLINE   Signal

    Новичок


  • Участник
  • Пип
  • 5 сообщения
0

Добавлено 26 May 2015 - 16:27

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

#98 OFFLINE   Signal

    Новичок


  • Участник
  • Пип
  • 5 сообщения
0

Добавлено 26 May 2015 - 18:52

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

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

#99 OFFLINE   Signal

    Новичок


  • Участник
  • Пип
  • 5 сообщения
0

Добавлено 27 May 2015 - 00:30

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

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

Отредактировано Signal, 27 May 2015 - 00:31.


#100 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 233 сообщения
4

Добавлено 03 August 2015 - 09:25

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