Numbers API
Numbers APIv2.0
The William Hill Numbers API uses a single method that allows you to generate random numbers for your application. Numbers can either be unique or can be produced with the chance that some might be the same. For example, you can have a highest value of 6 and a lowest value of 1 with a count of 2 with a unique value of false - this will give you two numbers between 1 and 6 which are independent, just like two dice being rolled. The Numbers API is a Private API and therefore not automatically available to developers. To use this API, contact your business manager who will guide you through the…
- Endpoints
- 1 (1 GET)
- Base URL
https://sandbox.whapi.com/v2/numbers- Authentication
- Not specified in spec
- Spec format
- Swagger 2.0
- API version
- 2.0
- Provider
- whapi.com
- License
- William Hill Online
- Categories
- Entertainment
- Last updated
Use this API in Bruno:
- Download the Bruno collection above and unzip it.
- In Bruno, choose Open Collection and select the unzipped folder.
- Set the
baseUrlvariable (for examplehttps://sandbox.whapi.com/v2/numbers), then send requests.
GET
getRandomNumbers
{{baseUrl}}/generate/integers
HEADERS
apiKey
apiSecret
QUERY PARAMS
gameCode
highest
lowest
count
unique
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "apikey: ");
headers = curl_slist_append(headers, "apisecret: ");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/generate/integers" {:headers {:apikey ""
:apisecret ""}
:query-params {:gameCode ""
:highest ""
:lowest ""
:count ""
:unique ""}})
require "http/client"
url = "{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique="
headers = HTTP::Headers{
"apikey" => ""
"apisecret" => ""
}
response = HTTP::Client.get url, headers: headers
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique="),
Headers =
{
{ "apikey", "" },
{ "apisecret", "" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=");
var request = new RestRequest("", Method.Get);
request.AddHeader("apikey", "");
request.AddHeader("apisecret", "");
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique="
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("apikey", "")
req.Header.Add("apisecret", "")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/generate/integers?gameCode=&highest=&lowest=&count=&unique= HTTP/1.1
Apikey:
Apisecret:
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=")
.setHeader("apikey", "")
.setHeader("apisecret", "")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique="))
.header("apikey", "")
.header("apisecret", "")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=")
.get()
.addHeader("apikey", "")
.addHeader("apisecret", "")
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=")
.header("apikey", "")
.header("apisecret", "")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=');
xhr.setRequestHeader('apikey', '');
xhr.setRequestHeader('apisecret', '');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/generate/integers',
params: {gameCode: '', highest: '', lowest: '', count: '', unique: ''},
headers: {apikey: '', apisecret: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=';
const options = {method: 'GET', headers: {apikey: '', apisecret: ''}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=',
method: 'GET',
headers: {
apikey: '',
apisecret: ''
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=")
.get()
.addHeader("apikey", "")
.addHeader("apisecret", "")
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/generate/integers?gameCode=&highest=&lowest=&count=&unique=',
headers: {
apikey: '',
apisecret: ''
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/generate/integers',
qs: {gameCode: '', highest: '', lowest: '', count: '', unique: ''},
headers: {apikey: '', apisecret: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/generate/integers');
req.query({
gameCode: '',
highest: '',
lowest: '',
count: '',
unique: ''
});
req.headers({
apikey: '',
apisecret: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/generate/integers',
params: {gameCode: '', highest: '', lowest: '', count: '', unique: ''},
headers: {apikey: '', apisecret: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=';
const options = {method: 'GET', headers: {apikey: '', apisecret: ''}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSDictionary *headers = @{ @"apikey": @"",
@"apisecret": @"" };
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
[request setAllHTTPHeaderFields:headers];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=" in
let headers = Header.add_list (Header.init ()) [
("apikey", "");
("apisecret", "");
] in
Client.call ~headers `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"apikey: ",
"apisecret: "
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=', [
'headers' => [
'apikey' => '',
'apisecret' => '',
],
]);
echo $response->getBody();
setUrl('{{baseUrl}}/generate/integers');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'gameCode' => '',
'highest' => '',
'lowest' => '',
'count' => '',
'unique' => ''
]);
$request->setHeaders([
'apikey' => '',
'apisecret' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/generate/integers');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'gameCode' => '',
'highest' => '',
'lowest' => '',
'count' => '',
'unique' => ''
]));
$request->setHeaders([
'apikey' => '',
'apisecret' => ''
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$headers=@{}
$headers.Add("apikey", "")
$headers.Add("apisecret", "")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=' -Method GET -Headers $headers
$headers=@{}
$headers.Add("apikey", "")
$headers.Add("apisecret", "")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=' -Method GET -Headers $headers
import http.client
conn = http.client.HTTPSConnection("example.com")
headers = {
'apikey': "",
'apisecret': ""
}
conn.request("GET", "/baseUrl/generate/integers?gameCode=&highest=&lowest=&count=&unique=", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/generate/integers"
querystring = {"gameCode":"","highest":"","lowest":"","count":"","unique":""}
headers = {
"apikey": "",
"apisecret": ""
}
response = requests.get(url, headers=headers, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/generate/integers"
queryString <- list(
gameCode = "",
highest = "",
lowest = "",
count = "",
unique = ""
)
response <- VERB("GET", url, query = queryString, add_headers('apikey' = '', 'apisecret' = ''), content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["apikey"] = ''
request["apisecret"] = ''
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/generate/integers') do |req|
req.headers['apikey'] = ''
req.headers['apisecret'] = ''
req.params['gameCode'] = ''
req.params['highest'] = ''
req.params['lowest'] = ''
req.params['count'] = ''
req.params['unique'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/generate/integers";
let querystring = [
("gameCode", ""),
("highest", ""),
("lowest", ""),
("count", ""),
("unique", ""),
];
let mut headers = reqwest::header::HeaderMap::new();
headers.insert("apikey", "".parse().unwrap());
headers.insert("apisecret", "".parse().unwrap());
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.headers(headers)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=' \
--header 'apikey: ' \
--header 'apisecret: '
http GET '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=' \
apikey:'' \
apisecret:''
wget --quiet \
--method GET \
--header 'apikey: ' \
--header 'apisecret: ' \
--output-document \
- '{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique='
import Foundation
let headers = [
"apikey": "",
"apisecret": ""
]
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/generate/integers?gameCode=&highest=&lowest=&count=&unique=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()