Начало работы

Сценарий использования API

1. Подключиться к WebSocket по адресу ws://api.oddscp.com:8005. Достаточно одного подключения для работы с любым количеством виртуальных машин.

2. Авторизоваться, отправив запрос с токеном авторизации.

{
  "auth_token": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
}

3. Зарезервировать виртуальную машину, отправив команду instance_reserve.

{
  "instance_reserve": {
    "connect_to_odds_feed": false,
    "vm_type": "WIN10_01"
  }
}

В ответ на запрос, получаем следующий JSON:

{
  "status": [
    2930,
    "SUCCESS",
    "INSTANCE_IS_RESERVED_SUCCESSFULLY"
  ],
  "session_id": "00000000000000000000000000000000"
}

Здесь нам нужно сохранить и использовать идентификатор сессии session_id.

4. Подключиться к виртуальной машине с помощью команды instance_connect.

{
  "instance_connect": {
    "session_id": "00000000000000000000000000000000"
  }
}

5. Запустить браузер с помощью команды start_browser.

{
  "session_id": "00000000000000000000000000000000",
  "body": {
    "cmd": "start_browser",
    "echo_mode": 1,
    "conf": [
      {
        "bk_id": "FON",
        "account": "login:password",
        "proxy": {
          "address": "212.192.56.86",
          "port": 49149,
          "protocol": "HTTPS"
        }
      }
    ]
  }
}

6. Совершать необходимые действия с помощью бота, используя команды бота. Например, командой doStake можно сделать ставку.

{
  "session_id": "00000000000000000000000000000000",
  "body": {
    "cmd": "doStake",
    "cmd_uuid": "00000000-0000-0000-0000-000000000000",
    "args": {
      "event": "https://www.fon.bet/sports/football/84512/37708829/",
      "bet_name": "WIN__P1",
      "amount": 30,
      "go_to_event": false
    }
  }
}

Как работать с данными с нашего сканера

1. Выполнить подключение к виртуальной машине как в пунктах 1-4 сценария использования API. Получить идентификатор сессии session_id.

2. Добавить подписку выполнив команду subscribe_to_feed.

{
  "session_id": "00000000000000000000000000000000",
  "body": {
    "cmd": "subscribe_to_feed",
    "args": {
      "subscription_name": "subscription_name",
      "main_bk_name": "fonbet",
      "bk2_names": "*",
      "sports": "*",
      "bet_types": "*",
      "income": [
        0,
        8
      ],
      "cf": [
        1,
        100
      ],
      "alive_sec": [
        0,
        10
      ],
      "is_middles": 0,
      "min_pause_for_doubles": 300,
      "data_view_mode": 1
    }
  }
}

3. Пример получаемых данных ODDS фида.

{
  "status": [
    1210,
    "INFO",
    "DATA_PIPELINE: 1075-6-1002-32-34-0-0-0-0-0-0-0 => 1 [elapsed 12.08ms+3.11ms=15.18ms]"
  ],
  "session_id": "00000000000000000000000000000000",
  "body": {
    "subscription_name": "subscription_name",
    "feed_data": [
      {
        "bet_data": "aA0bB1cC2dD3eE4fF5gG6hH7iI8jJ9kK0lL1mM2nN3oO4pP5qQ6rR7sS8tT9uU0vV1wW2xX3Yy4Z",
        "alive_sec": 0,
        "income": 1.36,
        "sport": "tennis",
        "bet_type": "HANDICAP",
        "is_middles": "0",
        "bk1_name": "fonbet",
        "bk2_name": "1xbet",
        "league_name": null,
        "event_name": [
          "452a2fd142c495e37410f1200f743af4"
        ],
        "base_score": "1:1",
        "score": null,
        "cf": 1.8,
        "cf_last_updated_ago": 6.2,
        "event_meta": "{\"start_market_count\":60,\"tv\":1,\"max_gain\":10005}",
        "bk_margin": 8.19,
        "event_has_bk_count": 37,
        "event_has_bk_ids": "MTH,PAC,FON,BTB,WLH,PDW,BOR,888,TNB,BVD,GSP,BWN,18B,NVB,EUB,EFB,CLB,CBG,BK8,OLP,XBT,SBI,COR,MXL,SPB,UNI,STX,IFO,BCT,B9J,ZEN,1WN,STY,LIG,TNC,WLN,BT3",
        "valuing_data": {
          "cfs": {
            "FON": {
              "cf1": 1.8,
              "cf2": 1.9,
              "cf1_last_updated_ago": 6.2,
              "cf2_last_updated_ago": 6.2,
              "event_score": "1:1",
              "margin": 8.19,
              "probability": 51.35
            },
            "MXL": {
              "cf1": 1.82,
              "cf2": 1.9,
              "cf1_last_updated_ago": 2.2,
              "cf2_last_updated_ago": 2.2,
              "event_score": "",
              "margin": 7.58,
              "probability": 51.08,
              "fork_income": -7.57,
              "pae": -8.46
            },
            "XBT": {
              "cf1": 1.565,
              "cf2": 2.32,
              "cf1_last_updated_ago": 5.6,
              "cf2_last_updated_ago": 5.6,
              "event_score": "1:1",
              "margin": 7,
              "probability": 59.72,
              "fork_income": 1.36,
              "pae": 0.18
            }
          },
          "summary": {
            "bk_count": 3,
            "bk_count_cf1": 3,
            "bk_count_cf2": 3,
            "bk_count_both": 3,
            "fork_income_avg": -3.1,
            "probability_avg": 54.05,
            "pae_avg": -4.14
          }
        }
      }
    ]
  }
}

Last updated