Get matched (ungraded) bets
curl --request GET \
--url https://api.4casters.io/user/getMatchedBets \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.4casters.io/user/getMatchedBets"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.4casters.io/user/getMatchedBets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.4casters.io/user/getMatchedBets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.4casters.io/user/getMatchedBets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.4casters.io/user/getMatchedBets")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.4casters.io/user/getMatchedBets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"matchedBets": [
{
"id": "<string>",
"txID": "<string>",
"type": "moneyline",
"bet": 123,
"odds": 123,
"spread": 123,
"total": 123,
"OU": "over",
"participantID": "<string>",
"market": "<string>",
"side": "<string>",
"userReference": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"matchedTime": "2023-11-07T05:31:56Z",
"graded": true,
"closed": true,
"origin": "<string>",
"adminRefund": true,
"risk": "<string>",
"win": "<string>",
"game": {
"id": "<string>",
"league": "<string>",
"sport": "<string>",
"start": "2023-11-07T05:31:56Z",
"ended": true,
"eventName": "<string>",
"isFutures": true,
"participants": [
{
"id": "<string>",
"longName": "<string>",
"shortName": "<string>",
"homeAway": "home",
"mainPitcher": "<string>",
"rotationNumber": "<string>",
"futuresSide": "<string>",
"score": 123
}
]
}
}
]
}
}Usuario
Obtener apuestas cruzadas
Lista apuestas que están cruzadas pero aún no liquidadas
GET
/
user
/
getMatchedBets
Get matched (ungraded) bets
curl --request GET \
--url https://api.4casters.io/user/getMatchedBets \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.4casters.io/user/getMatchedBets"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.4casters.io/user/getMatchedBets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.4casters.io/user/getMatchedBets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.4casters.io/user/getMatchedBets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.4casters.io/user/getMatchedBets")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.4casters.io/user/getMatchedBets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"matchedBets": [
{
"id": "<string>",
"txID": "<string>",
"type": "moneyline",
"bet": 123,
"odds": 123,
"spread": 123,
"total": 123,
"OU": "over",
"participantID": "<string>",
"market": "<string>",
"side": "<string>",
"userReference": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"matchedTime": "2023-11-07T05:31:56Z",
"graded": true,
"closed": true,
"origin": "<string>",
"adminRefund": true,
"risk": "<string>",
"win": "<string>",
"game": {
"id": "<string>",
"league": "<string>",
"sport": "<string>",
"start": "2023-11-07T05:31:56Z",
"ended": true,
"eventName": "<string>",
"isFutures": true,
"participants": [
{
"id": "<string>",
"longName": "<string>",
"shortName": "<string>",
"homeAway": "home",
"mainPitcher": "<string>",
"rotationNumber": "<string>",
"futuresSide": "<string>",
"score": 123
}
]
}
}
]
}
}Devuelve todas las apuestas de la cuenta autenticada que han sido cruzadas pero aún no liquidadas: es decir, posiciones abiertas en juegos que aún no se han liquidado.
Solicitud
GET /user/getMatchedBets
No recibe parámetros.
curl https://api.4casters.io/user/getMatchedBets \
-H "Authorization: Bearer YOUR_TOKEN"
Respuesta
array
Array de apuestas cruzadas, ordenadas de forma ascendente por hora de inicio del juego.
Mostrar MatchedBet
Mostrar MatchedBet
string
Id de la apuesta.
string
Id de transacción del cruce.
string
moneyline, spread, total o moneyline1x2.number
Tamaño original de la apuesta.
integer
Cuotas americanas en el momento del cruce.
number
Presente en
spread.number
Presente en
total.string
over o under. Presente en total.string
Presente en
moneyline y spread.string
Presente en
moneyline1x2.string
En
moneyline1x2 — yes o no.string
Identificador opcional definido por el cliente, pasado en el momento de colocación.
string
Marca de tiempo ISO 8601.
string
Marca de tiempo ISO 8601 en que ocurrió el cruce.
string
offer (tú publicaste, el taker te cruzó) o wager (tomaste liquidez en espera).string
Riesgo de la porción cruzada (formateado como cadena, 2 decimales). Incluye la comisión que pagarías en una pérdida.
string
Importe de ganancia neto de la comisión que pagarías en una ganancia. No hay un campo
fee separado en las apuestas cruzadas: la comisión se cobra al liquidar y solo aparece en las apuestas liquidadas; hasta entonces se refleja en risk/win.boolean
Siempre
false aquí.boolean
Si la apuesta ha sido cerrada por una acción de administrador.
boolean
Si un administrador reembolsó la apuesta.
Ejemplo
{
"data": {
"matchedBets": [
{
"id": "67f45377c18c6697c172afa4",
"txID": "67f45377c18c6697c172afa3",
"type": "moneyline",
"bet": 50,
"odds": -185,
"participantID": "5d48bd5198366d41ec7238da",
"userReference": "my-ref-123",
"createdAt": "2025-09-24T19:30:59.482Z",
"matchedTime": "2025-09-24T19:30:59.482Z",
"origin": "wager",
"risk": "50.27",
"win": "27.16",
"graded": false,
"closed": false,
"adminRefund": false,
"game": {
"id": "688c0516fbc14da0c202d426",
"league": "NBA",
"sport": "basketball",
"start": "2025-09-25T00:10:00.000Z",
"ended": false,
"eventName": "TORONTO RAPTORS VS PHILADELPHIA 76ERS",
"isFutures": false,
"participants": [/* ... */]
}
}
]
}
}
¿Esta página le ayudó?