Skip to main content
/api/settlement?event_id=… renvoie le score final, le statut, et le settlement par ligne.

Outcomes

Chaque ligne du settlement porte outcome_home, outcome_draw, outcome_away :
Le settlement couvre toutes les périodes cotées — match entier, mi-temps, quart-temps, set — dès que le score de la période est connu. Chaque ligne porte sa period. Une période dont le score reste inconnu ne produit aucune ligne plutôt qu’un verdict approché : la couverture mesurée est de 87 % des couples (event, période), 97 % au football, 73 % au tennis dont les périodes sont des jeux. Tant que le match n’est pas réglé, settlement est vide et status reflète l’état courant (started, pending) ; il passe à ended au règlement.

Quarts de ligne

Une ligne en .25 ou .75 n’est pas une ligne mais deux paris d’un demi-enjeu, posés à line ± 0.25. Sur un handicap -0.25 avec match nul, la moitié posée sur 0 est remboursée et la moitié posée sur -0.5 est perdue : le verdict est half_loss, pas loss. Les deux moitiés ne peuvent jamais se contredire — elles sont distantes de 0,5 et la marge d’un quart de ligne ne vaut jamais zéro. Seules existent la demi-victoire et la demi-perte.

Résultats par période

/api/results?event_id=… est une route distincte, au format iso‑BIC : elle renvoie un tableau, un objet par période réglée. Sur les sports à sets, chaque set et chaque jeu est un résultat binaire (1‑0 / 0‑1) ; la période 0 porte le compte de sets.
Couverture actuelle : les sports à sets (tennis, volley, tennis de table…). Sur les sports à score continu — football, basket, baseball — Pinnacle ne publie pas de règlement par période dans le flux temps réel, et /api/results renvoie un tableau vide. Pour ces sports, utilisez /api/settlement.

Découvrir les matchs réglés

/api/settled?since=… parcourt les matchs réglés de façon incrémentale : chaque réponse porte un curseur last à repasser au prochain appel. C’est le seul moyen de découvrir un règlement. Un match réglé a quitté le book — c’est sa disparition qui déclenche le règlement — il n’apparaît donc plus dans /api/fixtures, même avec live=2. Sans ce parcours, il faudrait avoir mémorisé l’event_id avant la fin du match.
La comparaison sur since est inclusive : le dernier événement d’une page peut réapparaître en tête de la suivante. Plusieurs matchs peuvent partager la seconde de règlement, et en perdre un serait pire que le renvoyer deux fois — dédoublonnez sur event_id. Filtres disponibles : sport_id, league_id, limit (1 à 1000, défaut 200).

Backtesting

La combinaison historique chronologique + ouverture/clôture + true odds + settlement permet de backtester des stratégies : reconstruire les cotes à tout instant, mesurer le CLV et vérifier le résultat.