Skip to content

Instantly share code, notes, and snippets.

View kgravenreuth's full-sized avatar

Klaus Gravenreuth kgravenreuth

View GitHub Profile
@kgravenreuth
kgravenreuth / README.md
Last active June 21, 2024 03:41
Cloudbet API Schemas

Cloudbet API schemas provide details about JSON objects returned within the Cloudbet API.

These schemas applies to the Cloudbet Feed API and Cloudbet Trading API

  1. sports.json : List of all sports available with the Cloudbet API
  2. categories.json : List of all categories of competitions available with the Cloudbet API
  3. markets.json: List of all markets available with the Cloudbet API

Special Note about handicap markets:

@kgravenreuth
kgravenreuth / cloudbet_api_fixtures.go
Created September 16, 2021 03:03
Cloudbet API Sports Fixtures in Go
import "github.com/Cloudbet/docs/go/cloudbet"
const eventURL = "https://sports-api.cloudbet.com/pub/v2/odds/events/%v"
// …
req, err := http.NewRequest("GET", fmt.Sprintf(eventURL, 123456), nil)
if err != nil {
return err
}
@kgravenreuth
kgravenreuth / cloudbet_api_odds.go
Last active April 8, 2022 09:19
Cloudbet API Sports Odds in Go
var markets []*bookmaker.Market
// traverse markets, e.g. soccer asian handicap
for marketKey, market := range event.GetMarkets() {
// traverse submarkets, e.g. soccer asian handicap ->
for submarketKey, submarket := range market.GetSubmarkets() {
// traverse selections, e.g. home team +0.5
for _, selection := range submarket.GetSelections() {
lineID := strings.TrimRight(fmt.Sprintf("%s/%s?%s", marketKey, selection.GetOutcome(), selection.GetParams()), "?")
fmt.Println("line id: %v", lineID)
fmt.Println("max bet: %v", selection.MaxStake)
@kgravenreuth
kgravenreuth / cloudbet_api_balances.go
Created September 16, 2021 03:10
Cloudbet API Account Balances in Go
req, err := http.NewRequest("GET", "https://sports-api.cloudbet.com/pub/v1/account/currencies", nil)
if err != nil {
return err
}
req.Header.Set("accept", "application/json")
req.Header.Set("X-API-Key", "eyJ...") // <-- use your API key
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
@kgravenreuth
kgravenreuth / cloudbet_api_currency_balance.go
Created September 16, 2021 03:11
Cloudbet API Balance for your currency in Go
client := &http.Client{}
req, err := http.NewRequest("GET", "https://sports-api.cloudbet.com/pub/v1/account/currencies/PLAY_EUR/balance", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("accept", "application/json")
req.Header.Set("X-API-Key", "eyJ...") // <-- use your API key
req.Header.Set("Content-Type", "application/json")
resp, err := client.Do(req)
@kgravenreuth
kgravenreuth / cloudbet_api_betting.go
Created September 16, 2021 03:13
Cloudbet Betting (Trading) API in Go
client := &http.Client{}
var data = []byte(`{{
"acceptPriceChange": "BETTER",
"currency": "PLAY_EUR",
"eventId": "7190563",
"marketUrl": "soccer.asian_handicap/home?handicap=0.5",
"price": "1.65",
"referenceId": "1891d3a0-0af8-11ec-b536-11ca86b8c5a4",
"stake": "1.1"
}}`)
@kgravenreuth
kgravenreuth / cloudbet_api_bet_status.go
Created September 16, 2021 03:15
Cloudbet API Bet Status in Go
client := &http.Client{}
req, err := http.NewRequest("GET", "https://sports-api.cloudbet.com/pub/v3/bets/1891d3a0-0af8-11ec-b536-11ca86b8c5a4/status", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("accept", "application/json")
req.Header.Set("X-API-Key", "eyJ...") // <-- use your API key
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
@kgravenreuth
kgravenreuth / cloudbet_api_bet_history.go
Created September 16, 2021 03:16
Cloudbet API Bet History in Go
client := &http.Client{}
req, err := http.NewRequest("GET", "https://sports-api.cloudbet.com/pub/v3/bets/history?limit=5&offset=0", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("accept", "application/json")
req.Header.Set("X-API-Key", "eyJ...") // <-- use your API key
resp, err := client.Do(req)
if err != nil {
@kgravenreuth
kgravenreuth / cloudbet_market_helper_sports_dropdown.js
Created January 5, 2022 06:01
Cloudbet Odds Comparison Sports Dropdown
//App.js
import "./styles.css";
import React from "react";
const sports = ["soccer", "basketball", "american-football"];
export default function App() {
const [apiKey, setApiKey] = React.useState("");
const [sport, setSport] = React.useState(sports[0]);
return (
<div className="App">
@kgravenreuth
kgravenreuth / cloudbet_market_helper_sports_names_dropdown.js
Created January 5, 2022 06:06
Odds Comparison with Sports from Cloudbet Market Helper
//App.js
import "./styles.css";
import React from "react";
import { Locale, getSportsName } from "@cloudbet/market-helper";
const sports = ["soccer", "basketball", "american-football"];
export default function App() {
const [sport, setSport] = React.useState(sports[0]);
return (
<div className="App">
<div>