•         

- - - - -

Помогите с поиском новых матчей


#1   maxspeed

    Специалист


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

02 January 2015 - 21:59

Привет!
как реализовать на C# (API NG)
поиск новых матчей футбола
по определенным параметрам
Спасибо.

#2   pozitrone23

    ёпта


  • Участник II
  • 413
19
  • МестоположениеСаранск

03 January 2015 - 00:56

Ну через фильтры. Скачай pdf с их сайта, там найдешь описание фильтра к каждой функции. А вообще очень неподробный вопрос

#3   pozitrone23

    ёпта


  • Участник II
  • 413
19
  • МестоположениеСаранск

03 January 2015 - 01:27

Судя по вопросу, ты совсем новенький. Ну смотри, допустим ты этот pdf скачал, залил - vk.com/doc274855639_355516004, смотришь какие там запросы есть.
Допустим, listMarketBook. У него marketIds обязательно отсылать, priceProjection необязательно, но по не нему-то и фильтруется всё (будешь писать - поймёшь), а в качестве приёма у него List<MarketBook>. Вот в проге ты и пишешь запрос и приём на функцию.

Теперь пример (советую делать на VB.NET, т.к все быстрее будет в 2.5 раза):
Пишешь запрос, задаешь параметры

 2015-01-03 00-07-25 Скриншот экрана.png   20.45kb   3

Лично я прописывал типы параметров запроса/приёма через классы. Есть другой вариант, но для меня он запутаннее, этот проще)

 2015-01-03 00-07-41 Скриншот экрана.png   121.55kb   3

Другой вариант есть в примере на сайте бетфаира
Итак, написал запрос, пишем приём:

 2015-01-03 00-14-00 Скриншот экрана.png   55.42kb   2

Внизу api_response - неотформатированная строка JSONa, ёё надо засунуть в наши классы приёма и взять нужные данные. Пример функции GetOdds

 2015-01-03 00-17-51 Скриншот экрана.png   40.9kb   2

Готово! Всё.

Ясень пень нужно скачать NewtonsoftJSON 6 библиотеку и засунуть в проект и бот готов)))

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
	    BackgroundWorker1.WorkerReportsProgress = True
	    BackgroundWorker1.RunWorkerAsync()
    End Sub

Забыл про теги) извини)

Да не, без них нагляднее

Ну сориентировался немного?)) :)

#4   maxspeed

    Специалист


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

03 January 2015 - 09:50

спасибо за ответ
вопрос почему на vb.net будет быстрее чем на с#? начал уже проект на c# хотя познания мои что на с# что на vb.net одинаковые :)
я думал делать через listEvent запрос по определенным competitionId получать список матчей
потом через время еще запрос и сравнивать с предыдущим , только проблема в запросе появляются матчи типа : Друг против друга, или Winner 2014/2015
как эти ненужные события отсеивать

#5   clerk

    Специалист


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

03 January 2015 - 10:50

Я думаю, что отсеивать можно по наличию тех рынков, на которых вы собираетесь чего-то делать

#6   maxspeed

    Специалист


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

03 January 2015 - 11:08

меня интересует только тоталы
как таким образом отфильтровать нужные события?

#7   clerk

    Специалист


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

03 January 2015 - 11:33

прогоняете полученный листЭвент через цикл, где по каждому событию делаете запрос листМаркетКаталог. Если в полученном ответе содержатся ваши тоталы, событие открываете или еще чего делаете с ним

#8   maxspeed

    Специалист


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

03 January 2015 - 11:40

спасибо за мысль
а не трудно помочь с примером на c#?
я начинающий в программировании

#9   bardmauzer

    Специалист


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

03 January 2015 - 19:09

меня интересует только тоталы
как таким образом отфильтровать нужные события?

Я думаю тебе нужно заполнять переменную marketTypeCodes в фильтре (типа "MATCH_ODDS", "HALF_TIME_SCORE").Только я не знаю какие аргументы нужны для тоталов.

#10   bardmauzer

    Специалист


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

03 January 2015 - 19:20

Я думаю тебе нужно заполнять переменную marketTypeCodes в фильтре (типа "MATCH_ODDS", "HALF_TIME_SCORE").Только я не знаю какие аргументы нужны для тоталов.

Вот нашел пример ТБM1,5 - ТБM2,5 :

"filter": {
"eventTypeIds": [
"1"
],
"marketTypeCodes": [
"OVER_UNDER_15",
"OVER_UNDER_25"
]}

#11   maxspeed

    Специалист


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

03 January 2015 - 20:38

разве для listevents есть параметр marketfilter : marketTypeCodes?

я имею в виду что для того чтобы знать eventid для listmarketbook надо сначала через listevent
выбрать события
а для listevent marketfilter такого параметра не имеет markettypecodes

#12   bardmauzer

    Специалист


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

03 January 2015 - 21:39

разве для listevents есть параметр marketfilter : marketTypeCodes? я имею в виду что для того чтобы знать eventid для listmarketbook надо сначала через listevent выбрать события а для listevent marketfilter такого параметра не имеет markettypecodes

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

#13   maxspeed

    Специалист


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

03 January 2015 - 21:43

попробовал в visualizer не выдает ничего
может поможешь с примером как в цикле сначала выбрать listEvent
потом выбрать по eventId listMarketBook
на c#

#14   bardmauzer

    Специалист


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

04 January 2015 - 00:27

попробовал в visualizer не выдает ничего
может поможешь с примером как в цикле сначала выбрать listEvent
потом выбрать по eventId listMarketBook
на c#

Ты напиши как ты получаешь ответ на запрос,как десериализуешь и т.д.А народ уже тебе подскажет.Методов то много есть,но нужно увидеть,чем ты манипулируешь.

#15   bardmauzer

    Специалист


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

04 January 2015 - 02:06

попробовал в visualizer не выдает ничего
может поможешь с примером как в цикле сначала выбрать listEvent
потом выбрать по eventId listMarketBook
на c#

Короче,через listMarketCatalogue данный запрос проходит.Но только один рынок тотала.

{"filter":{"eventTypeIds":["1"],"marketTypeCodes":["OVER_UNDER_25"]},"maxResults":200,"marketProjection":["EVENT"]}

#16   maxspeed

    Специалист


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

04 January 2015 - 15:02

спасибо
вроде через visualizer проходит
теперь попробую реализовать в c#

#17   denvb

    Специалист


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

04 January 2015 - 15:25

Короче,через listMarketCatalogue данный запрос проходит.Но только один рынок тотала.

{"filter":{"eventTypeIds":["1"],"marketTypeCodes":["OVER_UNDER_25","OVER_UNDER_35","OVER_UNDER_55"]},"maxResults":200,"marketProjection":["EVENT"]}
здесь массив, поэтому запрашивайте хоть тоталов, хоть других рынков сколько хотите. Я не совсем понимаю исходную задачу, но если надо забрать все текущие тоталы, то это делается проще

#18   maxspeed

    Специалист


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

04 January 2015 - 15:38

задача искать новые матчи и делать ставки на тоталы как только рынок будет создан в betfair

#19   bardmauzer

    Специалист


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

04 January 2015 - 15:43

спасибо
вроде через visualizer проходит
теперь попробую реализовать в c#

Кстати в переменной textQuery фильтра,так же можно использовать "OVER_UNDER_25"

здесь массив, поэтому запрашивайте хоть тоталов, хоть других рынков сколько хотите. Я не совсем понимаю исходную задачу, но если надо забрать все текущие тоталы, то это делается проще

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

#20   maxspeed

    Специалист


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

04 January 2015 - 20:31

{"filter":{"eventTypeIds":["1"],"marketTypeCodes":["OVER_UNDER_25","OVER_UNDER_35","OVER_UNDER_55"]},"maxResults":200,"marketProjection":["EVENT"]}
помогите сформировать этот запрос как пример